-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Python: Introduce the single, non-group chat completion agent #7116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
crickman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great parity! If there's any detail you'd like me to zoom-into, please feel free to direct my attention.
eavanvalkenburg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lots of small comments!
eavanvalkenburg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can make it simpler taking advantage of Python!
eavanvalkenburg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of small nits, but looking good overall!
…oft#7116) ### Motivation and Context Following in the steps of dotnet, we're beginning to add agent support to Python. For an initial implementation the focus is on non-grouped, chat completion agents. The first pass is covering a ChatCompletionAgent that allows the user to define a ChatCompletion Service as part of the SK Kernel, and then reference that service in an agent implementation. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description The PR: - Adds support for a standard chat completion agent - Adds the required abstractions to allow the single chat completion agent to work - Introduces a new agent concept sample showing how to invoke the agent for a streaming and non-streaming context. - Adds unit tests to cover the new code - Closes microsoft#7079  <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone 😄
Motivation and Context
Following in the steps of dotnet, we're beginning to add agent support to Python. For an initial implementation the focus is on non-grouped, chat completion agents. The first pass is covering a ChatCompletionAgent that allows the user to define a ChatCompletion Service as part of the SK Kernel, and then reference that service in an agent implementation.
Description
The PR:
Contribution Checklist