-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Python: .Net - Expand chat prompt parser to handle audio, doc, dox, pdf, and other binary files #11205
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
Python: .Net - Expand chat prompt parser to handle audio, doc, dox, pdf, and other binary files #11205
Conversation
…ional prefix from model id If present, removes the "us.", "eu.", or "apac." preceding the model id when selecting the correct model service for the given model.
…ockservicefactory fix: fixes microsoft#10738 by adding function for scrubbing cross-regional pre…
…icrosoft#11217) ### Motivation and Context We were relying on the thread being created when we added messages to it the first time, but in some cases no messages will be added, since the agent could be invoked with no messages. ### Description Fix bug where invoking with no message throws for some agents. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
… metho… (microsoft#11218) Fixing some issues with streaming invoke, obsoleting old invoke methods, and updating samples ### Description <!-- 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: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: Ben Thomas <[email protected]>
…osoft#11221) ### Motivation and Context The current OpenAI assistant get_response and invoke methods don't add the current thread_id to the CMC's metadata, therefore during a `thread.on_new_message(...)` call, the assistant's message will get added again. <!-- 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 Add the `thread_id` to the metadata so we don't add the assistant's response again. **Todo**: add agent integration tests and check messages so we have coverage for this. <!-- 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 Most invocations take a user message as input, so supporting just passing the string is useful. Some agents support invoking the agent without any message, so adding explicit support for this is useful. ### Description Add invoke overloads for string and no message. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
### Motivation and Context We should support agent specific parameters on the concrete agent implementations for invoke. ### Description Add support for agent specific params ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
### Motivation and Context After this week's release of the common agent invocation API, there are some things that we can do as further improvements. <!-- 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 This PR includes updates for: - Right now we force any agent invocation to provide some type of input, whether a str, a CMC, or a list of str | CMC. At times, there could be a reason, based on using an existing thread or just providing instructions to the agent, that one doesn't need to provide a message to invoke the agent. Updating to make messages optional. Updating the ABC contracts as well. - For `invoke_stream` calls on agents, there's no need to call `thread.on_new_message` that contains a streaming chunks -- once we move to support memory, this is where the "hook" will be. Removing this call. - The `get_messages(...)` methods on the `AutoGenConversableAgentThread` and the `ChatHistoryAgentThread` returned concrete `ChatHistory` objects, whereas the `AssistantAgentThread` and `AzureAIAgentThread` returned `AsyncIterable[ChatMessageContent]`. To align to a common API, the `AutoGenConversableAgentThread` and `ChatHistoryAgentThread`'s `get_messages(...)` methods were moved to return `AsyncIterable[ChatMessageContent]`. - Removing a public facing `output_messages` for streaming invoke, and replacing it with a callback to get a chat history back of "full" messages. Two samples are added in `samples/concepts/agents`: - `azure_ai_agent/azure_ai_agent_streaming_chat_history_callback.py` - `openai_assistant_streaming_chat_history_callback.py` - Update the README for OpenAI Assistants to showcase new thread abstraction. - Include unit tests for chat history (`on_complete`) callback. <!-- 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 - [ ] I didn't break anyone 😄
…emaining methods using threadId. (microsoft#11229) ### Motivation and Context Some agents currently support returning fully formed messages in a ChatHistory object when invoking with streaming. These invoke methods need to be obsoleted since they are not using `AgentThread`. Moving to a new pattern where we allow an optional `OnNewMessage` callback on options where users can subscribe to all fully formed messages, whether with streaming or without. ### Description - Updated AzureAIAgent, OpenAIAssistantAgent and ChatCompletion agent - Added additional integration tests for this - Updated samples to new pattern ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
### Motivation, Context and Description This PR adds sample to demonstrate the way 1. SK can be used on MCP server side that would expose SK functions as MCP tools and 2. SK can be used on the client side to consume the MCP tools provided by the server Contributes to: microsoft#11199
microsoft#11235) ### Motivation and Context See code comments for further detail. ### Description Add fix to ChatCompletionAgent for function call termination bug ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
### Motivation and Context <!-- 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. --> Fix two Python agent getting started samples. ### Description <!-- 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 - [ ] I didn't break anyone 😄
### Motivation and Context Small fix from the bug bash ### Description <!-- 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: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
### Motivation and Context The current README for the "call_automation" demo is lacking some important details to be successful at running the demo. <!-- 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 Improve the README around the ordering of the steps and details provided to make it easier for users to run the demo. <!-- 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 <!-- 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 <!-- 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: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
…en't demonstrating a groupchat concept (microsoft#11261) ### Motivation and Context Addressing Feedback from bugbash ### Description Removing groupchat from samples that have a single agent and aren't demonstrating a groupchat concept ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 Co-authored-by: Mark Wallace <[email protected]>
…zureAIAgent and AssistantAgent (microsoft#11250) ### Motivation and Context In our AzureAIAgent and AssistantAgent thread actions, we're not passing the supplied args from the caller through to kernel function call invoke methods. <!-- 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 This PR fixes that, and makes sure we pass kernel args all the way through the process, so any function calls can leverage the args. - Adds a concept sample for AzureAIAgent showing how to prompt with different prompt templates. <!-- 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 😄
…icrosoft#11168) Upgraded Microsoft.CodeAnalysis.Common from 4.11.0 to 4.13.0. Fixes microsoft#10868 Co-authored-by: Adit Sheth <[email protected]> Co-authored-by: westey <[email protected]> Co-authored-by: Roger Barreto <[email protected]>
Exclude the 'decisions' folder that contains documents with links prone to becoming broken and temporarily unavailable. This should be removed when the link checker is implemented as a background job that does not block PRs.
…microsoft#11176) Bumps [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) from 1.83.0 to 1.85.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/googleapis/python-aiplatform/releases">google-cloud-aiplatform's releases</a>.</em></p> <blockquote> <h2>v1.85.0</h2> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.84.0...v1.85.0">1.85.0</a> (2025-03-18)</h2> <h3>Features</h3> <ul> <li>Add function_call.id and function_response.id (<a href="https://github.com/googleapis/python-aiplatform/commit/3f6c8245acfd89ce0cc61ba18cf89c9608b716d7">3f6c824</a>)</li> <li>Add Python version 3.12 to Agent Engine (<a href="https://github.com/googleapis/python-aiplatform/commit/1232132355c8c2c7b12e15d1a4bbbf55be39517a">1232132</a>)</li> <li>Add Ray 2.42 support to SDK Client Builder (<a href="https://github.com/googleapis/python-aiplatform/commit/2a670762d661e6cc053ccd2a96f9e231c3f51e5f">2a67076</a>)</li> <li>Add reranker config to RAG v1 API (<a href="https://github.com/googleapis/python-aiplatform/commit/3f6c8245acfd89ce0cc61ba18cf89c9608b716d7">3f6c824</a>)</li> <li>Add support for version 2.42 for RoV Bigquery read/write (<a href="https://github.com/googleapis/python-aiplatform/commit/f4ce684d5f066b8052c0751aeaff08c938f43552">f4ce684</a>)</li> <li>Implement GA versions of agent engine prebuilt templates (<a href="https://github.com/googleapis/python-aiplatform/commit/37b72c294b023ca821eebca43d07a772abf620a2">37b72c2</a>)</li> <li>Modify v1 sdk to support rerankers (<a href="https://github.com/googleapis/python-aiplatform/commit/a6b7de5adfd02d038f8d55a55d9599a33bb02c3e">a6b7de5</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Allow Protobuf 6.x (<a href="https://github.com/googleapis/python-aiplatform/commit/3f6c8245acfd89ce0cc61ba18cf89c9608b716d7">3f6c824</a>)</li> <li>Preserve system_instruction in LangchainAgent clone() (<a href="https://github.com/googleapis/python-aiplatform/commit/63fc33ee75567503c77ca4bfc66d6932c938b22d">63fc33e</a>)</li> <li>Resolve issue where pre-release versions of dependencies are installed (<a href="https://github.com/googleapis/python-aiplatform/commit/de83fe314b637f36aa4281b79ac7bcbf3bc9e3dc">de83fe3</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Update SDK Job Submission with Ray v2.42 updated comments (<a href="https://github.com/googleapis/python-aiplatform/commit/f2811130914cc7621dbce2a3f0dc7d1212690407">f281113</a>)</li> </ul> <h2>v1.84.0</h2> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.83.0...v1.84.0">1.84.0</a> (2025-03-11)</h2> <h3>Features</h3> <ul> <li>Add Layout Parser to RAG v1 API (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Add multihost_gpu_node_count to Vertex SDK for multihost GPU support (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Add request/response logging to PSC endpoints (<a href="https://github.com/googleapis/python-aiplatform/commit/b36a43a6b7164d37f013229f03ea36ed6a04f522">b36a43a</a>)</li> <li>Add support for Document AI Layout Parser in RAG v1 (<a href="https://github.com/googleapis/python-aiplatform/commit/183739080612c64e58e3cd5b90d18ad2ace698ea">1837390</a>)</li> <li>Add the system tests for AG2 prebuilt template (<a href="https://github.com/googleapis/python-aiplatform/commit/80cfc2f3b635860c6702252776af294f17d3b60d">80cfc2f</a>)</li> <li>Add the system tests for Langgraph prebuilt template (<a href="https://github.com/googleapis/python-aiplatform/commit/833c1d2d33bd47c1a41ff741957036164b5efeb5">833c1d2</a>)</li> <li>Allowing users to choose whether to use the hf model cache (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Allowing users to choose whether to use the hf model cache (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Allowing users to specify the version id of the Model Garden model (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Allowing users to specify the version id of the Model Garden model (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>GA Context Cache Python SDK (<a href="https://github.com/googleapis/python-aiplatform/commit/3aa0c6d76c4c58d72a27b6215f59c595bef70bef">3aa0c6d</a>)</li> <li>Support custom predictor Docker image builds on non-x86 architectures (<a href="https://redirect.github.com/googleapis/python-aiplatform/issues/2115">#2115</a>) (<a href="https://github.com/googleapis/python-aiplatform/commit/87dd5c0c2ebbb8f5e24ab258b308b51b748b628d">87dd5c0</a>)</li> <li>Vertex AI Model Garden deploy SDK Support for container specifications and equivalent Model Garden models for Hugging Face (<a href="https://github.com/googleapis/python-aiplatform/commit/e425ded7411085d876433fe3d0c6bff892d7860a">e425ded</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/googleapis/python-aiplatform/blob/main/CHANGELOG.md">google-cloud-aiplatform's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.84.0...v1.85.0">1.85.0</a> (2025-03-18)</h2> <h3>Features</h3> <ul> <li>Add function_call.id and function_response.id (<a href="https://github.com/googleapis/python-aiplatform/commit/3f6c8245acfd89ce0cc61ba18cf89c9608b716d7">3f6c824</a>)</li> <li>Add Python version 3.12 to Agent Engine (<a href="https://github.com/googleapis/python-aiplatform/commit/1232132355c8c2c7b12e15d1a4bbbf55be39517a">1232132</a>)</li> <li>Add Ray 2.42 support to SDK Client Builder (<a href="https://github.com/googleapis/python-aiplatform/commit/2a670762d661e6cc053ccd2a96f9e231c3f51e5f">2a67076</a>)</li> <li>Add reranker config to RAG v1 API (<a href="https://github.com/googleapis/python-aiplatform/commit/3f6c8245acfd89ce0cc61ba18cf89c9608b716d7">3f6c824</a>)</li> <li>Add support for version 2.42 for RoV Bigquery read/write (<a href="https://github.com/googleapis/python-aiplatform/commit/f4ce684d5f066b8052c0751aeaff08c938f43552">f4ce684</a>)</li> <li>Implement GA versions of agent engine prebuilt templates (<a href="https://github.com/googleapis/python-aiplatform/commit/37b72c294b023ca821eebca43d07a772abf620a2">37b72c2</a>)</li> <li>Modify v1 sdk to support rerankers (<a href="https://github.com/googleapis/python-aiplatform/commit/a6b7de5adfd02d038f8d55a55d9599a33bb02c3e">a6b7de5</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Allow Protobuf 6.x (<a href="https://github.com/googleapis/python-aiplatform/commit/3f6c8245acfd89ce0cc61ba18cf89c9608b716d7">3f6c824</a>)</li> <li>Preserve system_instruction in LangchainAgent clone() (<a href="https://github.com/googleapis/python-aiplatform/commit/63fc33ee75567503c77ca4bfc66d6932c938b22d">63fc33e</a>)</li> <li>Resolve issue where pre-release versions of dependencies are installed (<a href="https://github.com/googleapis/python-aiplatform/commit/de83fe314b637f36aa4281b79ac7bcbf3bc9e3dc">de83fe3</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Update SDK Job Submission with Ray v2.42 updated comments (<a href="https://github.com/googleapis/python-aiplatform/commit/f2811130914cc7621dbce2a3f0dc7d1212690407">f281113</a>)</li> </ul> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.83.0...v1.84.0">1.84.0</a> (2025-03-11)</h2> <h3>Features</h3> <ul> <li>Add Layout Parser to RAG v1 API (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Add multihost_gpu_node_count to Vertex SDK for multihost GPU support (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Add request/response logging to PSC endpoints (<a href="https://github.com/googleapis/python-aiplatform/commit/b36a43a6b7164d37f013229f03ea36ed6a04f522">b36a43a</a>)</li> <li>Add support for Document AI Layout Parser in RAG v1 (<a href="https://github.com/googleapis/python-aiplatform/commit/183739080612c64e58e3cd5b90d18ad2ace698ea">1837390</a>)</li> <li>Add the system tests for AG2 prebuilt template (<a href="https://github.com/googleapis/python-aiplatform/commit/80cfc2f3b635860c6702252776af294f17d3b60d">80cfc2f</a>)</li> <li>Add the system tests for Langgraph prebuilt template (<a href="https://github.com/googleapis/python-aiplatform/commit/833c1d2d33bd47c1a41ff741957036164b5efeb5">833c1d2</a>)</li> <li>Allowing users to choose whether to use the hf model cache (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Allowing users to choose whether to use the hf model cache (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Allowing users to specify the version id of the Model Garden model (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>Allowing users to specify the version id of the Model Garden model (<a href="https://github.com/googleapis/python-aiplatform/commit/ba9a314cf51b579436b4c3173d599caedc9a6b91">ba9a314</a>)</li> <li>GA Context Cache Python SDK (<a href="https://github.com/googleapis/python-aiplatform/commit/3aa0c6d76c4c58d72a27b6215f59c595bef70bef">3aa0c6d</a>)</li> <li>Support custom predictor Docker image builds on non-x86 architectures (<a href="https://redirect.github.com/googleapis/python-aiplatform/issues/2115">#2115</a>) (<a href="https://github.com/googleapis/python-aiplatform/commit/87dd5c0c2ebbb8f5e24ab258b308b51b748b628d">87dd5c0</a>)</li> <li>Vertex AI Model Garden deploy SDK Support for container specifications and equivalent Model Garden models for Hugging Face (<a href="https://github.com/googleapis/python-aiplatform/commit/e425ded7411085d876433fe3d0c6bff892d7860a">e425ded</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/googleapis/python-aiplatform/commit/195a4674b1bff0cd0fcf2c668d60aa9b3af5a5eb"><code>195a467</code></a> chore(main): release 1.85.0 (<a href="https://redirect.github.com/googleapis/python-aiplatform/issues/5049">#5049</a>)</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/f4ce684d5f066b8052c0751aeaff08c938f43552"><code>f4ce684</code></a> feat: add support for version 2.42 for RoV Bigquery read/write</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/a6b7de5adfd02d038f8d55a55d9599a33bb02c3e"><code>a6b7de5</code></a> feat: Modify v1 sdk to support rerankers</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/1232132355c8c2c7b12e15d1a4bbbf55be39517a"><code>1232132</code></a> feat: add Python version 3.12 to Agent Engine</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/9ceecd014238dd4b209e8d8cda7bb6ec174c794b"><code>9ceecd0</code></a> No public description</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/3f6c8245acfd89ce0cc61ba18cf89c9608b716d7"><code>3f6c824</code></a> Copybara import of the project:</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/2a670762d661e6cc053ccd2a96f9e231c3f51e5f"><code>2a67076</code></a> feat: Add Ray 2.42 support to SDK Client Builder</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/de83fe314b637f36aa4281b79ac7bcbf3bc9e3dc"><code>de83fe3</code></a> fix: Resolve issue where pre-release versions of dependencies are installed</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/f2811130914cc7621dbce2a3f0dc7d1212690407"><code>f281113</code></a> docs: Update SDK Job Submission with Ray v2.42 updated comments</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/63fc33ee75567503c77ca4bfc66d6932c938b22d"><code>63fc33e</code></a> fix: Preserve system_instruction in LangchainAgent clone()</li> <li>Additional commits viewable in <a href="https://github.com/googleapis/python-aiplatform/compare/v1.83.0...v1.85.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Evan Mattson <[email protected]>
…ft#11216) ### Motivation and Context <!-- 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? Currently the Semantic-Kernel OpenAPI functionality does not support overriding defaults servers by either path or operation servers yet 2. What problem does it solve? The fix is to support the multiple server overrides at path and operation level with operation takes precedence. 4. What scenario does it contribute to? OpenAPI schema 5. If it fixes an open issue, please link to the issue here. --> ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> This change improves how servers are combined across different levels of the OpenAPI specification: 1. Added logic to combine servers from document (global), path, and operation levels 2. Implemented proper hierarchy where: - Operation-level servers override path-level servers - Path-level servers override document-level servers 3. Used a dictionary approach to track servers by URL to eliminate duplicates while respecting priority 4. Ensured servers at more specific levels (operation > path > global) take precedence when duplicate URLs exist This enhancement ensures that the API client generator correctly respects server overrides as specified in the OpenAPI standard, allowing API authors to define default servers globally while overriding them at the path or operation level when needed ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: SergeyMenshykh <[email protected]>
…to be deleted. (microsoft#11329) ### Motivation and Context We should warm users of the timeframe at which obsoleted methods will be deleted. microsoft#11315 ### Description Add a date to the obsolete messages for obsolete methods on the agent implementations. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
### Motivation and Context OpenAI recently released their Responses API, which is their newest core API and an agentic API primitive, combining the simplicity of Chat Completions with the ability to do more agentic tasks. Azure OpenAI also recently released the Responses API, with close-to feature parity with OpenAI's SDK. It gives us enough to introduce an `AzureResponsesAgent` and an `OpenAIResponsesAgent` to Semantic Kernel. <!-- 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 This PR introduces: - The `AzureResponsesAgent` and `OpenAIResponsesAgent` - Allows use of the web search tool with `OpenAI` (`Azure OpenAI` currently doesn't support this). - Allows use of the file search tool with both `OpenAI` and `Azure OpenAI`. - Provides getting started samples for both agent types. **TODO:** - Add unit test coverage for the `ResponsesAgentThreadActions` class. - Add support for the computer user agent tool. - Improve typing in the `ResponsesAgentThreadActions` class. - Closes microsoft#11026 <!-- 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 Right now, we need to manually go through each new discussion item to figure out if it needs certain labels. We also can miss discussion items as we don't have the "triage" label applied automatically like we do for issues. We have some discussion categories where users can post for help -- specifically "General," "Q&A," and "Ideas." Other discussion categories don't warrant "triage," "python," or ".NET" labels. <!-- 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 This PR adds a "Label Discussions" workflow that runs when new discussions are created as part of General, Ideas, or Q&A, that leverages GitHub's GraphQL API. This was tested in my SK fork for new issues, and it properly adds the appropriate label based on the content of the discussion item. This should help make sure we don't miss any discussion item as we look through them during triage. <!-- 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 Fix some sample output strings for OpenAIResponsesAgent samples. <!-- 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 Fix some sample output strings for OpenAIResponsesAgent samples. <!-- 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 <!-- 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. --> This PR adds the Azure SQL Store and Collection Closes microsoft#9882 ### Description <!-- 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, Context and Description This PR adds sample showing how to power MCP prompt by SK prompt server side and consume this prompt client side. Contributes to: microsoft#11199 --------- Co-authored-by: westey <[email protected]>
…ython (microsoft#11016) Updates the requirements on [websockets](https://github.com/python-websockets/websockets) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/python-websockets/websockets/releases">websockets's releases</a>.</em></p> <blockquote> <h2>15.0.1</h2> <p>See <a href="https://websockets.readthedocs.io/en/stable/project/changelog.html">https://websockets.readthedocs.io/en/stable/project/changelog.html</a> for details.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-websockets/websockets/commit/37c9bc0781f0cc5af7c729947ef1833c1e12b70d"><code>37c9bc0</code></a> Release version 15.0.1.</li> <li><a href="https://github.com/python-websockets/websockets/commit/fce02abb7843bbbad78a53ec0740620dc183ff45"><code>fce02ab</code></a> Docs. Correct Producer pattern example.</li> <li><a href="https://github.com/python-websockets/websockets/commit/5fa24bbb4aa5e0ee4dcc2cf1ce186f3ab68349a6"><code>5fa24bb</code></a> Exit cleanly the interactive client on ^C.</li> <li><a href="https://github.com/python-websockets/websockets/commit/d0e60d319f95cfab19ac027410dbf07799c76c1d"><code>d0e60d3</code></a> Remove spurious PYTHONPATH declarations.</li> <li><a href="https://github.com/python-websockets/websockets/commit/d7dafcc95a7b0277cb06d67024fab024045e9de9"><code>d7dafcc</code></a> Add test coverage for interactive client.</li> <li><a href="https://github.com/python-websockets/websockets/commit/3c62503261f899ebd6f0cdbb6222d8052f842ef2"><code>3c62503</code></a> Use entrypoint instead of runpy in docs.</li> <li><a href="https://github.com/python-websockets/websockets/commit/f4e4345b7a39a5275dbdf92d1ccc64383a19ca35"><code>f4e4345</code></a> added entry point script for the cli client in the pyproject.toml</li> <li><a href="https://github.com/python-websockets/websockets/commit/6f89bacb0754d4f541d70d1444f7bd9eac69ba60"><code>6f89bac</code></a> Start version 15.1.</li> <li><a href="https://github.com/python-websockets/websockets/commit/7ac73c645329055a3c352077b8055e6ed65fa46c"><code>7ac73c6</code></a> Release version 15.0.</li> <li><a href="https://github.com/python-websockets/websockets/commit/a1ba01db142459db0ea6f7659b3a5f4962749fa6"><code>a1ba01d</code></a> Rewrite interactive client (again) without threads.</li> <li>Additional commits viewable in <a href="https://github.com/python-websockets/websockets/compare/13.0...15.0.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Evan Mattson <[email protected]>
…soft#11359) ### Motivation and Context 1. Include names of classes being used 2. Remove unneeded serviceId ### Description <!-- 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: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 Co-authored-by: SergeyMenshykh <[email protected]>
### Motivation and Context microsoft#11132 ### Description Fix bug in sqlite filter logic ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
### Motivation and Context Version bump for release 1.45.0 ### Description <!-- 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: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 Co-authored-by: SergeyMenshykh <[email protected]>
### Motivation and Context <!-- 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 <!-- 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: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
…soft#11334) ### Motivation and Context <!-- 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. --> Adds MCP server configs and a function that turns the server into a plugin, with each tools of the server represented as a function. Adds a sample showing how to use that with a Github MCP server. Closes: microsoft#10785 and microsoft#11190 With special thanks to @nmoeller ### Description <!-- 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 😄 --------- Co-authored-by: Nico Möller <[email protected]>
…microsoft#11321) ### Motivation and Context <!-- 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. --> Currently, our agents' `invoke` and `invoke_stream` have inconsistent behavior where the responses may contain different contents. For example, the chat completion agent (`invoke`) may return all content types generated by the agent including function call/result contents that are meant to be internal only, while the assistant agent doesn't return those contents. This creates confusion both for users and developers of SK of what an agent should return when working with agents. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> This PR standardizes the behavior of agents by adding an `on_intermediate_message ` parameter to the `invoke` and `invoke_stream` methods in the `Agent` abstraction. This parameter accepts a callback function that will be called whenever a new message is generated by the agent, except the last one that gets returned to the caller. This allows the caller to inspect what the agent did after a response is returned. In addition, this PR also converges on the behavior of the `invoke` and `invoke_stream` methods (respectively) to return the same content types from all agents, making it easier for users to work with agents ### 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 - [ ] I didn't break anyone 😄
### Motivation and Context Bump Python version to 1.27.0 for a release. <!-- 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 Bump Python version to 1.27.0 for a release. <!-- 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 Add release_candidate decorator for AzureAssistantAgent. <!-- 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 Add release_candidate decorator for AzureAssistantAgent. <!-- 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 😄
…crosoft#11343) ### Motivation and Context Improve overall unit test coverage. ### Description adding unit tests for ollama chat completion adding unit tests for openAI realtime ### Contribution Checklist - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: Gaudy Blanco <[email protected]>
### Motivation and Context 1. Native-AOT 2. OpenAI execution settings 3. ITextSearch 4. IChatHistoryReducer 5. Some Misc. core/abstractions experimental flags that are over 60 days ### Description <!-- 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: --> - [ ] The code builds clean without any errors or warnings - [ ] 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄
…DME, Fix Responses config checks (microsoft#11379) ### Motivation and Context Use correct env var for AOAI Responses Deployment Name - `AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME` in README. Similarly check for `.responses_deployment_name` as none, instead of `.chat_deployment_name`. <!-- 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 Use correct env var for AOAI Responses Deployment Name <!-- 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 Some code cleanup. <!-- 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 Some code cleanup. <!-- 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 ### Description Updated readme for agents ### Contribution Checklist - [ 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 😄 --------- Co-authored-by: Evan Mattson <[email protected]>
### Motivation and Context The current version of the processes' "plan and execute" sample worked but it didn't format the output or intermediate output in a nice way. This PR improves the formatting of the output and thus the final answer. <!-- 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 Improve the sample. <!-- 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 😄
ConverseRequest in Amazon's Bedrock API rejects extensions (specifically, the period) in names.
@glorious-beard seems like you need to properly rebase your branch because there is a lot of unrelated changes in here. And I'm also a bit hesitant to add additional content types, on dotnet, they even removed Image and AudioContent in favor of just using BinaryContent with the right MimeType, wondering if that wouldn't be possible for this as well? |
@glorious-beard please re-open the PR with only relevant files updated/added. The current state is not reviewable. Thanks. |
Motivation and Context
Why is this change required?
This template parsers like the YAML parser to embed content types other than just text and images for LLMs that support additional content types, like PDFs for OpenAI and DOCXs for Claude. Without this capability, functions with prompts that have attachments would have to manually build it's chat history in code.
What problem does it solve?
See above
What scenario does it contribute to?
Usage additional content types beyond visuals and audio for user messages
Open Issues Addressed
Description
Chat Prompt Parser
To preserve backward compatibility, rather than consolidating binary content types, I chose to go with adding additional content types so that LLM chat service providers could opt-in to new content types. It also reduces the chances of breaking existing code.
3 new content types are created:
PdfContent
for PDF files. Uses the tag "<pdf>". Allows for Base64 data URIs or standard URIs, similar toImageContent
.DocContent
for MS Word .doc files. Uses the tag "<doc>". Allows for Base64 data URIs or standard URIs, similar toImageContent
.DocxContent
for MS Word .docx files. Uses the tag "<docx>". Allows for Base64 data URIs or standard URIs, similar toImageContent
.(NOTE:
DocContent
andDocxContent
are mainly separate because they have different MIME types and different content formats, though they could easily be consolidated into a single tag and just let the LLM provider handle distinguishing between "doc" and "docx" files. Alternately, I could also see the case for dropping ".doc" support and requiring the caller to only use ".docx".)In addition, the following 2 contents are now parsed from the XML:
AudioContent
- Parses the tag "<audio>" with either Base64 data URIs or standard URIs, similar toImageContent
.BinaryContent
- Parses the tag "<file>" with either Base64 data URIs or standard URIs, similar toImageContent
.Here is a sample:
Amazon Bedrock
Modified the
Converse
API request generator to handle the subset of binary content supported by Amazon Bedrock (PDF, DOC, DOCX, and Image), as documented here.OpenAI
Modified the client to handle PDF content, audio content, and file references when generating a request to an OpenAI (or OpenAI compatible) client.
Contribution Checklist