The Microsoft Semantic Kernel project, aimed at integrating Large Language Models (LLMs) into applications using languages like C#, Python, and Java, has been actively developed with a focus on enhancing agent functionalities and integrating new AI models. However, recent issues highlight challenges with function calling and execution, particularly in parallel contexts.
Recent issues and pull requests (PRs) indicate a focus on improving agent capabilities and memory management. Notable issues include #8292, which reports bugs in Python's GPT4o function calling, and #8276, which describes problems with parallel execution in .NET. These issues suggest a need for better error handling and logging mechanisms. The development team is actively working on enhancements across both Python and .NET components, with Evan Mattson leading efforts on agent chat functionalities and Eduard van Valkenburg improving memory connectors. Other team members like Sergey Menshykh and Tao Chen are enhancing OpenAPI parameter mapping and integrating new AI models.
AgentChat
.This analysis underscores the project's dynamic development environment while highlighting areas needing attention to ensure robust functionality and user satisfaction.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Roger Barreto | 7 | 26/23/0 | 28 | 616 | 208070 | |
John Oliver | 2 | 4/3/0 | 3 | 323 | 79647 | |
westey | 2 | 22/20/0 | 23 | 138 | 24790 | |
Chris | 7 | 12/7/1 | 33 | 220 | 15693 | |
Eduard van Valkenburg | 1 | 14/12/0 | 8 | 157 | 11868 | |
Evan Mattson | 1 | 14/14/0 | 16 | 125 | 11687 | |
Charlize Yeh (charlizeyeh) | 1 | 1/1/0 | 1 | 65 | 7889 | |
Tao Chen | 1 | 6/5/0 | 5 | 56 | 7735 | |
SergeyMenshykh | 3 | 10/9/1 | 9 | 51 | 4409 | |
Krzysztof Kasprowicz | 1 | 0/0/0 | 1 | 44 | 3437 | |
Maurycy Markowski | 1 | 0/0/0 | 1 | 30 | 2120 | |
Andrew Desousa | 1 | 2/1/0 | 1 | 15 | 902 | |
Mark Wallace | 1 | 14/10/2 | 12 | 14 | 731 | |
Gil LaHaye | 1 | 0/0/0 | 1 | 31 | 723 | |
dependabot[bot] | 2 | 32/18/13 | 24 | 7 | 626 | |
feiyun0112 | 1 | 0/0/0 | 1 | 8 | 517 | |
Nico Möller | 1 | 3/0/1 | 1 | 8 | 361 | |
Caleb Kiage | 1 | 1/1/0 | 1 | 6 | 316 | |
Dmytro Struk | 3 | 9/7/0 | 5 | 24 | 300 | |
Nir Schleyen | 1 | 1/1/0 | 1 | 5 | 76 | |
Sophia Lagerkrans-Pandey | 1 | 2/0/0 | 1 | 1 | 49 | |
Chris Vaisnor | 1 | 1/1/0 | 1 | 6 | 42 | |
Babatunde L. Afolabi | 1 | 1/1/0 | 1 | 1 | 36 | |
Davide Mauri | 1 | 1/1/0 | 1 | 1 | 2 | |
Eirik Tsarpalis | 1 | 2/1/0 | 1 | 1 | 2 | |
token | 1 | 1/1/0 | 1 | 1 | 1 | |
Kind Jeff (sljeff) | 0 | 1/0/0 | 0 | 0 | 0 | |
Afshin Mehrabani (afshinm) | 0 | 1/0/1 | 0 | 0 | 0 | |
gparmigiani (jkone27) | 0 | 1/0/0 | 0 | 0 | 0 | |
Matthew Niculae (MattNic2) | 0 | 1/0/0 | 0 | 0 | 0 | |
Abhi (aghimir3) | 0 | 1/0/1 | 0 | 0 | 0 | |
David Grieve (dsgrieve) | 0 | 1/0/1 | 0 | 0 | 0 | |
Hao Luo (howlowck) | 0 | 1/0/0 | 0 | 0 | 0 | |
Bryan (Bryan-Roe) | 0 | 4/0/4 | 0 | 0 | 0 | |
Atiqur Rahman Foyshal (atiq-bs23) | 0 | 5/0/0 | 0 | 0 | 0 | |
Hakeem Abbas (hakeemsyd) | 0 | 1/0/0 | 0 | 0 | 0 | |
ふぁー (ymuichiro) | 0 | 1/0/0 | 0 | 0 | 0 | |
Aayush Kataria (aayush3011) | 0 | 1/0/0 | 0 | 0 | 0 | |
Stephen Toub (stephentoub) | 0 | 1/0/0 | 0 | 0 | 0 | |
zhikaiwang (FriedChickenOnTheWay) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 38 | 24 | 16 | 0 | 1 |
14 Days | 64 | 38 | 42 | 0 | 1 |
30 Days | 133 | 74 | 97 | 3 | 1 |
All Time | 2923 | 2432 | - | - | - |
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.
The Microsoft Semantic Kernel project has seen significant recent activity, with a total of 491 open issues. The latest issues highlight ongoing challenges and enhancements related to various programming languages (C#, Python, Java) and integrations with AI models. Notably, there are several bugs and feature requests focusing on function calling, plugin behavior, and integration with Azure OpenAI services.
A recurring theme in the recent issues is the handling of function calls and their interactions with the chat history, particularly concerning how responses are generated and managed. There are also discussions around improving the user experience by refining how plugins are invoked and how results are returned.
Issue #8292: Python: GPT4o function calling occasionally buggy?
Issue #8285: Python: Instrument kernel functions: traces, logs and metrics
Issue #8276: .Net: Bug: Running ExecutePlanner in parallel leads to no answers generated
Issue #8273: .Net: VectorStore: Add a Volatile Vector Search implementation
Issue #8272: .Net: VectorStore: Add Redis Vector Search implementation
Issue #8276: .Net: Bug: Running ExecutePlanner in parallel leads to no answers generated
Issue #8255: Bug: Handlebars planner fails to create plan
Issue #8189: Bug: Facing issue with chat completion streaming option using GPT4O and GPT4V model with Azure SDK V2
Issue #7968: Python: FunctionCallingStepwisePlanner results in "Function Call arguments are not valid JSON.."
Issue #8255: Bug: Handlebars planner fails to create plan
This analysis indicates that while the Semantic Kernel project is robust and actively developed, it faces challenges typical of complex software systems integrating advanced AI functionalities. The community's engagement through issue reporting suggests a collaborative effort toward continuous improvement.
The dataset comprises a collection of open pull requests (PRs) from the Microsoft Semantic Kernel repository, which is designed to facilitate the integration of Large Language Models (LLMs) into applications. The PRs cover various enhancements, bug fixes, and new features across multiple programming languages, primarily C# and Python.
PR #8299: Introduces "Root" agent selection for .NET agents to reduce latency in the first response during agent interactions. This enhancement is significant for improving user experience in chat applications.
PR #8298: A draft PR that introduces vector search capabilities for new memory connectors in Python, specifically targeting Azure AI Search. It is still in progress with additional tests and implementations needed.
PR #8297: A draft PR that exposes UserAgent header customization for .NET, addressing issue #7444. Discussion among reviewers indicates potential concerns about prefix configurations.
PR #8296: Allows JSON serializer options to be passed down from vector store options in .NET, enhancing flexibility for users configuring Azure AI Search clients.
PR #8291: Adds support for OpenAPI descriptions with server variables in .NET, addressing issue #8193. The implementation is still under review with comments suggesting improvements.
PR #8290: Refactors Weaviate integration test files for better organization and maintainability in .NET.
PR #8289: Optimizes Pinecone's GetBatchAsync method to retrieve multiple entries with a single request, improving performance.
PR #8287: Similar optimization for SQLite's GetBatchAsync method to enhance efficiency by reducing the number of queries executed.
PR #8283: Updates the ruff dependency in Python to version 0.6.1, addressing issues related to Jupyter notebook linting.
PR #8280: Instruments kernel functions in .NET for better observability, laying groundwork for future metrics tracking.
PR #8274: Adds a vector search abstraction and Azure AI Search implementation in .NET as part of ongoing memory abstractions evolution.
PR #8175: Introduces streaming support for OpenAIAssistantAgent
and AgentChat
, enhancing real-time interaction capabilities.
PR #8106: Draft PR for an ONNX connector aimed at integrating ONNX models with Semantic Kernel, still requiring additional testing and implementation.
PR #8018: A draft PR focused on instrumenting kernel functions for telemetry purposes, indicating a move towards enhanced monitoring capabilities.
PR #7979: Removes legacy experimental agents project and samples, streamlining the codebase towards the new agent framework.
PR #7963: A draft PR aimed at updating JsonSchemaMapper to incorporate .NET 9 shim, enhancing compatibility with newer frameworks.
PR #7557: Adds an implementation of Azure CosmosDB for NoSQL connector as part of the new memory design.
PR #6482: Introduces an MSSQL Server connector using vector search with plain tables, expanding the database support within Semantic Kernel.
PR #6339: Draft PR to bring back a Spring Boot sample for Java users, enhancing documentation and usability.
PR #6820: Documents the decision-making process regarding creating a separate Java repository, indicating ongoing structural changes within the project.
The pull requests reflect several key themes and trends within the Microsoft Semantic Kernel project:
The repository shows a robust activity level with numerous open PRs aimed at expanding functionality across different programming languages (C#, Python, Java). Notably, there is a strong focus on enhancing memory connectors and optimizing existing functionalities (e.g., batch retrieval methods), which suggests a concerted effort to improve performance and usability.
The comments on various PRs indicate an active review process where contributors engage constructively with one another to refine implementations and address potential issues before merging changes into the main branch. For instance, discussions around PRs like #8297 highlight concerns about configuration management that could impact multiple projects within the same application domain.
Several PRs are dedicated to integrating new technologies such as ONNX models (#8106) and Azure CosmosDB (#7557). This indicates an adaptive approach to evolving AI technologies and their incorporation into existing frameworks, ensuring that developers can leverage cutting-edge capabilities within their applications.
There is a clear emphasis on improving documentation through various PRs (#6820, #6339) which aim to clarify usage scenarios and provide examples for new features or integrations (e.g., Spring Boot samples). This is crucial for fostering community engagement and ensuring that users can effectively utilize the SDK's capabilities.
Recent contributions also reflect a growing awareness of the need for observability within applications built using Semantic Kernel (#8280). The introduction of telemetry features will likely enhance developers' ability to monitor application performance and troubleshoot issues effectively.
The removal of legacy components (#7979) demonstrates an ongoing effort to streamline the codebase by eliminating outdated or redundant elements that may hinder future development efforts or confuse users about current capabilities.
Overall, the current landscape of pull requests within the Microsoft Semantic Kernel repository showcases a dynamic environment focused on continuous improvement through collaboration, technological integration, and user-centric documentation practices. The project appears well-positioned to adapt to emerging trends in AI while maintaining a strong community presence through active engagement and support mechanisms.
Evan Mattson (moonbox3)
Caleb Kiage (calebkiage)
Chris (crickman)
AgentChat
.ChatHistoryKernelAgent
based on customer feedback.ChatCompletion_FunctionTermination
to utilize IAutoFunctionInvocationFilter
.Eduard van Valkenburg (eavanvalkenburg)
Sergey Menshykh
Dmytro Struk (dmytrostruk)
Tao Chen (TaoChenOSU)
Mark Wallace (markwallace-microsoft)
The development team is engaged in a robust cycle of feature enhancement, integration of new technologies, and maintenance of code quality through testing. Their collaborative efforts are directed towards making the Semantic Kernel a versatile tool for developers looking to leverage AI capabilities effectively.