‹ Reports
The Dispatch

Microsoft Semantic Kernel Development Focuses on Enhancements and Bug Fixes Amid Active Community Engagement

Microsoft's Semantic Kernel, an SDK for integrating Large Language Models (LLMs) into applications, continues to advance with a focus on enhancing functionality and resolving bugs. The project supports multiple languages, including C#, Python, and Java, enabling sophisticated AI interactions.

Recent Activity

Recent issues and pull requests indicate a strong emphasis on improving function calling capabilities and addressing bugs related to API interactions. Notable activities include enhancements in streaming support and telemetry improvements, reflecting a commitment to quality and user satisfaction.

Development Team Activities

  1. Roger Barreto: Implemented Ollama connector features and Azure AI Inference updates.
  2. Sergey Menshykh: Enhanced streaming support and fixed integration test bugs.
  3. Dmytro Struk: Managed package updates and refactored code for maintainability.
  4. Evan Mattson: Worked on Python updates and telemetry support enhancements.
  5. Westey: Developed generic data models for Redis and Qdrant.
  6. Chris (crickman): Improved agent functionality and sample applications.
  7. Tao Chen: Enhanced AI connector functionalities and documentation.

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 37 24 46 2 1
14 Days 71 37 90 2 1
30 Days 123 70 175 3 1
All Time 3043 2559 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Chris 1 4/2/1 6 371 35064
Roger Barreto 3 15/13/1 14 316 31104
Eduard van Valkenburg 2 8/7/0 9 82 16453
Dmytro Struk 3 16/16/0 16 128 10653
SergeyMenshykh 3 26/24/1 15 104 9456
Tao Chen 1 9/7/1 9 70 6741
westey 2 20/18/0 12 60 4294
Eirik Tsarpalis 1 0/0/0 1 10 3194
Mark Wallace 2 30/19/8 8 61 1686
Evan Mattson 3 20/18/0 21 72 1477
Nico Möller 1 1/1/0 2 12 683
Caleb Kiage 1 0/0/0 1 6 316
dependabot[bot] 7 29/19/4 29 4 312
Krzysztof Kasprowicz (Krzysztof318) 1 3/1/0 1 10 292
Kevin Pilch 1 1/1/0 1 6 272
Artur Kordowski 1 1/1/0 1 3 256
ふぁー 1 1/1/0 2 6 194
Andrew Desousa 1 1/1/0 2 2 144
Tyler Kendrick 1 1/1/0 1 5 126
Marcelo Garcia 1 1/1/0 1 4 112
gparmigiani 1 0/0/0 1 1 86
Atiqur Rahman Foyshal 1 1/0/0 2 4 74
Andrew Hesky 1 1/1/0 1 2 66
Franklin Guimaraes 1 1/1/0 1 2 56
Kind Jeff 1 0/0/0 1 1 2
Hiroshi Yoshioka 1 0/0/0 1 1 2
Dr. Artificial曾小健 1 0/0/0 1 1 2
Niladri Dutta 1 1/1/0 1 1 2
Jose Luis Latorre Millas (joslat) 0 1/0/0 0 0 0
None (itsheng) 0 1/0/1 0 0 0
None (ebCrypto) 0 1/0/0 0 0 0
None (josephwnv) 0 1/0/0 0 0 0
Niels Swimberghe (Swimburger) 0 2/0/1 0 0 0
Sandro Hanea (sandrohanea) 0 1/0/0 0 0 0
Babatunde L. Afolabi (Mclawrenceco) 0 1/0/0 0 0 0
Anthony Puppo (anthonypuppo) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Microsoft Semantic Kernel GitHub repository has seen a surge of activity, with 484 open issues currently logged. Recent contributions include a mix of bug reports, feature requests, and enhancements, indicating a vibrant development environment. Notably, several issues pertain to the integration of new features and improvements in AI model interactions, particularly with OpenAI and Azure services.

Several themes emerge from the recent issues: 1. Function Calling Enhancements: Many discussions revolve around improving function calling capabilities, particularly in relation to streaming responses and handling complex data types. 2. Bug Fixes: A significant number of issues report bugs related to API calls, indicating potential instability or inconsistencies in the SDK's interaction with AI models. 3. Documentation and Examples: There is an ongoing effort to enhance documentation and provide clearer examples for users, especially regarding new features and changes in functionality.

Issue Details

Most Recently Created Issues

  1. Issue #8903: .Net: New Feature: C# Jinja PromptTemplateFactory

    • Priority: Feature Request
    • Status: Open
    • Created: 1 day ago
  2. Issue #8888: .Net: Ollama StreamingChatMessageContent is missing FinishReason in the last message

    • Priority: Bug
    • Status: Open
    • Created: 1 day ago
  3. Issue #8840: .Net: Sample to show how to provide different functions

    • Priority: Feature Request
    • Status: Open
    • Created: 2 days ago
  4. Issue #8825: Bug: Agent streaming duplicates message when IAutoFunctionInvocationFilter uses Terminate

    • Priority: Bug
    • Status: Open
    • Created: 3 days ago
  5. Issue #8715: .Net: New Feature: Support additional properties available in RunCreationOptions via OpenAIAssistantInvocationOptions

    • Priority: Feature Request
    • Status: Open
    • Created: 6 days ago

Most Recently Updated Issues

  1. Issue #8658: .Net: AzureOpenAI/OpenAI connector v1.18.2 missing MemoryBuilder extensions methods

    • Priority: Bug
    • Status: Closed
    • Last Updated: 1 day ago
  2. Issue #8652: .Net: Inconsistent StopSequences Properties in PromptExecutionSettings classes

    • Priority: Bug
    • Status: Closed
    • Last Updated: 6 days ago
  3. Issue #8629: .Net: AzureOpenAIChatCompletionFunctionCallingTests.ItShouldSupportOldFunctionCallingModelSerializedIntoChatHistoryByPreviousVersionOfSKAsync tests fail intermittently

    • Priority: Bug
    • Status: Closed
    • Last Updated: 10 days ago
  4. Issue #8619: .Net Bug when using plugins with AzureSearchChatExtensionConfiguration

    • Priority: Bug
    • Status: Closed
    • Last Updated: 10 days ago
  5. Issue #8607: Python Agents support for Chat History Management

    • Priority: Enhancement
    • Status: Closed
    • Last Updated: 11 days ago

Analysis of Notable Issues

  • The recent focus on enhancing function calling capabilities highlights an ongoing effort to improve the SDK's usability and flexibility when interacting with various AI models.
  • The presence of multiple bugs related to API calls suggests that while the SDK is robust, there may be underlying issues that need addressing to ensure stable performance.
  • The push for better documentation reflects a commitment to user experience, ensuring that developers can effectively utilize the SDK without confusion.

Overall, the activity within the Microsoft Semantic Kernel repository indicates a proactive approach to both feature enhancement and bug resolution, fostering a community-driven development process that aims for high-quality software delivery.

Report On: Fetch pull requests



Overview

The analysis of the provided pull request data from the Microsoft Semantic Kernel project reveals a dynamic and active development environment. The project is focused on enhancing its capabilities in integrating Large Language Models (LLMs) through various programming languages, primarily C#, Python, and Java. Recent pull requests indicate a strong emphasis on improving functionality, addressing bugs, and expanding features related to vector search, function calling, and integration with Azure services.

Summary of Pull Requests

  1. PR #8912: Fixes an issue with Azure API key checks in Python, ensuring proper authentication handling.
  2. PR #8911: Changes the default behavior of Redis hashset vector store to prefix collection names to keys by default, aligning with expected behavior.
  3. PR #8907: Introduces support for overriding connector model IDs based on execution settings, enhancing flexibility in model usage.
  4. PR #8905: Updates integration tests to utilize Azure CLI credentials, improving test reliability and security.
  5. PR #8904: Adds support for filter and offset parameters in Azure CosmosDB for MongoDB vector search, expanding search capabilities.
  6. PR #8901: Supports polymorphic serialization of ChatMessageContent class and its derivatives, improving serialization flexibility.
  7. PR #8889: Implements vector search for Azure CosmosDB for MongoDB, integrating new search functionalities into existing connectors.
  8. PR #8886: Creates a sample demonstrating how to render chat history to a prompt and invoke it, aiding in understanding function calling mechanisms.
  9. PR #8829: Updates dependencies like Microsoft.OpenApi.Readers and Grpc.Net.Client, ensuring the project uses the latest stable libraries.

Analysis of Pull Requests

Themes and Commonalities

  • Enhancements and New Features: Several pull requests focus on adding new features or enhancing existing ones, such as vector search capabilities across different storage solutions (e.g., Azure CosmosDB for MongoDB) and supporting advanced search parameters (filter and offset).
  • Flexibility and Configuration Options: There's a noticeable trend towards increasing flexibility in how developers can configure and use the SDK. For instance, allowing overrides of model IDs based on execution settings or enabling the use of generic data models without predefined schemas.
  • Integration with Azure Services: Many recent changes improve integration with Azure services, reflecting Microsoft's focus on cloud-based AI solutions. This includes enhancements in authentication mechanisms (e.g., using DefaultAzureCredential) and expanding the functionality of Azure-related connectors.

Notable Anomalies

  • The project has a high volume of pull requests related to dependency updates (Microsoft.OpenApi.Readers, Grpc.Net.Client), indicating active maintenance efforts to keep up with external library changes.
  • There's an ongoing effort to refine and optimize existing functionalities, as seen in pull requests addressing bug fixes or performance improvements (e.g., optimizing HTTP calls in Redis vector search).

Lack of Recent Merge Activity

While there is a significant number of open pull requests addressing various enhancements and features, some are still in draft status or have not been merged yet (e.g., PR #8840). This could indicate either a thorough review process or potential bottlenecks in merging due to ongoing discussions about design choices or implementation details.

Conclusion

The Microsoft Semantic Kernel project is actively evolving with a clear focus on enhancing its capabilities in AI integration through robust features like vector search and flexible configuration options. The development team is responsive to community feedback, as evidenced by quick iterations on features like function calling and improvements in Azure service integrations. However, there is room for improvement in streamlining the merge process to expedite the availability of new features and enhancements to users.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members

  • Roger Barreto

    • Worked on multiple features including the Ollama connector and Azure AI Inference.
    • Collaborated with various team members on integration tests and bug fixes.
  • Sergey Menshykh

    • Focused on fixing integration tests, enhancing error handling, and improving performance.
    • Contributed to the introduction of streaming support for agents.
  • Dmytro Struk

    • Contributed to multiple updates including package version bumps and connector implementations.
    • Involved in refactoring efforts for better organization and maintainability.
  • Evan Mattson

    • Engaged in various Python updates, including version bumps and bug fixes.
    • Worked on enhancing telemetry support across AI services.
  • Westey

    • Implemented generic data models for Redis and Qdrant.
    • Addressed issues related to record mapping in Azure CosmosDB.
  • Chris (crickman)

    • Added new features for agent functionality and contributed to sample applications.
    • Worked on improving the overall architecture of the agent framework.
  • Tao Chen

    • Focused on enhancing AI connector functionalities and improving documentation.
    • Contributed to telemetry instrumentation for observability.

Recent Activities

  1. Ollama Connector Implementation:

    • Roger Barreto added support for the Ollama connector, implementing chat completion and embedding functionalities. This involved extensive testing and collaboration with other team members.
  2. Azure AI Inference Updates:

    • Roger Barreto also worked on integrating Azure AI Inference capabilities, introducing new samples and documentation to assist users in leveraging this functionality.
  3. Streaming Support Enhancements:

    • Sergey Menshykh introduced streaming capabilities for the OpenAIAssistantAgent, allowing for more dynamic interactions within agent chats. This included extensive testing to ensure reliability.
  4. Bug Fixes:

    • Multiple team members, including Sergey Menshykh and Evan Mattson, addressed various bugs across integrations, particularly focusing on function calling behaviors and chat history management.
  5. Telemetry Improvements:

    • Tao Chen enhanced telemetry support across different AI connectors, ensuring better observability for developers using the SDK.
  6. Generic Data Models:

    • Westey implemented generic data models for Redis and Qdrant, facilitating easier integration with existing systems without requiring custom data types.
  7. Version Bumps and Dependency Management:

    • Dmytro Struk and others have been actively managing dependencies, ensuring that the project remains up-to-date with the latest libraries and frameworks.
  8. Documentation Updates:

    • The team has been focusing on improving documentation, including README files for samples and demos to enhance user experience.

Patterns & Themes

  • Collaboration: There is a strong emphasis on teamwork, with multiple co-authored commits indicating collaborative efforts across various features and bug fixes.
  • Continuous Improvement: The team is actively addressing bugs while simultaneously enhancing existing features, showcasing a commitment to quality and user satisfaction.
  • Focus on Extensibility: Recent activities highlight a trend towards making the SDK more extensible through generic models and improved plugin architecture.
  • Community Engagement: The project encourages contributions from the community, as evidenced by numerous co-authored commits and discussions around feature proposals.

Conclusions

The development team is highly active, demonstrating a robust approach to feature enhancement, bug fixing, and community engagement. Their collaborative efforts are evident in the recent commits, which reflect a commitment to delivering a high-quality SDK that meets user needs effectively.