mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
d4e02783307da0159a7278e37824909ebb58b260
1146
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d4e0278330 |
Python: Bump Python version to 1.35.2 for a release (#12894)
### Motivation and Context Bump Python version to 1.35.2 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.35.2 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 😄 |
||
|
|
73ad6e8923 |
Python: Fix: Implement __deepcopy__ on KernelFunction to handle non-serializable OTEL metrics (#12803)
### Description This PR fixes TypeError: cannot pickle '_thread.RLock' object which occurs when kernel.clone() is called while OpenTelemetry metrics are enabled. - Fixes: #12802 ### Motivation and Context When using features like `HandoffOrchestration`, the agent's `Kernel` is cloned. This process uses `copy.deepcopy`, which fails on the `KernelFunction`'s OpenTelemetry `Histogram` fields (`invocation_duration_histogram` and `streaming_duration_histogram`). These histogram objects contain thread locks, making them non-serializable. Previous solutions, like the one in **PR #9292**, used `Field(exclude=True, default_factory=...)`. While that was a necessary step, it was insufficient because `deepcopy` does not respect the `exclude` flag in the same way that Pydantic's serialization does. This bug blocks the use of certain agentic features in any application that has metrics-based observability enabled. ### Description of the change This solution introduces a custom __deepcopy__ method to the KernelFunction Pydantic model. This method correctly handles the deep-copying process for KernelFunction instances: 1. It intercepts the deepcopy call for KernelFunction objects. 2. It uses self.model_copy(deep=False) to create a new instance of the Pydantic model. Using deep=False allows the default_factory for the histogram fields to create new, clean instances on the copied object, while other fields are shallow-copied. 3. It then manually deep-copies all other attributes from the original object to the new one, ensuring that any other mutable objects (like metadata`) are correctly duplicated. The histogram fields are explicitly skipped in this step, as they have already been recreated by `model_copy. 4. Standard deepcopy memoization is used to prevent infinite recursion in the case of cyclic object graphs. This approach ensures that the non-serializable fields are re-initialized instead of copied, resolving the TypeError while maintaining the integrity of the cloned object. ### How has this been tested? The fix was validated using the reproduction steps outlined in the associated issue. Running an agent orchestration that triggers kernel.clone() with OpenTelemetry metrics enabled now completes successfully without any errors. ### 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: Evan Mattson <[email protected]> |
||
|
|
a6b5f34d9b |
Python: fix parsing of types in mcp server (#12871)
### 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. --> The parsing of tool call output was not working correctly, this fixes that. Solves #12850 ### 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 😄 |
||
|
|
433b2874b7 |
Python: Update boto3 requirement from <1.40.0,>=1.36.4 to >=1.36.4,<1.41.0 in /python (#12857)
Updates the requirements on [boto3](https://github.com/boto/boto3) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/boto/boto3/commit/ad48a219e467d13a50f6ffeeec5191d75c454ea7"><code>ad48a21</code></a> Merge branch 'release-1.40.2'</li> <li><a href="https://github.com/boto/boto3/commit/0a92fe40bf86d48a5e8dd7ee6b06fcfbae52b597"><code>0a92fe4</code></a> Bumping version to 1.40.2</li> <li><a href="https://github.com/boto/boto3/commit/b1d3cd4e4b46ade160224ad589e9918f5da84ca8"><code>b1d3cd4</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/72d9a28a0c79ff7966226855593a366a40076d74"><code>72d9a28</code></a> Merge branch 'release-1.40.1'</li> <li><a href="https://github.com/boto/boto3/commit/1c32a227314c9d8fa38baa9e0da5d373cf61683f"><code>1c32a22</code></a> Merge branch 'release-1.40.1' into develop</li> <li><a href="https://github.com/boto/boto3/commit/a3ffa6102045e1ec958c7e9548105339b2c195b9"><code>a3ffa61</code></a> Bumping version to 1.40.1</li> <li><a href="https://github.com/boto/boto3/commit/c643766d437bc994f2d94966fa9dd3bc39662402"><code>c643766</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/e2fb47b057930792b8bfe192063207b8c4794395"><code>e2fb47b</code></a> Merge branch 'release-1.40.0'</li> <li><a href="https://github.com/boto/boto3/commit/e19cb9fbb32d6187d731fecf374de5ac2b851ce0"><code>e19cb9f</code></a> Merge branch 'release-1.40.0' into develop</li> <li><a href="https://github.com/boto/boto3/commit/9e895ba0a527098909b07b98412f0fb962a3466b"><code>9e895ba</code></a> Bumping version to 1.40.0</li> <li>Additional commits viewable in <a href="https://github.com/boto/boto3/compare/1.36.4...1.40.2">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]> |
||
|
|
91392a77e0 |
Python: Fix ResponsesAgent image duplication in chat history preparation (#12859)
### Motivation and Context The ResponsesAgent is duplicating messages in chat history preparation when messages contained multiple content items (text + images). The `response_inputs.append()` call is inside the content processing loop, causing each message to be added once per content item. The fix: - Moved `response_inputs.append()` outside the content processing loop - Added unit test to verify multiple images don't get duplicated <!-- 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 - Fixed loop placement in `_prepare_chat_history_for_request` - Added test `test_prepare_chat_history_multiple_images_no_duplication` - Fixes #12848 <!-- 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 😄 |
||
|
|
58c3c4d27f |
Python: Bump Python version to 1.35.1 for a release. (#12856)
### Motivation and Context Bump Python version to 1.35.1 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.35.1 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 😄 |
||
|
|
7300b843c1 |
Python: Update pyarrow requirement from <21.0,>=12.0 to >=12.0,<22.0 in /python (#12836)
Updates the requirements on [pyarrow](https://github.com/apache/arrow) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/apache/arrow/releases">pyarrow's releases</a>.</em></p> <blockquote> <h2>Apache Arrow 21.0.0</h2> <p>Release Notes URL: <a href="https://arrow.apache.org/release/21.0.0.html">https://arrow.apache.org/release/21.0.0.html</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apache/arrow/commit/ee4d09ebef61c663c1efbfa4c18e518a03b798be"><code>ee4d09e</code></a> MINOR: [Release] Update versions for 21.0.0</li> <li><a href="https://github.com/apache/arrow/commit/f13a5796008e3a5e546af1a7b2be0fbd3c148c26"><code>f13a579</code></a> MINOR: [Release] Update .deb/.rpm changelogs for 21.0.0</li> <li><a href="https://github.com/apache/arrow/commit/6fd2a167e0ed74dbe4c059e579a561fcc2aae11f"><code>6fd2a16</code></a> MINOR: [Release] Update CHANGELOG.md for 21.0.0</li> <li><a href="https://github.com/apache/arrow/commit/cf261bf58ae74a1f7fa99d81c201ca8e1d679c9b"><code>cf261bf</code></a> <a href="https://redirect.github.com/apache/arrow/issues/47078">GH-47078</a>: [Release] Ensure using cloned apache/arrow for reproducible check (...</li> <li><a href="https://github.com/apache/arrow/commit/ddbc3dc005dfdde5a79d42cb5953190479b12b73"><code>ddbc3dc</code></a> <a href="https://redirect.github.com/apache/arrow/issues/47074">GH-47074</a>: [Release] Use reproducible mtime for csharp/ in source archive (<a href="https://redirect.github.com/apache/arrow/issues/47">#47</a>...</li> <li><a href="https://github.com/apache/arrow/commit/0534eb2d279f445ac67b99a22eca344484749b6f"><code>0534eb2</code></a> <a href="https://redirect.github.com/apache/arrow/issues/47071">GH-47071</a>: [Release] Dereference all hard links in source archive (<a href="https://redirect.github.com/apache/arrow/issues/47072">#47072</a>)</li> <li><a href="https://github.com/apache/arrow/commit/f845b4184664aee522f7fd73864d3093e84b6580"><code>f845b41</code></a> <a href="https://redirect.github.com/apache/arrow/issues/47069">GH-47069</a>: [Release] Add missing "needs: target" (<a href="https://redirect.github.com/apache/arrow/issues/47070">#47070</a>)</li> <li><a href="https://github.com/apache/arrow/commit/1c08f8ee6947bd2a9bffb441af946c6a7373015b"><code>1c08f8e</code></a> <a href="https://redirect.github.com/apache/arrow/issues/47067">GH-47067</a>: [Release] Fix wrong GitHub Actions context in verify_rc.yml (<a href="https://redirect.github.com/apache/arrow/issues/47068">#47068</a>)</li> <li><a href="https://github.com/apache/arrow/commit/70e5c51e6d5de1ca6f669b47ff0b98e1075336d0"><code>70e5c51</code></a> <a href="https://redirect.github.com/apache/arrow/issues/47065">GH-47065</a>: [Release] Fix timeout key in verify_rc.yml (<a href="https://redirect.github.com/apache/arrow/issues/47066">#47066</a>)</li> <li><a href="https://github.com/apache/arrow/commit/254a85c8bddb52eef03d623882836717f027061d"><code>254a85c</code></a> <a href="https://redirect.github.com/apache/arrow/issues/47063">GH-47063</a>: [Release] Define missing RELEASE_TARBALL (<a href="https://redirect.github.com/apache/arrow/issues/47064">#47064</a>)</li> <li>Additional commits viewable in <a href="https://github.com/apache/arrow/compare/go/v12.0.0...apache-arrow-21.0.0">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]> |
||
|
|
8336c320d9 |
Python: Add bedrock model provider parameter (#12853)
### 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. --> Fixes #12833 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Add an optional setting to the Bedrock AI connectors to allow users to specify the Bedrock model providers (i.e. amazon, anthropic, etc) so that they can use application inference profiles. ### 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: Dmytro Struk <[email protected]> |
||
|
|
1198b573d1 |
Python: Add ability to specify encoding when adding a plugin. Add tests. (#12797)
### Motivation and Context Right now when adding a plugin, we don't allow one to specify the type of encoding used. <!-- 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 Allow configuration for the type of encoding used. - Adds unit tests - Closes #12440 <!-- 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 😄 |
||
|
|
e5972e2430 |
Python: Add incomplete details reason to AzureAIAgent error message (#12796)
### Motivation and Context When errors occur processing a run of an AzureAIAgent, we surface the error message but not the incomplete_details reason if it exists. <!-- 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 handling for the incomplete details reason, if it exists, so it can be passed back via the error message. - Closes #12752 <!-- 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 😄 |
||
|
|
b7bb2832aa |
Python: Input & output attributes in invoke_agent span (#12834)
### 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. --> The OTel workgroup has been thinking about enhancing tracing for agents. This is a proposal from our tracing team: https://github.com/open-telemetry/semantic-conventions/pull/2528. This PR implements part of the proposal so that when the proposal gets merged, we can quickly follow. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Two new attributes are added to the `invoke_agent` span, namely the `gen_ai.agent.invocation_input` and `gen_ai.agent.invocation_output`. <img width="747" height="583" alt="image" src="https://github.com/user-attachments/assets/d8b81f68-915b-48ee-8f86-66a0d4f686cc" /> ### 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: Evan Mattson <[email protected]> |
||
|
|
358b0f343b |
Python: .Net: Magentic orchestration to return the last agent message when limits reached (#12839)
### 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. --> Related to #12687 Related to #12656 Currently, the Magentic orchestration returns a static message if the max reset limit or the max invocation limit is reached. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Return the last agent response if either of the limit is reached. ### 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: Chris <[email protected]> |
||
|
|
c16db27622 |
Python: Update README.md (#12737)
Update links due to renamed files ### 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: --> - [x] 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: Evan Mattson <[email protected]> |
||
|
|
30391ade09 |
Python: AzureAI Agent int test update to pass (#12849)
### Motivation and Context The AzureAI Agent code interpreter is failing when asking it to use the code interpreter to create bar charts. Updating the unit test so that it uses the code interpreter and doesn't fail/block. <!-- 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 Update integration test while trying to understand the root cause of the failure. <!-- 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 😄 |
||
|
|
1efc7ad04e |
Python: Pass through arguments when creating agents from specs (#12771)
### Motivation and Context Currently, attempting to pass through KernelArguments through agent creation via declarative spec isn't working properly. The arguments are used to normalize fields, but are then not passed through fully to where the agent is created. <!-- 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 Pass arguments through, and merge them properly with the normalized fields. This allows for underlying args to be used by the agent, like in the case of structured outputs. - Closes #12770 <!-- 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 😄 |
||
|
|
5332c2e330 |
Python: Require tool_call_id parameter for string-based tool messages in ChatHistory (#12753)
### Motivation and Context The `add_tool_message` method of `ChatHistory` accepts string content without requiring a `tool_call_id` parameter. This design is flawed from an API design perspective. It created tool messages that: 1. Violated chat completion protocols: most LLM APIs (OpenAI, etc.) require tool messages to have a `tool_call_id` that references a previous function call 2. Broke conversation flow: tool messages should always be responses to specific tool calls, maintaining the call-response relationship 3. Created malformed message sequences: messages without proper tool call IDs would fail when sent to language models <!-- 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 modifies the `add_tool_message` string overload to require a `tool_call_id` parameter, which makes sure we have proper tool call protocol compliance. 1. The string overload now validates that `tool_call_id` is provided and raises a clear error if missing 2. Tool messages now create `FunctionResultContent` objects with both `id` and `call_id` set to the provided `tool_call_id` 3. Added support for an optional `function_name` parameter for better bookkeeping 4. Provides informative error messages explaining why `tool_call_id` is required - Closes #12744 Before: ```python # This would create an invalid tool message without tool_call_id # when the `.to_dict()` method is called on `ChatMessageContent` chat_history.add_tool_message("Function result") # Creates broken message and losing pairing to the corresponding `FunctionCallContent`. ``` After: ```python # Now requires tool_call_id for proper protocol compliance chat_history.add_tool_message("Function result") # raises clear error due to missing `tool_call_id` chat_history.add_tool_message("Function result", tool_call_id="call_123") # works correctly # Optional function name for better bookkeeping chat_history.add_tool_message("Function result", tool_call_id="call_123", function_name="get_weather") # works as well ``` <!-- 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 😄 |
||
|
|
d4f6703cf3 |
Python: fix Bing grounding & custom search content generation (#12760)
### Motivation and Context The same `agent_content_generation` method is used to handle both `bing_grounding` and `bing_custom_search` tool calls; however, the method expected that the dicts on the underlying types were named the same - which they aren't. They have their respective names, as shown above. <!-- 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 Bing content generation based on the instance we're dealing with. - Add unit tests. - Closes #12746 <!-- 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 😄 |
||
|
|
b723fbd5e1 |
Python: Add mix agent orchestration sample (#12749)
### 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. --> We don't have a sample showing how to use a mix of agents of various types in an orchestration. This PR adds one. A bug is also discovered in the OpenAIResponsesAgent while creating the sample. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> 1. Add a new sample showing how to use a mix of agents in the Handoff orchestration. 2. Fix a bug in the OpenAIResponsesAgent where the tools were not considering the tools in the kernel instance. A new test is added too. 3. Fix a bug in the AgentActorBase where the intermediate message callback was rejecting ChatMeesageContent type. ### 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 😄 |
||
|
|
c79f5a5c63 |
Python: improved MCP connect and additional samples (#12696)
### 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. --> Adding a sample using StreamableHTTPServer towards Github. Added a demo showing how to connect to a OAuth protected MCP server. Also some improvements in the connect logic for MCP. ### 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 😄 |
||
|
|
48f71b1f2e |
Python: Support AzureAI agent MCP tools for streaming and non-streaming invocations (#12736)
### Motivation and Context MCP tool support was released for the AzureAI Agent and it has yet to be added to the SK Python AzureAIAgent. This PR adds functionality to handle the MCP tools for both streaming and non-streaming invocations. <!-- 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 Adds MCP support for the Python AzureAI Agent. - Upgrades dependent packages to be able to use the mcp tool from the Azure SDK. <!-- 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 😄 |
||
|
|
d96cadcebe |
Python: Update sentence-transformers requirement from <5.0,>=2.2 to >=2.2,<6.0 in /python (#12679)
Updates the requirements on [sentence-transformers](https://github.com/UKPLab/sentence-transformers) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/UKPLab/sentence-transformers/releases">sentence-transformers's releases</a>.</em></p> <blockquote> <h2>v5.0.0 - SparseEncoder support; encode_query & encode_document; multi-processing in encode; Router; and more</h2> <p>This release consists of significant updates including the introduction of Sparse Encoder models, new methods <code>encode_query</code> and <code>encode_document</code>, multi-processing support in <code>encode</code>, the <code>Router</code> module for asymmetric models, custom learning rates for parameter groups, composite loss logging, and various small improvements and bug fixes.</p> <p>Install this version with</p> <pre lang="bash"><code># Training + Inference pip install sentence-transformers[train]==5.0.0 <h1>Inference only, use one of:</h1> <p>pip install sentence-transformers==5.0.0 pip install sentence-transformers[onnx-gpu]==5.0.0 pip install sentence-transformers[onnx]==5.0.0 pip install sentence-transformers[openvino]==5.0.0 </code></pre></p> <blockquote> <p>[!TIP] Our <a href="https://huggingface.co/blog/train-sparse-encoder">Training and Finetuning Sparse Embedding Models with Sentence Transformers v5 blogpost</a> is an excellent place to learn about finetuning sparse embedding models!</p> </blockquote> <blockquote> <p>[!NOTE] This release is designed to be fully backwards compatible, meaning that you should be able to upgrade from older versions to v5.x without any issues. If you are running into issues when upgrading, feel free to open <a href="https://github.com/uKPLab/sentence-transformers/issues/new">an issue</a>. Also see the <a href="https://sbert.net/docs/migration_guide.html">Migration Guide</a> for changes that we would recommend.</p> </blockquote> <h2>Sparse Encoder models</h2> <p>The Sentence Transformers v5.0 release introduces Sparse Embedding models, also known as Sparse Encoders. These models generate high-dimensional embeddings, often with 30,000+ dimensions, where often only <1% of dimensions are non-zero. This is in contrast to the standard dense embedding models, which produce low-dimensional embeddings (e.g., 384, 768, or 1024 dimensions) where all values are non-zero.</p> <p>Usually, each active dimension (i.e. the dimension with a non-zero value) in a sparse embedding corresponds to a specific token in the model's vocabulary, allowing for interpretability. This means that you can e.g. see exactly which words/tokens are important in an embedding, and that you can inspect exactly because of which words/tokens two texts are deemed similar.</p> <p>Let's have a look at <a href="https://huggingface.co/naver/splade-v3">naver/splade-v3</a>, a strong sparse embedding model, as an example:</p> <pre lang="python"><code>from sentence_transformers import SparseEncoder <h1>Download from the 🤗 Hub</h1> <p>model = SparseEncoder("naver/splade-v3")</p> <h1>Run inference</h1> <p>sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium.", ] embeddings = model.encode(sentences) print(embeddings.shape)</p> <h1>(3, 30522)</h1> <h1>Get the similarity scores for the embeddings</h1> <p>similarities = model.similarity(embeddings, embeddings) print(similarities)</p> <h1>tensor([[ 32.4323, 5.8528, 0.0258],</h1> <p></tr></table> </code></pre></p> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/8dc0fca767afd74208764fd28f89dd83e8743241"><code>8dc0fca</code></a> Release v5.0.0</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/e91af6ac3e160aa0d610ea32aeb295f3ff648e67"><code>e91af6a</code></a> Update links for SPLADE and Inference-Free SPLADE models collections in docum...</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/4c00aea59d4b25061ba03761804a4266c3e8fd33"><code>4c00aea</code></a> [<code>fix</code>] Remove hub_kwargs in SparseStaticEmbedding.from_json in favor of more...</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/28685bb1d771b8609c5e4d4115a8b862267358ce"><code>28685bb</code></a> Clean up gitignore (<a href="https://redirect.github.com/UKPLab/sentence-transformers/issues/3409">#3409</a>)</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/85dd17518f15a8466ec131a4f82e1e93e4ada631"><code>85dd175</code></a> Fix formatting of docstring arguments in SpladeRegularizerWeightSchedulerCall...</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/14afc4b6681f0b83bded05fe91a8fd3320d453f9"><code>14afc4b</code></a> Merge PR <a href="https://redirect.github.com/UKPLab/sentence-transformers/issues/3401">#3401</a>: [<code>v5</code>] Add support for Sparse Embedding models</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/2d248419eb47c3710d50fa560d41e7fd17459846"><code>2d24841</code></a> Update tip phrasing and fix links</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/ed043c56b21d4a6c8f600e9d2a74523e522d6823"><code>ed043c5</code></a> typo</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/b2679d12294f9e0e5a2250cbcb400e9b4111f856"><code>b2679d1</code></a> fix broken link</li> <li><a href="https://github.com/UKPLab/sentence-transformers/commit/d30341ec2f3a8fa50eb41f924273e414bb7c0db7"><code>d30341e</code></a> Update tips to prepared for v5.0</li> <li>Additional commits viewable in <a href="https://github.com/UKPLab/sentence-transformers/compare/v2.2.0...v5.0.0">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]> |
||
|
|
190954a2c9 |
Python: Bump Python version to 1.35.0 for a release (#12725)
### Motivation and Context Bump Python version to 1.35.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.35.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 😄 |
||
|
|
b74ea05540 |
Python: Improve orchestration exception handling (#12716)
### 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, exceptions that occur inside the orchestration actors are not properly surfaced to the caller as it happens. Fixes: https://github.com/microsoft/semantic-kernel/issues/12719 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> This PR addresses the issue by introducing a new exception_callback that is hidden from the user but will raise exceptions that occurs inside the orchestration actors to the caller. ### 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 😄 |
||
|
|
9fe95bf30e |
Python: Update boto3 requirement from <1.39.0,>=1.36.4 to >=1.36.4,<1.40.0 in /python (#12638)
Updates the requirements on [boto3](https://github.com/boto/boto3) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/boto/boto3/commit/74b661c51dce9ff7bea2d60bc0394883650f1bd6"><code>74b661c</code></a> Merge branch 'release-1.39.0'</li> <li><a href="https://github.com/boto/boto3/commit/eba3ce194234574b446ab9ef78eae7ad50266e54"><code>eba3ce1</code></a> Bumping version to 1.39.0</li> <li><a href="https://github.com/boto/boto3/commit/171fcea4db5a1d9cbc9ba8760a9a7c5cffe4c476"><code>171fcea</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/f02c8ee2d7d3f7cfcc91df05ebe8be434433875a"><code>f02c8ee</code></a> Merge branch 'release-1.38.46'</li> <li><a href="https://github.com/boto/boto3/commit/058a5507e8866a58bb4b3c27b6e9885584b81473"><code>058a550</code></a> Merge branch 'release-1.38.46' into develop</li> <li><a href="https://github.com/boto/boto3/commit/804ef0f99d92575611f623f700e693c2f3e1ada2"><code>804ef0f</code></a> Bumping version to 1.38.46</li> <li><a href="https://github.com/boto/boto3/commit/533e5c24002b7f8df6f8c93d216ba9bfbd6d6203"><code>533e5c2</code></a> Add changelog entries from botocore</li> <li><a href="https://github.com/boto/boto3/commit/3595b04d47f723ae62d9f2b1e560cc88dbabb96c"><code>3595b04</code></a> Merge branch 'release-1.38.45'</li> <li><a href="https://github.com/boto/boto3/commit/874b24a403d49d4528a3e56bf979bd900d6b86c4"><code>874b24a</code></a> Merge branch 'release-1.38.45' into develop</li> <li><a href="https://github.com/boto/boto3/commit/df0b3fc9f783271a4fb3c137bb88509ae8377326"><code>df0b3fc</code></a> Bumping version to 1.38.45</li> <li>Additional commits viewable in <a href="https://github.com/boto/boto3/compare/1.36.4...1.39.0">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]> |
||
|
|
1e77014180 |
Python: Update pymongo requirement from <4.13,>=4.8.0 to >=4.8.0,<4.14 in /python (#12494)
Updates the requirements on [pymongo](https://github.com/mongodb/mongo-python-driver) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mongodb/mongo-python-driver/releases">pymongo's releases</a>.</em></p> <blockquote> <h2>PyMongo 4.13.2</h2> <p>Community notes: <a href="https://www.mongodb.com/community/forums/t/pymongo-4-13-2-released/323705">https://www.mongodb.com/community/forums/t/pymongo-4-13-2-released/323705</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst">pymongo's changelog</a>.</em></p> <blockquote> <h2>Changes in Version 4.13.2 (2025/06/17)</h2> <p>Version 4.13.2 is a bug fix release.</p> <ul> <li>Fixed a bug where <code>AsyncMongoClient</code> would block the event loop while creating new connections, potentially significantly increasing latency for ongoing operations.</li> </ul> <p>Issues Resolved ...............</p> <p>See the <code>PyMongo 4.13.2 release notes in JIRA</code>_ for the list of resolved issues in this release.</p> <p>.. _PyMongo 4.13.2 release notes in JIRA: <a href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=43937">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=43937</a></p> <h2>Changes in Version 4.13.1 (2025/06/10)</h2> <p>Version 4.13.1 is a bug fix release.</p> <ul> <li>Fixed a bug that could raise <code>ServerSelectionTimeoutError</code> when using timeouts with <code>AsyncMongoClient</code>.</li> <li>Fixed a bug that could raise <code>NetworkTimeout</code> errors on Windows.</li> </ul> <p>Issues Resolved ...............</p> <p>See the <code>PyMongo 4.13.1 release notes in JIRA</code>_ for the list of resolved issues in this release.</p> <p>.. _PyMongo 4.13.1 release notes in JIRA: <a href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=43924">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=43924</a></p> <h2>Changes in Version 4.13.0 (2025/05/14)</h2> <p>PyMongo 4.13 brings a number of changes including:</p> <ul> <li>The asynchronous API is now stable and no longer in beta. See the :mod:<code>pymongo.asynchronous</code> docs or the <code>migration guide <https://www.mongodb.com/docs/languages/python/pymongo-driver/current/reference/migration/></code>_ for more information.</li> <li>Fixed a bug where :class:<code>pymongo.write_concern.WriteConcern</code> repr was not eval-able when using <code>w="majority"</code>.</li> </ul> <p>Issues Resolved ...............</p> <p>See the <code>PyMongo 4.13 release notes in JIRA</code>_ for the list of resolved issues in this release.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/0a150feeeff5e19944b85a55875dd7e91dca6ce9"><code>0a150fe</code></a> PYTHON-5416 Prep for 4.13.2 release (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2389">#2389</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/ad3417411ae1ea1564402a1caa66f2269b426ca1"><code>ad34174</code></a> [v4.13] PYTHON-5414 Fix "module service_identity has no attribute SICertifica...</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/b127460c908fcb8a36f3ed6c591c6d7a25333b66"><code>b127460</code></a> [v4.13] PYTHON 5212 - Use asyncio.loop.sock_connect in _async_create_connecti...</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/a2077f60ea8da8aeaa17d19a9e744134e90778bb"><code>a2077f6</code></a> BUMP 4.13.2.dev0</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/5f800da807bb7772d544a6e6775c74dacdb1ffd5"><code>5f800da</code></a> [v4.13] PYTHON-5406 - Use correct client for test (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2378">#2378</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/386d1afcb5919177ac48880321e1392e6f4b5576"><code>386d1af</code></a> [v4.13] PYTHON-5400 Migrate away from Windows Server 2019 runner image on Git...</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/1eee90f0e55291738b026d2cc26805efcb9d25ed"><code>1eee90f</code></a> [v4.13] PYTHON-5405 Use legacy wait_for_read cancellation approach on Windows...</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/09a32f6d409ba8eeb7d800abd7cf249fc6022827"><code>09a32f6</code></a> [v4.13] PYTHON-5406 - AsyncPeriodicExecutor must reset CSOT contextvars befor...</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/14417adc3fa2269402190b05089d4bc24c284223"><code>14417ad</code></a> PYTHON-5411 Prep for 4.13.1 release (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2370">#2370</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/56e6f1c3585d3db6779cd90cc5d79ffc4e81b736"><code>56e6f1c</code></a> [v4.13] Update release metadata (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2365">#2365</a>)</li> <li>Additional commits viewable in <a href="https://github.com/mongodb/mongo-python-driver/compare/4.8.0...4.13.2">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]> |
||
|
|
ba031e689d |
Python: Properly handle AzureAI Search results for AzureAIAgent (#12654)
### Motivation and Context After the Azure AI Agent service went to GA, there were some updates in the underlying SDK. When there are azure_ai_search results while running the agent, they no longer show up as attributes related to the tool call. They are present in the dictionary, so our current code is failing when trying to access the attribute. This PR updates how we form the FunctionCallContent or FunctionResultContent for both azure_ai_search streaming and non-streaming. <!-- 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 Update how we form the FunctionCallContent or FunctionResultContent for both azure_ai_search streaming and non-streaming for the AzureAIAgent. - Closes #12422 <!-- 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 😄 |
||
|
|
93a14d5115 |
Python: feature: support gpt-image-1 (#12621)
This pull request was created in response to the issue https://github.com/microsoft/semantic-kernel/issues/12500#issuecomment-2998387488. The current AzureTextToImage implementation only works with DALL-E 3. For gpt-image-1, the response format has changed from a URL to base64 only, which the current code does not support. Additionally, gpt-image-1 introduces a new image editing feature that also needs to be supported. Since breaking changes are required, new methods have been added. Minimal code that reproduces the problem ```python service = AzureTextToImage( service_id=service_id, deployment_name="image-1", endpoint=AZURE_OPENAI_IMAGE_ENDPOINT, api_key=AZURE_OPENAI_IMAGE_API_KEY, ) ) settings = service.get_prompt_execution_settings_class()(service_id="image1") settings.prompt = "sky" settings.size = ImageSize(width=1024, height=1024) settings.quality = "low" r = await service.generate_image(settings=settings) ``` Example of use with newly added methods ```python from semantic_kernel.connectors.ai.open_ai import AzureTextToImage service = AzureTextToImage( service_id="image1", deployment_name="gpt-image-1", endpoint=AZURE_OPENAI_IMAGE_ENDPOINT, api_key=AZURE_OPENAI_IMAGE_API_KEY, api_version="2025-04-01-preview", ) settings = service.get_prompt_execution_settings_class()(service_id="image1") settings.n = 3 images_b64 = await service.generate_images("A cute cat wearing a whimsical striped hat", settings=settings) ``` ```python from semantic_kernel.connectors.ai.open_ai import AzureTextToImage service = AzureTextToImage( service_id="image1", deployment_name="gpt-image-1", endpoint=AZURE_OPENAI_IMAGE_ENDPOINT, api_key=AZURE_OPENAI_IMAGE_API_KEY, api_version="2025-04-01-preview", ) file_paths = ["./new_images/img_1.png", "./new_images/img_2.png"] settings = service.get_prompt_execution_settings_class()(service_id="image1") settings.n = 2 results = await service.edit_image( prompt="Make the cat wear a wizard hat", image_paths=file_paths, settings=settings, ) ``` ## Problems Identified 1. Assumption of URL-based responses. The current implementation assumes a response format that includes an image url, which is not the case for gpt-image-1. See: https://github.com/microsoft/semantic-kernel/blob/8d1b3fd55155bb65e9671383366d2672c4582fb0/python/semantic_kernel/connectors/ai/open_ai/services/open_ai_text_to_image_base.py#L69 |
||
|
|
c15c885f84 |
Python: Emit partial result for magentic pattern when retrieving final result, if available (#12656)
### Motivation and Context When using the magentic orchestration pattern, if the `max_round_count` is hit, the final result shows as: ``` Final result: Max round count reached. ``` The interim messages do show as part of the `agent_response_callback`; however, not everyone may have that configured. We should return more meaningful results, even if partial. This PR updates to try and get a partial result if it exists. When one calls: ```python value = await orchestration_result.get() ``` for the `step5_magentic.py` sample, with `max_round_count=1` they should receive the partial result: ``` Final result: Based on the available data, here is a comparison of the estimated training and inference energy consumption for ResNet-50, BERT-base, and GPT-2, along with the associated CO₂ emissions when training on an Azure Standard_NC6s_v3 VM for 24 hours. **Model Architectures and Datasets:** - **ResNet-50**: Image classification model trained on ImageNet. - **BERT-base**: Text classification model fine-tuned on the GLUE benchmark. - **GPT-2**: Text generation model trained on WebText. ... <rest omitted for brevity> ... ``` <!-- 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 Return partial results for magentic orchestration if they exist. - Closes #12625 <!-- 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 😄 |
||
|
|
ba000c3368 |
Python: Use message cache in agent orchestrations (#12618)
### 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. --> Some agent threads don't support adding messages. An example of this is the copilot studio agent. In an agent orchestration, an agent may receive multiple messages before it is asked to generate a response. The currently approach in the orchestrations would add new messages to an agent thread whenever an agent receives a message, making the copilot studio agent not compatible with some orchestrations. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Instead of adding messages to the agent thread, this PR introduces a message cache to store messages temporarily before the agent is invoked. ### 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 😄 |
||
|
|
ef392d22ee |
Python: Bump version to 1.34.0 for a release (#12580)
### Motivation and Context Bump version to 1.34.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 version to 1.34.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 😄 |
||
|
|
16d708e161 |
Python: added operationid validation in openapi spec (#12551)
Description This PR enforces the presence of an explicit `operationId` for every operation in the OpenAPI specification. Previously, if `operationId` was missing, a default value was generated using the path and HTTP method. Now, the parser will raise a PluginInitializationError if operationId is not provided, ensuring that all operations are uniquely and explicitly identified as required by the OpenAPI standard. Key changes: - Added validation to check for the existence of operationId in each operation. - If operationId is missing, a clear error is raised, preventing fallback to a default value. - [python/tests/unit/connectors/openapi_plugin/no-operationid-openapi.yaml](https://github.com/microsoft/semantic-kernel/compare/main...sshandilya1991:semantic-kernel:sshandilya/12443_add_operation_id_validation?expand=1#diff-3d272039b3afa97f89805f0ee0258a98b613f0f373c603467b336a8912d5651a) serves as a test case. - Closes #12443 Edit: - Added more validation for operationId to be unique & throw in case duplicate operationId found while parsing. |
||
|
|
2bfa31b754 |
Python: pseudo-stream copilot invoke_stream (#12548)
### Motivation and Context The current copilot studio client doesn't support streaming invocation. The underlying orchestration patterns rely on agents to have an invoke_stream. Since it doesn't exist in the copilot agent, that agent type cannot be used. This PR implements a pseudo-invoke_stream so that the agent can be used with patterns - although it doesn't stream the response back in chunks, it unblocks the use if one desired to use our new orchestration patterns. <!-- 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 - Closes #12449 <!-- 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 😄 |
||
|
|
9e3cdffc6b |
Python: Improve AzureAIAgent get thread msg handling. (#12535)
### Motivation and Context Currently, when fetching thread messages for an AzureAIAgent, it assumes that the agent exists, so we can pull it down and get its id. This may not always be the case - an agent could have been deleted, but the thread still exists. We need to account for this. When creating user messages that we add to the thread, there's no `name` or `id` parameter allowed. We can, however, add metadata to the message. Going forward we are adding the `agent_id` as metadata to the message, so upon retrieval later, we can attempt to get it and return the id with the user's message. This allows one to see which agent_id has responded to the user's message: ``` # Messages in the thread (asc order): # AuthorRole.USER for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: Hello # AuthorRole.ASSISTANT for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: Hello! How can I assist you with the menu today? # AuthorRole.USER for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: What is the special soup? # AuthorRole.ASSISTANT for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: The special soup today is Clam Chowder. Would you like to know more about it or anything else on the menu? # AuthorRole.USER for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: How much does that cost? # AuthorRole.ASSISTANT for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: The Clam Chowder costs $9.99. Would you like to order it or need information on other items? # AuthorRole.USER for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: Thank you # AuthorRole.ASSISTANT for name=asst_mXwZOwyJLxXGtaYKHizRH6Ip: You're welcome! If you have any more questions or need assistance with the menu, feel free to ask. Enjoy your meal! ``` <!-- 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 - Closes #12435 <!-- 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 😄 |
||
|
|
003cc4c010 |
Python: Feature python vector stores preb (#12271)
### 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. --> Overhaul of the VectorStores to get it matching with dotnet and the latest development there. Closes: - #11938 - #11598 - #11597 - #11517 - #10561 - #10391 - #9911 - #9892 - #10867 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Many changes, some highlights: - Moved from different vector fields types, to a single with a enum first VectorStoreField() - Renamed several items - Made embeddinggenerrator a part of the vector field spec and do automatic vectorization from there or from the same param on a collection - Adds hybrid search using the same setup - Removed the intermediate TextSeachVectorSearch object need, by allowing `create_search_function` directly on a collection Will write out full changes in a migration guide in the docs. ### 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 😄 |
||
|
|
466a610727 |
Python: Allow for structured outputs with Ollama (#12533)
### Motivation and Context Ollama's execution settings currently only allow for `json` literal. We also want to support structured outputs for models that support it. <!-- 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 - Closes #12355 - Supersedes #12386 <!-- 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 😄 |
||
|
|
2e8f17dadd |
Python: Bump google-cloud-aiplatform from 1.95.1 to 1.97.0 in /python (#12496)
Bumps [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) from 1.95.1 to 1.97.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.97.0</h2> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.96.0...v1.97.0">1.97.0</a> (2025-06-11)</h2> <h3>Features</h3> <ul> <li>Add GenAI client (experimental) (<a href="https://github.com/googleapis/python-aiplatform/commit/166b747b2f1676651cd020c9b66df169ca5920fa">166b747</a>)</li> <li>Expose UrlContextMetadata API to v1 (<a href="https://github.com/googleapis/python-aiplatform/commit/b57cbd34ca1de69ded45ea584ff5808fe30bd89c">b57cbd3</a>)</li> <li>Expose UrlContextMetadata API to v1beta1 (<a href="https://github.com/googleapis/python-aiplatform/commit/b57cbd34ca1de69ded45ea584ff5808fe30bd89c">b57cbd3</a>)</li> <li>Integration with Vertex AI Multimodal Datasets: Update <code>train_dataset</code> and <code>validation_dataset</code> in <code>sft.train()</code> docstring to include the Vertex Multimodal Dataset as a dataset source option. (<a href="https://github.com/googleapis/python-aiplatform/commit/eac1de0e363624edd5abede7eb42de66c5ae4d17">eac1de0</a>)</li> <li>RAG - Introduce configuration to corpus types, with DocumentCorpus and MemoryCorpus options. (<a href="https://github.com/googleapis/python-aiplatform/commit/ede4b5b718197ba077e897e49f8079f3da21422e">ede4b5b</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Add default auth scope (<a href="https://github.com/googleapis/python-aiplatform/commit/3d747e7ea3c7b681c374c6036e008332e7e04888">3d747e7</a>)</li> <li>Add support for ADK Agents as a supported type for agent engine (<a href="https://github.com/googleapis/python-aiplatform/commit/6b177ca9261afb07b291d36e4b8e214d359c4296">6b177ca</a>)</li> <li>Set memory corpus configuration into RagCorpus object. (<a href="https://github.com/googleapis/python-aiplatform/commit/39d3c702443af4c4ef2c804d1c43f890c8915878">39d3c70</a>)</li> </ul> <h2>v1.96.0</h2> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.95.1...v1.96.0">1.96.0</a> (2025-06-03)</h2> <h3>Features</h3> <ul> <li>A new field <code>include_thoughts</code> is added to message <code>.google.cloud.aiplatform.v1.GenerationConfig.ThinkingConfig</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>A new field <code>include_thoughts</code> is added to message <code>.google.cloud.aiplatform.v1.Part</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>A new field <code>thought_signature</code> is added to message <code>.google.cloud.aiplatform.v1.Part</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>A new field <code>thought</code> is added to message <code>.google.cloud.aiplatform.v1.Part</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add json schema support to structured output and function declaration (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add json schema support to structured output and function declaration (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add network_attachment to PscInterfaceConfig (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add psc_interface_config to CustomJobSpec (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add psc_interface_config to PersistentResource (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add psc_interface_config to PipelineJob (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Expose URL Context API to v1 (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Expose URL Context API to v1beta1 (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Small fix in <code>MultimodalDataset.toBigframes()</code>. (<a href="https://github.com/googleapis/python-aiplatform/commit/ee12f055cb7cd42b99b0d72908243e94907f5470">ee12f05</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Allow field <code>thought</code> to be set as input (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> </ul> <h3>Miscellaneous Chores</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </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.96.0...v1.97.0">1.97.0</a> (2025-06-11)</h2> <h3>Features</h3> <ul> <li>Add GenAI client (experimental) (<a href="https://github.com/googleapis/python-aiplatform/commit/166b747b2f1676651cd020c9b66df169ca5920fa">166b747</a>)</li> <li>Expose UrlContextMetadata API to v1 (<a href="https://github.com/googleapis/python-aiplatform/commit/b57cbd34ca1de69ded45ea584ff5808fe30bd89c">b57cbd3</a>)</li> <li>Expose UrlContextMetadata API to v1beta1 (<a href="https://github.com/googleapis/python-aiplatform/commit/b57cbd34ca1de69ded45ea584ff5808fe30bd89c">b57cbd3</a>)</li> <li>Integration with Vertex AI Multimodal Datasets: Update <code>train_dataset</code> and <code>validation_dataset</code> in <code>sft.train()</code> docstring to include the Vertex Multimodal Dataset as a dataset source option. (<a href="https://github.com/googleapis/python-aiplatform/commit/eac1de0e363624edd5abede7eb42de66c5ae4d17">eac1de0</a>)</li> <li>RAG - Introduce configuration to corpus types, with DocumentCorpus and MemoryCorpus options. (<a href="https://github.com/googleapis/python-aiplatform/commit/ede4b5b718197ba077e897e49f8079f3da21422e">ede4b5b</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Add default auth scope (<a href="https://github.com/googleapis/python-aiplatform/commit/3d747e7ea3c7b681c374c6036e008332e7e04888">3d747e7</a>)</li> <li>Add support for ADK Agents as a supported type for agent engine (<a href="https://github.com/googleapis/python-aiplatform/commit/6b177ca9261afb07b291d36e4b8e214d359c4296">6b177ca</a>)</li> <li>Set memory corpus configuration into RagCorpus object. (<a href="https://github.com/googleapis/python-aiplatform/commit/39d3c702443af4c4ef2c804d1c43f890c8915878">39d3c70</a>)</li> </ul> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.95.1...v1.96.0">1.96.0</a> (2025-06-03)</h2> <h3>Features</h3> <ul> <li>A new field <code>include_thoughts</code> is added to message <code>.google.cloud.aiplatform.v1.GenerationConfig.ThinkingConfig</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>A new field <code>include_thoughts</code> is added to message <code>.google.cloud.aiplatform.v1.Part</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>A new field <code>thought_signature</code> is added to message <code>.google.cloud.aiplatform.v1.Part</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>A new field <code>thought</code> is added to message <code>.google.cloud.aiplatform.v1.Part</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add json schema support to structured output and function declaration (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add json schema support to structured output and function declaration (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add network_attachment to PscInterfaceConfig (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add psc_interface_config to CustomJobSpec (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add psc_interface_config to PersistentResource (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Add psc_interface_config to PipelineJob (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Expose URL Context API to v1 (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> <li>Expose URL Context API to v1beta1 (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Small fix in <code>MultimodalDataset.toBigframes()</code>. (<a href="https://github.com/googleapis/python-aiplatform/commit/ee12f055cb7cd42b99b0d72908243e94907f5470">ee12f05</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Allow field <code>thought</code> to be set as input (<a href="https://github.com/googleapis/python-aiplatform/commit/f2244aac08867e292a07ec7aa958f4f0c6eea09d">f2244aa</a>)</li> </ul> <h3>Miscellaneous Chores</h3> <ul> <li>Release 1.96.0 (<a href="https://github.com/googleapis/python-aiplatform/commit/97be629f2790b356340ed6b6ebfe78bff73afca5">97be629</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/googleapis/python-aiplatform/commit/da09275f08109a9cb39d7838cf67e7e75b10af84"><code>da09275</code></a> chore(main): release 1.97.0 (<a href="https://redirect.github.com/googleapis/python-aiplatform/issues/5385">#5385</a>)</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/1fe610e13e2fb76372378f5103b5d3faec0a2ab1"><code>1fe610e</code></a> chore: add evaluate method to GenAI evals module</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/fde5c658aeea27e30a6a9d75a8813f161c725dad"><code>fde5c65</code></a> chore: add metric handlers for GenAI evals module</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/5b1b83cf08b37ed9c01378b897434f760d01583e"><code>5b1b83c</code></a> chore: Add evals metric validation, load/dump, and versioning utils</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/3d747e7ea3c7b681c374c6036e008332e7e04888"><code>3d747e7</code></a> fix: Add default auth scope</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/eac1de0e363624edd5abede7eb42de66c5ae4d17"><code>eac1de0</code></a> feat: Integration with Vertex AI Multimodal Datasets: Update <code>train_dataset</code> ...</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/6b177ca9261afb07b291d36e4b8e214d359c4296"><code>6b177ca</code></a> fix: Add support for ADK Agents as a supported type for agent engine</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/b57cbd34ca1de69ded45ea584ff5808fe30bd89c"><code>b57cbd3</code></a> Copybara import of the project:</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/9e37d2ea0ff682dadb5b81ec8c0904680e82c7b8"><code>9e37d2e</code></a> chore: Fix sample lint</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/467e9ed78e13a9aef1b09211aa0210b84009dd3d"><code>467e9ed</code></a> chore: add eval dataset merging utilities</li> <li>Additional commits viewable in <a href="https://github.com/googleapis/python-aiplatform/compare/v1.95.1...v1.97.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> |
||
|
|
bd4168316d |
Python: add Foundry local sample (#12214)
### 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. --> Sample on how to use Foundry Local with SK. ### 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 😄 |
||
|
|
cef5ae7402 |
Python: Support | and |= operators for KernelArgument (#12499)
### Motivation and Context `KernelArguments` extends the built-in `dict` by adding an `execution_settings` attribute. However, when using the `|` and `|=` operators, only the `dict` part (excluding `execution_settings`) is merged, and the result becomes a plain `dict`. This causes the `execution_settings` attribute to be lost and not updated. ### Description - Implemented support for the `|` and `|=` operators to make it easier for users to merge `KernelArgument` objects. - The right-hand or left-hand side of the operator can be either a `KernelArgument` or a `dict` (or any subclass of dict). - When merging, both the `execution_settings` attribute and the rest of the `dict` data are merged individually, and the result is returned as a `KernelArgument`. - As long as either side of the operator is a `KernelArgument`, the result will also be a `KernelArgument`. ### 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 😄 |
||
|
|
206655adbb |
Python: Add check for not approved and approved for Agent Sample (#12316)
### Motivation and Context I was having a Demo with the Agents, and found that `step06_chat_completion_agent_group_chat.py` sample always terminated after one iteration. The Reviewer Agent answered "not approved", which also triggered the `Termination Strategy`, due to the fact that the word `approved` is also in `not approved`. To only trigger when there is a real approval I added a check if the answer is `approved` **and** the answer also don't include `not approve` ### 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: Chris <[email protected]> Co-authored-by: Evan Mattson <[email protected]> |
||
|
|
6ab348991f |
Python: Bump torch from 2.7.0 to 2.7.1 in /python (#12424)
Bumps [torch](https://github.com/pytorch/pytorch) from 2.7.0 to 2.7.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytorch/pytorch/releases">torch's releases</a>.</em></p> <blockquote> <h2>PyTorch 2.7.1 Release, bug fix release</h2> <p>This release is meant to fix the following issues (regressions / silent correctness):</p> <h3>Torch.compile</h3> <p>Fix Excessive cudagraph re-recording for HF LLM models (<a href="https://redirect.github.com/pytorch/pytorch/pull/152287">#152287</a>) Fix torch.compile on some HuggingFace models (<a href="https://redirect.github.com/pytorch/pytorch/pull/151154">#151154</a>) Fix crash due to Exception raised inside torch.autocast (<a href="https://redirect.github.com/pytorch/pytorch/pull/152503">#152503</a>) Improve Error logging in torch.compile (<a href="https://redirect.github.com/pytorch/pytorch/pull/149831">#149831</a>) Mark mutable custom operators as cacheable in torch.compile (<a href="https://redirect.github.com/pytorch/pytorch/pull/151194">#151194</a>) Implement workaround for a graph break with older version einops (<a href="https://redirect.github.com/pytorch/pytorch/pull/153925">#153925</a>) Fix an issue with tensor.view(dtype).copy_(...) (<a href="https://redirect.github.com/pytorch/pytorch/pull/151598">#151598</a>)</p> <h3>Flex Attention</h3> <p>Fix assertion error due to inductor permuting inputs to flex attention (<a href="https://redirect.github.com/pytorch/pytorch/pull/151959">#151959</a>) Fix performance regression on nanogpt speedrun (<a href="https://redirect.github.com/pytorch/pytorch/pull/152641">#152641</a>)</p> <h3>Distributed</h3> <p>Fix extra CUDA context created by barrier (<a href="https://redirect.github.com/pytorch/pytorch/pull/149144">#149144</a>) Fix an issue related to Distributed Fused Adam in Rocm/APEX when using nccl_ub feature (<a href="https://redirect.github.com/pytorch/pytorch/pull/150010">#150010</a>) Add a workaround random hang in non-blocking API mode in NCCL 2.26 (<a href="https://redirect.github.com/pytorch/pytorch/pull/154055">#154055</a>)</p> <h3>MacOS</h3> <p>Fix MacOS compilation error with Clang 17 (<a href="https://redirect.github.com/pytorch/pytorch/pull/151344">#151316</a>) Fix binary kernels produce incorrect results when one of the tensor arguments is from a wrapped scalar on MPS devices (<a href="https://redirect.github.com/pytorch/pytorch/pull/152997">#152997</a>)</p> <h3>Other</h3> <p>Improve PyTorch Wheel size due to introduction of addition of 128 bit vectorization (<a href="https://redirect.github.com/pytorch/pytorch/pull/148320">#148320</a>) (<a href="https://redirect.github.com/pytorch/pytorch/pull/152396">#152396</a>) Fix fmsub function definition (<a href="https://redirect.github.com/pytorch/pytorch/pull/152075">#152075</a>) Fix Floating point exception in torch.mkldnn_max_pool2d (<a href="https://redirect.github.com/pytorch/pytorch/pull/151848">#151848</a>) Fix abnormal inference output with XPU:1 device (<a href="https://redirect.github.com/pytorch/pytorch/pull/153067">#153067</a>) Fix Illegal Instruction Caused by grid_sample on Windows (<a href="https://redirect.github.com/pytorch/pytorch/pull/152613">#152613</a>) Fix ONNX decomposition does not preserve custom CompositeImplicitAutograd ops (<a href="https://redirect.github.com/pytorch/pytorch/pull/151826">#151826</a>) Fix error with dynamic linking of libgomp library (<a href="https://redirect.github.com/pytorch/pytorch/pull/150084">#150084</a>) Fix segfault in profiler with Python 3.13 (<a href="https://redirect.github.com/pytorch/pytorch/pull/153848">#153848</a>)</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytorch/pytorch/commit/e2d141dbde55c2a4370fac5165b0561b6af4798b"><code>e2d141d</code></a> set thread_work_size to 4 for unrolled kernel (<a href="https://redirect.github.com/pytorch/pytorch/issues/154541">#154541</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/121419899b9955bbd41b14a207205a9b298ed3f0"><code>1214198</code></a> [c10d] Fix extra CUDA context created by barrier (<a href="https://redirect.github.com/pytorch/pytorch/issues/152834">#152834</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/790cc2f02c193b955a1225cea2f79b624a3013bc"><code>790cc2f</code></a> [c10d] Add more tests to prevent extra context (<a href="https://redirect.github.com/pytorch/pytorch/issues/154179">#154179</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/62ea99a94771dc547320583576b0bc10ded6a3ce"><code>62ea99a</code></a> [CI] Remove the xpu env source for linux binary validate (<a href="https://redirect.github.com/pytorch/pytorch/issues/154409">#154409</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/941732c8298c3a5f5e72b4f744c9d723b751967e"><code>941732c</code></a> [ROCm] Added unit test to test the cuda_pluggable allocator (<a href="https://redirect.github.com/pytorch/pytorch/issues/154135">#154135</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/769d5da70224ee032fce196b9400927f8b515540"><code>769d5da</code></a> [binary builds] Linux aarch64 CUDA builds. Make sure tag is set correctly (<a href="https://redirect.github.com/pytorch/pytorch/issues/1">#1</a>...</li> <li><a href="https://github.com/pytorch/pytorch/commit/306ba122bd4653875d450a94918227a180ebe5d4"><code>306ba12</code></a> Fix uint view copy (<a href="https://redirect.github.com/pytorch/pytorch/issues/151598">#151598</a>) (<a href="https://redirect.github.com/pytorch/pytorch/issues/154121">#154121</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/1ae99532808dac1b833df6bfa37fb21f6e17aa0f"><code>1ae9953</code></a> [ROCm] Update CUDAPluggableAllocator.h (<a href="https://redirect.github.com/pytorch/pytorch/issues/1984">#1984</a>) (<a href="https://redirect.github.com/pytorch/pytorch/issues/153974">#153974</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/4a815ed15aa99dee3527011cfdd11068dcb946ad"><code>4a815ed</code></a> ci: Set minimum cmake version for halide build (<a href="https://redirect.github.com/pytorch/pytorch/issues/154122">#154122</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/4c7314e78c3aef08ef9ac674ef708200fb10c35c"><code>4c7314e</code></a> [Dynamo] Fix einops regression (<a href="https://redirect.github.com/pytorch/pytorch/issues/154053">#154053</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytorch/pytorch/compare/v2.7.0...v2.7.1">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> |
||
|
|
44f1253460 |
Python: Agent response callbacks to provide full context (#12501)
### 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, the agent response callbacks in the `Orchestrations` are triggered only when the final responses from the agents become available. This limits developers to create solutions that can expose the internal processing of the agents in multi agent orchestrations. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> The callbacks will now be triggered by the intermediate messages of the agents: 1. A new sample 2. Tests P.s. Fix a bug where the name of the intermediate messages is not assigned. ### 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 😄 |
||
|
|
8d1b3fd551 |
Python: fixes for new MCP types and small openapi fix (#12486)
### 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. --> Fixes to include AudioContent for MCP Small typing improvement in OpenAPI. ### 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 😄 |
||
|
|
9b8f8e22c3 |
Python: Correct chat completion agent history truncation samples (#12474)
### 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. --> While addressing the developer in this [discussion](https://github.com/microsoft/semantic-kernel/discussions/12450), I notice that there are a few changes needed to the improve the truncation history reducer samples of the chat completion agent. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Update the samples. ### 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 😄 |
||
|
|
dfbc993d8f |
Python: Remove orchestration persona adaptation messages (#12446)
### 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. --> We previously found that agents might get carried away from in long contexts. The persona adaptation messages were designed to steer the agents in an orchestration to respond more closely to the instructions provided (as system message). As we perform more testing with newer models, we believe that the persona adaptation messages are no longer necessary. The additional instability (because they are hardcoded messages that devs can't override) and cost (the additional token cost which is not significant, but they do pollute the context which makes debugging difficult) they introduce is not worth the benefit they provide. Closing #12294 > Ideally, we'd want to approach this more analytically. The lack of a multi-agent evaluation process makes it difficult. All samples were verified to make sure they behave the same before and after the removal of the persona adaptation messages. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> 1. Remove the persona adaptation messages. 2. Unit tests. 3. Replace `OpenAIChatCompletion` with `AzureChatCompletion` in some of the samples. ### 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 😄 |
||
|
|
029732dc36 |
Python: Bump Python version to 1.33.0 for release (#12427)
### Motivation and Context Bump Python version to 1.33.0 for 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.33.0 for 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 😄 |
||
|
|
4b23389f71 |
Python: Emit token usage with streaming chat completion agent. (#12416)
### Motivation and Context
The chat completion agent was not emitting token using during streaming
invocation because we were only allowing through `response.items`. In
the case of token usage, `response.items` is [] and the usage is
contained as part of the message's `metadata` dict. This PR fixes that
bug and allows for `response.items or response.metadata.get("usage")`.
Two new samples are added to the concepts/agents/chat_completion dir to
show how one can track token use for streaming and non-streaming agent
invocation. Token usage handling is also added to the chat completion
agent integration tests.
<!-- 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
- Fixes a bug where we weren't emitting the streaming token usage for
the chat completion agent. Also now includes the `prompt_tokens_details`
and `completion_tokens_details` models that are returned, but not
previously handled.
- Adds new samples
- Updates integration tests to track token usage and make sure they're
non-zero.
- Closes #12411
<!-- 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 😄
|
||
|
|
c3c8dfabc6 |
Python: Bing custom search tool content support (#12415)
### Motivation and Context In the `azure-ai-agent` package version 1.1.0b1, they provided the `AgentsNamedToolChoiceType.BING_CUSTOM_SEARCH` enum. Adding this to then provide support for generating bing grounding content for streaming/non-streaming path. <!-- 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 BING_CUSTOM_SEARCH enum to allow for content support. - Bumps `pyproject.toml` `azure-ai-agents` min allowed version to `1.1.0b1` which includes this new enum. <!-- 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 😄 |
||
|
|
3e31c3bdc6 |
Python: Remove planner-related code and samples. (#12417)
### Motivation and Context Per deprecation method, removing planner-related code after June 1, 2025. <!-- 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 - Removing planner-related code. - Closes #12400 <!-- 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 😄 |
||
|
|
e0221e58ce |
Python: Fix OpenAPI concept sample (#12418)
### Motivation and Context An OpenAPI concept sample that we have is broken. This PR fixes it to run properly based on the current OpenAPI plugin handling. <!-- 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 Fixes the broken OpenAPI 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 😄 |
||
|
|
576a49b7fb |
Python: Bump google-cloud-aiplatform from 1.93.0 to 1.95.1 in /python (#12346)
Bumps [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) from 1.93.0 to 1.95.1. <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.95.1</h2> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.95.0...v1.95.1">1.95.1</a> (2025-05-30)</h2> <h3>Features</h3> <ul> <li>Add support to process RAG response and generate inline citations in RAG v1. (<a href="https://github.com/googleapis/python-aiplatform/commit/2b2dc4fbc5d52b16159868b112affafa8ac716ae">2b2dc4f</a>)</li> <li>Register async methods to AdkApp. (<a href="https://github.com/googleapis/python-aiplatform/commit/cb2754de4707228bf7df7f7be078c61b77abd314">cb2754d</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix CachedContent.create if the kms_key_name is not given (<a href="https://github.com/googleapis/python-aiplatform/commit/05986c068b1719de22ee32536ec592ea04ee012b">05986c0</a>)</li> </ul> <h3>Miscellaneous Chores</h3> <ul> <li>Release 1.95.1 (<a href="https://github.com/googleapis/python-aiplatform/commit/1d2387f1e418efa8db7c1e14f37d36647662b3d2">1d2387f</a>)</li> </ul> <h2>v1.95.0</h2> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.94.0...v1.95.0">1.95.0</a> (2025-05-28)</h2> <h3>Features</h3> <ul> <li>[vertexai] Fix the result of export function (<a href="https://github.com/googleapis/python-aiplatform/commit/9427b158dd9d3d8a6ec56024484855947d4a0eac">9427b15</a>)</li> <li>Add async support for reasoning engine. (<a href="https://github.com/googleapis/python-aiplatform/commit/1b7d29cb8727a8ce49f849705451aba64c4f88dd">1b7d29c</a>)</li> <li>Introduce RAG as context/memory store for Gemini Live API (<a href="https://github.com/googleapis/python-aiplatform/commit/787c60fc1f79f80c693df1300f8a33cc17a08ee1">787c60f</a>)</li> <li>Update AdkApp template to match ADK async interface. After this change, AdkApp will only work with ADK >= 1.0.0. (<a href="https://github.com/googleapis/python-aiplatform/commit/e1745d7767780613de2211ef0fb302105eff9cef">e1745d7</a>)</li> </ul> <h2>v1.94.0</h2> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.93.1...v1.94.0">1.94.0</a> (2025-05-22)</h2> <h3>Features</h3> <ul> <li>Add checkpoint ID to endpoint proto (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add checkpoint ID to endpoint proto (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add encryption_spec to Model Monitoring public preview API (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add VertexAISearch.max_results, filter, data_store_specs options (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add VertexAISearch.max_results, filter, data_store_specs options (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Adding thoughts_token_count to prediction service (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Adding thoughts_token_count to v1beta1 client library (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Update preview <code>create_corpus</code> to accept <code>encryption_spec</code> in <code>rag_data.py</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/ad821c58f834981adb9759013248e7156f3706b9">ad821c5</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Throw error when user is using google-adk>=1.0.0 as it is not well supported for now. (<a href="https://github.com/googleapis/python-aiplatform/commit/634bb78c32168fac7ac084a1fcbdede8e45bdae8">634bb78</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </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.95.0...v1.95.1">1.95.1</a> (2025-05-30)</h2> <h3>Features</h3> <ul> <li>Add support to process RAG response and generate inline citations in RAG v1. (<a href="https://github.com/googleapis/python-aiplatform/commit/2b2dc4fbc5d52b16159868b112affafa8ac716ae">2b2dc4f</a>)</li> <li>Register async methods to AdkApp. (<a href="https://github.com/googleapis/python-aiplatform/commit/cb2754de4707228bf7df7f7be078c61b77abd314">cb2754d</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix CachedContent.create if the kms_key_name is not given (<a href="https://github.com/googleapis/python-aiplatform/commit/05986c068b1719de22ee32536ec592ea04ee012b">05986c0</a>)</li> </ul> <h3>Miscellaneous Chores</h3> <ul> <li>Release 1.95.1 (<a href="https://github.com/googleapis/python-aiplatform/commit/1d2387f1e418efa8db7c1e14f37d36647662b3d2">1d2387f</a>)</li> </ul> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.94.0...v1.95.0">1.95.0</a> (2025-05-28)</h2> <h3>Features</h3> <ul> <li>[vertexai] Fix the result of export function (<a href="https://github.com/googleapis/python-aiplatform/commit/9427b158dd9d3d8a6ec56024484855947d4a0eac">9427b15</a>)</li> <li>Add async support for reasoning engine. (<a href="https://github.com/googleapis/python-aiplatform/commit/1b7d29cb8727a8ce49f849705451aba64c4f88dd">1b7d29c</a>)</li> <li>Introduce RAG as context/memory store for Gemini Live API (<a href="https://github.com/googleapis/python-aiplatform/commit/787c60fc1f79f80c693df1300f8a33cc17a08ee1">787c60f</a>)</li> <li>Update AdkApp template to match ADK async interface. After this change, AdkApp will only work with ADK >= 1.0.0. (<a href="https://github.com/googleapis/python-aiplatform/commit/e1745d7767780613de2211ef0fb302105eff9cef">e1745d7</a>)</li> </ul> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.93.1...v1.94.0">1.94.0</a> (2025-05-22)</h2> <h3>Features</h3> <ul> <li>Add checkpoint ID to endpoint proto (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add checkpoint ID to endpoint proto (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add encryption_spec to Model Monitoring public preview API (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add VertexAISearch.max_results, filter, data_store_specs options (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Add VertexAISearch.max_results, filter, data_store_specs options (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Adding thoughts_token_count to prediction service (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Adding thoughts_token_count to v1beta1 client library (<a href="https://github.com/googleapis/python-aiplatform/commit/f0812e3983df66ca4b53add8f8a8e9a4a9a7699a">f0812e3</a>)</li> <li>Update preview <code>create_corpus</code> to accept <code>encryption_spec</code> in <code>rag_data.py</code> (<a href="https://github.com/googleapis/python-aiplatform/commit/ad821c58f834981adb9759013248e7156f3706b9">ad821c5</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Throw error when user is using google-adk>=1.0.0 as it is not well supported for now. (<a href="https://github.com/googleapis/python-aiplatform/commit/634bb78c32168fac7ac084a1fcbdede8e45bdae8">634bb78</a>)</li> </ul> <h2><a href="https://github.com/googleapis/python-aiplatform/compare/v1.93.0...v1.93.1">1.93.1</a> (2025-05-20)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/googleapis/python-aiplatform/commit/060ff3bd214308e71d8cd5f8458e2bc72e943096"><code>060ff3b</code></a> chore(main): release 1.95.1 (<a href="https://redirect.github.com/googleapis/python-aiplatform/issues/5363">#5363</a>)</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/1d2387f1e418efa8db7c1e14f37d36647662b3d2"><code>1d2387f</code></a> chore: release 1.95.1</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/05986c068b1719de22ee32536ec592ea04ee012b"><code>05986c0</code></a> fix: Fix CachedContent.create if the kms_key_name is not given</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/b7968d8fb303e6c0ae2e5a1f5e51a824ed04e42e"><code>b7968d8</code></a> chore: Update Gen AI types</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/17a6385c8402eafe0db09aad430dff7788ff49b5"><code>17a6385</code></a> chore: Update Gen AI types</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/cb2754de4707228bf7df7f7be078c61b77abd314"><code>cb2754d</code></a> feat: Register async methods to AdkApp.</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/4aa9eee4f89767bcec22ae56a2c1ad4393c4ff45"><code>4aa9eee</code></a> Copybara import of the project:</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/2b2dc4fbc5d52b16159868b112affafa8ac716ae"><code>2b2dc4f</code></a> feat: add support to process RAG response and generate inline citations in RA...</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/d0a2bab3ee01f955a5da8b1175f258b974d0229b"><code>d0a2bab</code></a> chore(main): release 1.95.0 (<a href="https://redirect.github.com/googleapis/python-aiplatform/issues/5350">#5350</a>)</li> <li><a href="https://github.com/googleapis/python-aiplatform/commit/787c60fc1f79f80c693df1300f8a33cc17a08ee1"><code>787c60f</code></a> Copybara import of the project:</li> <li>Additional commits viewable in <a href="https://github.com/googleapis/python-aiplatform/compare/v1.93.0...v1.95.1">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> |