Skip to content

Conversation

glorious-beard
Copy link
Contributor

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 to ImageContent.
  • DocContent for MS Word .doc files. Uses the tag "<doc>". Allows for Base64 data URIs or standard URIs, similar to ImageContent.
  • DocxContent for MS Word .docx files. Uses the tag "<docx>". Allows for Base64 data URIs or standard URIs, similar to ImageContent.

(NOTE: DocContent and DocxContent 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 to ImageContent.
  • BinaryContent - Parses the tag "<file>" with either Base64 data URIs or standard URIs, similar to ImageContent.

Here is a sample:

            
<message role='user'>
  This part will be discarded upon parsing
  <text>Make sense of this random assortment of stuff.</text>
  <image>https://fake-link-to-image/</image>
  <audio>data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAABAAEAIlYAAACABAAZGF0YVgAAAAA</audio>
  <pdf>data:application/pdf;base64,JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlL1hSZWYvUGFnZXMgNiAwIFIKL1R5cGUvUGFnZS9NZWRpYUJveCBbMCAwIDQ4MCA1MF0KL0NvbnRlbnRzIDw8L0V4dEdTdGF0ZSA8PC9JRCBbPDwvTGVuZ3RoIDQ4XQovRm9udCA8PC9GMSA8PC9GMiA8PC9GMyA8PC9GNCBbPDwvTGVuZ3RoIDQ4XQovRm9udCA8PC9GNSA8PC9GNiA8PC9GNyBbPDwvTGVuZ3RoIDQ4XQovRm9udCA8PC9GOCAvPj4KZW5kb2JqCjEwIDAgb2JqCjw8L1R5cGUvUGFnZS9NYWRlYUJveCBbMCAwIDQ4MCA1MF0KL0NvbnRlbnRzIDw8L0V4dEdTdGF0ZSA8PC9JRCBbPDwvTGVuZ3RoIDQ4XQovRm9udCA8PC9GMSA8PC9GMiA8PC9GMyA8PC9GNCBbPDwvTGVuZ3RoIDQ4XQovRm9udCA8PC9GNSA8PC9GNiA8PC9GNyBbPDwvTGVuZ3RoIDQ4XQovRm9udCA8PC9GOCAvPj4KZW5kb2JqCjEwIDAgb2JqCjw8L1R5cGUvUGFnZS9NYWRlYUJveCBbMCAwIDQ4MCA1MF0KL0NvbnRlbnRzIDw8L0V4dEdTdGF0ZSA8PC9JRCBbPDwvTGVuZ3RoIDQ4XQovRm9udCA8PC9GMSA8PC9G</pdf>
  <pdf>https://fake-link-to-pdf/</pdf>  
 
 <doc>data:application/msword;base64,UEsDBBQAAAAIAI+Q1k5a2gAAABQAAAAIAAAAbmFtZS5kb2N4VVQJAAD9AAAACwAAAB4AAAAAA==</doc>
  <doc>https://fake-link-to-doc/</doc>
  <docx>data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,UEsDBBQAAAAIAI+Q1k5a2gAAABQAAAAIAAAAbmFtZS5kb2N4VVQJAAD9AAAACwAAAB4AAAAAA==</docx>
  <docx>https://fake-link-to-docx/</docx>
  <file>data:application/octet-stream;base64,UEsDBBQAAAAIAI+Q1k5a2gAAABQAAAAIAAAAbmFtZS5kb2N4VVQJAAD9AAAACwAAAB4AAAAAA==</file>
  <file>https://fake-link-to-binary/</file>
  This part will also be discarded upon parsing
</message>

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

…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…
@markwallace-microsoft markwallace-microsoft added .NET Issue or Pull requests regarding .NET code kernel Issues or pull requests impacting the core kernel kernel.core labels Mar 25, 2025
glorious-beard and others added 21 commits March 25, 2025 14:50
…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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google-cloud-aiplatform&package-manager=pip&previous-version=1.83.0&new-version=1.85.0)](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]>
westey-m and others added 22 commits April 6, 2025 16:26
…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.
@markwallace-microsoft markwallace-microsoft added python Pull requests for the Python Semantic Kernel documentation memory labels Apr 6, 2025
@github-actions github-actions bot changed the title .Net - Expand chat prompt parser to handle audio, doc, dox, pdf, and other binary files Python: .Net - Expand chat prompt parser to handle audio, doc, dox, pdf, and other binary files Apr 6, 2025
@eavanvalkenburg
Copy link
Member

@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?

@moonbox3
Copy link
Collaborator

@glorious-beard please re-open the PR with only relevant files updated/added. The current state is not reviewable. Thanks.

@moonbox3 moonbox3 closed this Apr 10, 2025
@glorious-beard
Copy link
Contributor Author

sorry for being out of contact @moonbox3 ; I've created a new PR #11919.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation kernel.core kernel Issues or pull requests impacting the core kernel memory .NET Issue or Pull requests regarding .NET code python Pull requests for the Python Semantic Kernel
Projects
None yet
Development

Successfully merging this pull request may close these issues.