mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
934b2bb1a14bb1b1056655c4b25ecefbab27f4ff
816
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
494590fc91 |
Python: Update pymilvus requirement from <2.5,>=2.3 to >=2.3,<2.6 in /python (#9864)
Updates the requirements on [pymilvus](https://github.com/milvus-io/pymilvus) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/milvus-io/pymilvus/releases">pymilvus's releases</a>.</em></p> <blockquote> <h2>PyMilvus 2.5.0 Release Notes</h2> <p>New features:</p> <ul> <li>Report cost in the dml and dql request by <a href="https://github.com/SimFG"><code>@SimFG</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2055">milvus-io/pymilvus#2055</a></li> <li>feat: Support major compaction in ManualCompaction by <a href="https://github.com/wayblink"><code>@wayblink</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2015">milvus-io/pymilvus#2015</a></li> <li>Support Milvus Lite by <a href="https://github.com/junjiejiangjjj"><code>@junjiejiangjjj</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2073">milvus-io/pymilvus#2073</a></li> <li>Enable set_properties and describe_database api by <a href="https://github.com/weiliu1031"><code>@weiliu1031</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2082">milvus-io/pymilvus#2082</a></li> <li>Allowing search iterator on sparse float vector field by <a href="https://github.com/zhengbuqian"><code>@zhengbuqian</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2104">milvus-io/pymilvus#2104</a></li> <li>Accept list of single row scipy.sparse object as input for insert/search by <a href="https://github.com/zhengbuqian"><code>@zhengbuqian</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2111">milvus-io/pymilvus#2111</a></li> <li>Support float16/bfloat16/sparse vector for bulkwriter by <a href="https://github.com/yhmo"><code>@yhmo</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2127">milvus-io/pymilvus#2127</a></li> <li>Support group_size parameter for search_group_by by <a href="https://github.com/MrPresent-Han"><code>@MrPresent-Han</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2130">milvus-io/pymilvus#2130</a></li> <li>Upsert support autoid by <a href="https://github.com/smellthemoon"><code>@smellthemoon</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2173">milvus-io/pymilvus#2173</a></li> <li>Expose reduce_stop_for_best to users(<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2181">#2181</a>) by <a href="https://github.com/MrPresent-Han"><code>@MrPresent-Han</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2183">milvus-io/pymilvus#2183</a></li> <li>Bulkinsert supports importing binlog by <a href="https://github.com/yhmo"><code>@yhmo</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2222">milvus-io/pymilvus#2222</a></li> <li>Add page_retain_order param during search with offset by <a href="https://github.com/PwzXxm"><code>@PwzXxm</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2229">milvus-io/pymilvus#2229</a></li> <li>Support load with Field Partial load by <a href="https://github.com/congqixia"><code>@congqixia</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2228">milvus-io/pymilvus#2228</a></li> <li>Support null and default value by <a href="https://github.com/smellthemoon"><code>@smellthemoon</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2234">milvus-io/pymilvus#2234</a></li> <li>Support the mmap_enable param in the field schema by <a href="https://github.com/SimFG"><code>@SimFG</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2238">milvus-io/pymilvus#2238</a></li> <li>Add strict_group_size and rank_group_scorer for hybrid_search(<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2253">#2253</a>) by <a href="https://github.com/MrPresent-Han"><code>@MrPresent-Han</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2254">milvus-io/pymilvus#2254</a></li> <li>Load configuration without altering the environment by <a href="https://github.com/laipz8200"><code>@laipz8200</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2192">milvus-io/pymilvus#2192</a></li> <li>Update proto to get is_sorted field for GetQuerySegmentInfo by <a href="https://github.com/xiaocai2333"><code>@xiaocai2333</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2280">milvus-io/pymilvus#2280</a></li> <li>Support mvcc and break-down-continue for iterator(<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2278">#2278</a>) by <a href="https://github.com/MrPresent-Han"><code>@MrPresent-Han</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2279">milvus-io/pymilvus#2279</a></li> <li>Support new Function feature by <a href="https://github.com/zhengbuqian"><code>@zhengbuqian</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2257">milvus-io/pymilvus#2257</a></li> <li>Supports filling elements through templates for expression by <a href="https://github.com/xiaocai2333"><code>@xiaocai2333</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2317">milvus-io/pymilvus#2317</a></li> <li>Add compact, get_server_version and flush api by <a href="https://github.com/czs007"><code>@czs007</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2326">milvus-io/pymilvus#2326</a></li> </ul> <p>Enhancements</p> <ul> <li>Upgrade the bulkWriter cloud API call from v1 to v2 by <a href="https://github.com/lentitude2tk"><code>@lentitude2tk</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2245">milvus-io/pymilvus#2245</a></li> <li>enhance: tidy dependencies in tests by <a href="https://github.com/XuanYang-cn"><code>@XuanYang-cn</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/1996">milvus-io/pymilvus#1996</a></li> <li>Update sparse+dense hybrid search example by <a href="https://github.com/zhengbuqian"><code>@zhengbuqian</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2005">milvus-io/pymilvus#2005</a></li> <li>Support UDS by <a href="https://github.com/junjiejiangjjj"><code>@junjiejiangjjj</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2023">milvus-io/pymilvus#2023</a></li> <li>enhance: Update hello_hybrid_sparse_dense.py example to include BGE reranker by <a href="https://github.com/zhengbuqian"><code>@zhengbuqian</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2028">milvus-io/pymilvus#2028</a></li> <li>enhance: add resource group declarative api by <a href="https://github.com/chyezh"><code>@chyezh</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2002">milvus-io/pymilvus#2002</a></li> <li>enhance: Make bulk_writer's requirments optional by <a href="https://github.com/XuanYang-cn"><code>@XuanYang-cn</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2086">milvus-io/pymilvus#2086</a></li> <li>Added grpc as a valid protocol for uri by <a href="https://github.com/brunocfnba"><code>@brunocfnba</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2090">milvus-io/pymilvus#2090</a></li> <li>enhance: print search result more elegantly by <a href="https://github.com/longjiquan"><code>@longjiquan</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2123">milvus-io/pymilvus#2123</a></li> <li>enhance: Check PyMilvus on Windows platform by <a href="https://github.com/XuanYang-cn"><code>@XuanYang-cn</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2136">milvus-io/pymilvus#2136</a></li> <li>Export indexed rows for describe_index by <a href="https://github.com/xiaocai2333"><code>@xiaocai2333</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2148">milvus-io/pymilvus#2148</a></li> <li>Add database operations to MilvusClient by <a href="https://github.com/ashkrisk"><code>@ashkrisk</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2152">milvus-io/pymilvus#2152</a></li> <li>enhance: enable setting properties during create database by <a href="https://github.com/weiliu1031"><code>@weiliu1031</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2168">milvus-io/pymilvus#2168</a></li> <li>enhance: hide zero values when printing by <a href="https://github.com/SimFG"><code>@SimFG</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2200">milvus-io/pymilvus#2200</a></li> <li>enhance: use info level for retry message by <a href="https://github.com/XuanYang-cn"><code>@XuanYang-cn</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2212">milvus-io/pymilvus#2212</a></li> <li>enhance: Make load parameter naming normal by <a href="https://github.com/congqixia"><code>@congqixia</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2243">milvus-io/pymilvus#2243</a></li> <li>enhance: add bitmap index example by <a href="https://github.com/zhagnlu"><code>@zhagnlu</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2376">milvus-io/pymilvus#2376</a></li> </ul> <p>Bug fixes</p> <ul> <li>fix: Remove np.view for floatvector by <a href="https://github.com/XuanYang-cn"><code>@XuanYang-cn</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2048">milvus-io/pymilvus#2048</a></li> <li>fix: pass offset parameter for hybrid search to server by <a href="https://github.com/czs007"><code>@czs007</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2051">milvus-io/pymilvus#2051</a></li> <li>Change sparse related errors to ParamError by <a href="https://github.com/zhengbuqian"><code>@zhengbuqian</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2066">milvus-io/pymilvus#2066</a></li> <li>modified example_tls1.py through MilvusClient by <a href="https://github.com/nish112022"><code>@nish112022</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2065">milvus-io/pymilvus#2065</a></li> <li>remove scipy dependency for sparse while still supporting scipy sparse matrix by <a href="https://github.com/zhengbuqian"><code>@zhengbuqian</code></a> in <a href="https://redirect.github.com/milvus-io/pymilvus/pull/2074">milvus-io/pymilvus#2074</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/milvus-io/pymilvus/commit/73d039428f3e5cd9c02505c02ea6dde7484e1802"><code>73d0394</code></a> fix: when insert do not add function output field to dynamic field (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2382">#2382</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/dd629dd47df35057a71a89ca807308b83e178eea"><code>dd629dd</code></a> enhance: Prepare to release 2.5.0 (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2379">#2379</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/15374f63556ae0b5a40a3b09d17fdeb5076eb19a"><code>15374f6</code></a> enhance: Enhance log messages when Connect with server failed (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2377">#2377</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/a086a9d95f9534d0c8a4d3e9303d13860a22fd99"><code>a086a9d</code></a> enhance: format list privilege group result (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2372">#2372</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/b7c6fd27ee1bbf7ba0709ef2bdc1a13ce61f053a"><code>b7c6fd2</code></a> enhance: add bitmap index example (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2376">#2376</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/46f12b21c80efdfc718bc2ef86d867b710a06f1c"><code>46f12b2</code></a> Add default values to Pop to prevent exceptions (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2373">#2373</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/89cf1a9a5285f1923a138032984c38c0334ec8eb"><code>89cf1a9</code></a> fix: cannot pass consistency level for delete (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2350">#2350</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/c10d61a1db61f454e8f14319b39ad8eb2702227d"><code>c10d61a</code></a> fix: RBAC fix privilege group orm (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2366">#2366</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/99bea06ac773fa8ad36cc77f27d339831ff1ba69"><code>99bea06</code></a> Correct grammar (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2365">#2365</a>)</li> <li><a href="https://github.com/milvus-io/pymilvus/commit/4b4924686f36f36aafdb29ab694e42ce0c798eea"><code>4b49246</code></a> enhance: RBAC grant v2 api (<a href="https://redirect.github.com/milvus-io/pymilvus/issues/2361">#2361</a>)</li> <li>Additional commits viewable in <a href="https://github.com/milvus-io/pymilvus/compare/v2.3.0...v2.5.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> |
||
|
|
31ec20ee22 |
Python: Adjust tool limit per request (#9894)
### 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 have set incorrect limits on the number of tools that can be provided to the AI services per request. ### Description 1. This PR removes the limits and will have requests fail on the service side if there is any limit. 2. Add unit tests for prompt execution settings of some services that are previously lacking such tests. 3. Fix the test coverage workflow. <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Evan Mattson <[email protected]> |
||
|
|
ceae00c32c |
Python: Include the sessions plugin status key in return value (#9904)
### Motivation and Context The Python sessions plugin (ACA) includes a `status` now in their result once code is executed. This looks to have been added recently as we weren't including it in the original return string. This PR adds that. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description Add the `status` key value to the return string. - Fixes Python bug for #9902 <!-- 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 😄 |
||
|
|
87967ac233 |
Python: enable ollama streaming tool calls (#9890)
### 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. --> Ollama has enabled streaming tool calling, and so we add that too! See release notes: https://github.com/ollama/ollama/releases/tag/v0.4.6 Also encountered a bug when passing generic PromptExecutionSettings to all ChatCompletions with Function calling enabled, the _verify_function_choice_settings often check if something is a type of PES matching the service, that is not the case and throws even though it should work (for instance when using a yaml based function), this fixes that as well by casting in the public methods of chat completion base. ### 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 😄 |
||
|
|
7479657d93 |
Python: Introduce agent name field regex (#9887)
### Motivation and Context The agent name Pydantic field currently does not have any pattern regex config. If a user creates an agent with an incorrect name (something other than `0-9A-Za-z_-`) they will get a 400. To validate and error out earlier, we're introducing the regex check when the field is validated. Note, this is a non-breaking change because an invalid name errors out further down in the processing -- we're adding this regex check so that it can help a user/dev understand earlier in the processing that they need to update their agent name. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description Add the regex field validation for the agent name as `AGENT_NAME_REGEX = r"^[0-9A-Za-z_-]+$"`. Unlike the SK plugin/function names, this name can contain a `-`. Updates unit tests. - Closes #9340 <!-- 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 😄 |
||
|
|
d5169949f7 |
Python: Bump Python version to 1.17.0 for a release. (#9885)
### Motivation and Context Bump Python version to 1.17.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.17.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 😄 |
||
|
|
30b67ec715 |
Python: Raise exceptions when services are not set up in integration test workflow (#9874)
### 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. --> Our integration tests should encompass all test cases unless a case is explicitly marked as skipped or expected to fail (xfail). Currently, our setup permits test cases to be skipped if the required environment variables are not configured. While this approach is beneficial for local testing—since not all developers have access to all necessary resources - it presents challenges in our pipeline. In this environment, changes to environment variables can lead to test cases being skipped without notice, potentially allowing issues to go undetected until a specific connector is reported as problematic. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> The `is_service_setup_for_testing` now also reads the `raise_if_not_set` argument from an environment variable (`INTEGRATION_TEST_SERVICE_SETUP_EXCEPTION`). When `INTEGRATION_TEST_SERVICE_SETUP_EXCEPTION` is not set nor the argument is not passed in, the method will not raise, allowing people to run the integration tests locally. When `INTEGRATION_TEST_SERVICE_SETUP_EXCEPTION` is set or `raise_if_not_set` is explicitly set to true, test collection will fail. `INTEGRATION_TEST_SERVICE_SETUP_EXCEPTION` is set to true in our pipeline environment. ### 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 😄 |
||
|
|
e0042afa80 |
Python: graduate filters, add exception during addition and some cleanup (#9856)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> This PR graduates the filters. This includes some updates to the docstrings. And adds a specific Exception for errors during adding or removing of filters. Closes #9838 Fixes #9641 ### 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 😄 |
||
|
|
be96919feb |
Python: fix for file limit and some cleanup (#9855)
### 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 got a report stating that there was still a old limit on the number of files supplied to the Azure Assistant API. This PR fixes that and also does some further cleanup of the code. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Chris <[email protected]> |
||
|
|
d9fd8ff5ba |
Python: Fix Onnx Connector Memory Problem with Onnx (#9716)
Onnx currently faces memory issues when dividing functionality among multiple methods ### Motivation and Context I was experiencing weird non reproducible memory issues with connector when using phi-3 vision, after tracing the memory it turned out there are some issues when Parameters & Generation are not in the same function. I am already in contact with the PG to adress the issue also in onnx. There seems to be a memory problem with pybind, because the parameters show a non deterministc behavior, but they should determistic. To fix the current problem i've decided to merge the Parameter Method and the Generation Method. <!-- 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 - [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: Tao Chen <[email protected]> |
||
|
|
592b138f8c |
Python: small makefile update for python (#9847)
### 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. --> Small fix in the makefile for when uv is not installed. ### 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 😄 |
||
|
|
d8496da277 |
Python: improve integration test runs (#9845)
## 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. --> Split the integration tests into seperate ones for Memory and Completions Added code to allow the samples to run as well Moved containers to service containers. ### 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 😄 |
||
|
|
dc7cb45ed6 |
Python: remove mistaken on_activate func (#9839)
### 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. --> Removes an outdated function `on_activate` from the KernelProcessStep class and the one place it was overridden. Fixes #9829 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 Co-authored-by: Evan Mattson <[email protected]> |
||
|
|
8dadef26b8 |
Python: Refactor chat completion concept samples (#9822)
### 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. --> Our chat completion concept samples are not well organized and over-complicated with prompts and different settings. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> This PR refactors the samples such that they only capture the essential concepts to the chat completion services. This PR also adds sample usage for all supported chat completion services in Semantic Kernel Python. ### 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 😄 |
||
|
|
27a89bae54 |
Python: Introduced a new condition to yield StreamingChatMessageContent directly when usage data is available. (#9753)
### Motivation and Context issue: https://github.com/microsoft/semantic-kernel/issues/9751 This pull request addresses a bug where setting `stream_options.include_usage` to `True` does not return token usage, resulting in `None` for the `usage` field. The issue occurs when using Azure OpenAI's GPT-4o and GPT-4omini models. In particular, if the last chunk of the response has an empty `choices` list, the chunk is skipped entirely, and the token usage is not processed correctly. In the Azure OpenAI implementation, if `usage` information is included, the chunk should be processed appropriately. However, the current code skips processing when `choices` is empty. This pull request fixes this behavior so that the chunk is processed when `usage` is present, even if `choices` is empty. ### Description This fix includes the following changes: - Modified the relevant section in `azure_chat_completion.py` to ensure that chunks with empty `choices` are not skipped if `usage` information is present. - Specifically, the condition `if len(chunk.choices) == 0:` was updated to allow chunks with `usage` data to be processed correctly. With these changes, setting `stream_options.include_usage` to `True` will correctly return token usage data, even for chunks where the `choices` list is empty. ### 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: Tao Chen <[email protected]> |
||
|
|
44222f5077 |
Python: Fix syntax for pinned pydantic package. (#9789)
### Motivation and Context The current pydantic pinned syntax is `"pydantic ~= 2.0<2.10",`; however on package publish, Pypi throws a 400. The correct syntax should be: `"pydantic >=2.0,<2.10",` <!-- 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 Updates pyproject.toml syntax for pinned pydantic version. <!-- 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 😄 |
||
|
|
05f9a98121 |
Python: Bump Python version to 1.16.0 for a release. (#9781)
### Motivation and Context Bump Python version to 1.16.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.16.0 for a release. Includes feature work to promote OpenAPI plugin to preview from experimental. <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone 😄 --------- Co-authored-by: Tao Chen <[email protected]> |
||
|
|
ea2ba47ea4 |
Python: Add AI connector README (#9764)
### 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 need a README in the connectors/ai directory to list all the existing AI connectors. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist 1. Add a README 2. Refactor some connector package paths <!-- 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 😄 |
||
|
|
51675d2607 |
Python: OpenAPI plugin updates to promote plugin to preview (#9670)
### Motivation and Context We currently handle OpenAPI plugins via the kernel, but in a pretty simple way. The changes in this PR are allowing one to define multiple server paths for an operation as well as configure security on the operations either at the operation level or at the "global" spec level (these are included as metadata in the kernel function parameter `additional_parameters` dict). The OpenAPI plugin is graduating from an experimental state to a preview state. This, in turn, removes the `experimental` tag from some public facing methods. In the near future, all `experimental` tags will be removed once we're confident there are no other underlying changes required. Closes #9719 <!-- 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 support for OpenAPI plugin: - allow for multiple servers for an API operation - allows one to define security configuration at the spec level as well as per operation level - fixes a bug where the `excluded_operations` on the execution settings were never checked during REST API operation building - adds the deprecated tag to the `OpenAI plugin` code as it was deprecated by OpenAI and we never handled it in SK Python. - renames some model class to remove the `operation` portion of the name. - adds ability to specify a callback to be able to skip certain api operations based on name, method, or description - removes the experimental tag from public facing methods. - allows one to pass in a parsed OpenAPI spec to the plugin add method - adds unit tests <!-- 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 😄 |
||
|
|
4bd9abf55b |
Python: Stabilize integration tests (#9761)
### 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. --> Our integration tests have been flaky lately. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> This PR stabilizes the integration tests. Note that the test pipeline is still flaky but hopefully it will fail less frequently. ### Contribution Checklist 1. Reduce duplication in the workflow file. 2. Fix Ollama tests on Windows runners. 3. Disable USearch. 4. Fix Weaviate tests on Windows runnere. <!-- 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 😄 |
||
|
|
fb5aa6fcd2 |
Python: Azure AI Inference tracing SDK (#9693)
### 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. --> Addresses: https://github.com/microsoft/semantic-kernel/issues/9413 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> The latest Azure AI Inference SDK has been released with the tracing package. We have decided to upgrade to the latest so that we will no longer need to instrument the Azure AI Inference connector with our own model diagnostics module. ### Contribution Checklist 1. Upgrade to the latest Azure AI Inference SDK with the tracing package. 2. Refactor the AI Inference connector to reduce duplicated code. 3. Some other minor fixes. <!-- 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 😄 |
||
|
|
93bf06ed3c |
Python: updated pre-commits (#9739)
### 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. --> Put some of the pre-commit steps to their latest versions. Improve the setup of the uv lock hook. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Evan Mattson <[email protected]> |
||
|
|
fa2447308b |
Python: Update the samples/demos readme. (#9720)
### Motivation and Context Update the samples/demos readme. <!-- 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 the samples/demos readme. <!-- 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 😄 |
||
|
|
76052b6cf9 |
Python: Introducing search for CosmosDB NoSQL Collections (#9698)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Adds the search functions for Cosmos DB NoSQL. Closes #6835 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Adds the search pieces and turns out the upsert cannot work cross partition key with execute batch, so refactored to using gather(upsert). ### 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]> |
||
|
|
29e3e83c2d |
Python: Add the Dapr Runtime for Processes (#9642)
### Motivation and Context In addition to the Python local process runtime, we're adding the ability to congfigure the Dapr runtime for Python SK processes. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description The PR introduces: - The ability to configure the Dapr Runtime for Python processes - Adds a sample FastAPI app showing how to configure the Dapr runtime with a sample SK Python process (see the README for details on setup) - Adds some unit test coverage for the Dapr runtime - Closes #9355 <!-- 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 😄 |
||
|
|
434db27496 |
Python: Introducing vector search to the redis collections (#9664)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Adds the vector search pieces to the two Redis collection types Features vectorized search and vector text search. Also features a slight change to the storage format for Hashsets since the existing was wrong because the index was not picking up those fields, fixed now, but if you have a Redis Hash Collection running, this will break things. Closes #6837 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 |
||
|
|
a83abb9d35 |
Python: Introducing Vector Search to Weaviate and adding the ability to have unnamed vectors (#9684)
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
This PR adds vector search to Weaviate.
All three types of search are supported, however
vectorizable_text_search depends on a setup outside SK.
Also adds a parameter to the Weaviate Collection called 'named_vectors',
default is True.
When set to False it uses unnamed vectors instead of named.
Because of this there is a slight difference in how vectors are
represented to Weaviate which might be breaking.
### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
The breaking change is that, vector were set to have the name of the
content that it vectorized, for instance:
With a datamodel like this (shortened some of the class names):
```python
class DataModel:
content: Annotated[str, Data Field(embedding_property_name="vector")]
vector: Annotated[list[float], VectorField()]
```
This would be set as `DataObject(vector: {"content": [vector
content]})`, while it will now set this to `DataObject(vector:
{"vector": [vector content]})` Where DataObject is the Weaviate object
used to insert items.
Closes #6839
### 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 😄
|
||
|
|
5d8d7386ce |
Python: Bump py version to 1.15.0 for a release. (#9707)
### Motivation and Context Bump py version to 1.15.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 py version to 1.15.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 😄 |
||
|
|
8e784a1b22 |
Python: Introducing Google Search as a Text Search implementation (#9691)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> This adds a new version of the Google Search implementation based on the new Text Search interfaces. Easily create a plugin from the different search functions to perform RAG with online docs! Closes #6834 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Creates a new folder under connectors.search for Google. Adds GoogleSearch Adds classes to capture the response. Adds constants for the query parameters Adds a sample showing how to use it with a filter. ### 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 😄 |
||
|
|
3d471dad4b |
Python: Upgrading Mistral AI Connector to Version 1.0 (#9542)
### Motivation and Context This PR upgrades the MistralAI Connector to Version 1.0. closes #9504 ToDo's - [x] Update Connector Classes to new Mistral Classes - [x] Update Unit Tests Classes to new Mistral Classes - [x] Added new Settings to PromptExecutionSettings - [x] Backwards compability of old settings to not break people - [x] Fix MyPy Issues ### Description Mistral released their new Version of their SDK, to enable compability with a major Version the connector needs to be updated to work with the newest Version. ### 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 😄 |
||
|
|
8ad7ce57ed |
Python: add new link check action (#9667)
### 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 current link check action (github-action-markdown-link-check) is no longer being maintained, because the developer created a new one, this PR adds the new one side by side to test. ### 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 😄 |
||
|
|
2c50ced071 |
Python: introducing Vector Search for Qdrant Collection (#9621)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Adds the vector search functions to the existing QdrantCollection. Currently only support VectorizedSearch. ### 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 😄 |
||
|
|
63d1dc761f |
Python: Text to audio (#9625)
### 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. --> Addresses: https://github.com/microsoft/semantic-kernel/issues/7433 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Add text to audio interface to Python Semantic Kernel. ### Contribution Checklist 1. Text-to-audio client base. 2. OpenAI and Azure OpenAI implementations of the client. 3. Unit tests and integration tests. 4. Samples. <!-- 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 😄 |
||
|
|
5764c8cbd7 |
Python: Azure Cosmos DB NoSQL Vector Store & Collection implementation (#9296)
### 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 are implementing the Azure Cosmos DB NoSQL vector store and vector collection. ### Description Azure Cosmos DB NoSQL vector store & collection implementation. <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Eduard van Valkenburg <[email protected]> |
||
|
|
05f4589549 |
Python: Exclude the KernelContent's inner_content as it breaks serializing the model (#9626)
### Motivation and Context There's been an error for a while where serializing the chat history leads to the following error: ``` PydanticSerializationError(Error serializing to JSON: TypeError: 'MockValSer' object cannot be converted to 'SchemaSerializer')} ``` This is due to the fact that we're trying to do a model dump of an object that we don't have a Pydantic model for as the `inner_content` type is `Any`. Most, if not all, of the `inner_content` info is already included in our `ChatMessageContent`, therefore we're excluding this attribute from serialization. Note: if you require the information in this `inner_content` attribute, you will be responsible for grabbing the content before serializing the chat history, as it won't be included. <!-- 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 excludes the `inner_content` from the `model_dump()`, `model_dump_json()`, or `serialize()` calls. - Fixes #7903 - Adds a concept sample showing how to serialize the `ChatHistory` after invoking a prompt via the kernel. <!-- 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 😄 |
||
|
|
2d4c7524af |
Python: Update pymongo requirement from <4.9,>=4.8.0 to >=4.8.0,<4.11 in /python (#9271)
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.10.1</h2> <p>Community notes: <a href="https://www.mongodb.com/community/forums/t/pymongo-4-10-1-released/299573">https://www.mongodb.com/community/forums/t/pymongo-4-10-1-released/299573</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.10.1</h2> <p>Version 4.10.1 is a bug fix release.</p> <ul> <li>Fixed a bug where :meth:<code>~pymongo.results.UpdateResult.did_upsert</code> would raise a <code>TypeError</code>.</li> <li>Fixed Binary BSON subtype (9) support on big-endian operating systems (such as zSeries).</li> </ul> <p>Issues Resolved ...............</p> <p>See the <code>PyMongo 4.10.1 release notes in JIRA</code>_ for the list of resolved issues in this release.</p> <p>.. _PyMongo 4.10.1 release notes in JIRA: <a href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40788">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40788</a></p> <h2>Changes in Version 4.10.0</h2> <ul> <li>Added provisional <strong>(BETA)</strong> support for a new Binary BSON subtype (9) used for efficient storage and retrieval of vectors: densely packed arrays of numbers, all of the same type. This includes new methods :meth:<code>~bson.binary.Binary.from_vector</code> and :meth:<code>~bson.binary.Binary.as_vector</code>.</li> <li>Added C extension use to client metadata, for example: <code>{"driver": {"name": "PyMongo|c", "version": "4.10.0"}, ...}</code></li> <li>Fixed a bug where :class:<code>~pymongo.asynchronous.mongo_client.AsyncMongoClient</code> could deadlock.</li> <li>Fixed a bug where PyMongo could fail to import on Windows if <code>asyncio</code> is misconfigured.</li> </ul> <p>Issues Resolved ...............</p> <p>See the <code>PyMongo 4.10 release notes in JIRA</code>_ for the list of resolved issues in this release.</p> <p>.. _PyMongo 4.10 release notes in JIRA: <a href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40553">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40553</a></p> <h2>Changes in Version 4.9.2</h2> <ul> <li>Fixed a bug where :class:<code>~pymongo.asynchronous.mongo_client.AsyncMongoClient</code> could deadlock.</li> <li>Fixed a bug where PyMongo could fail to import on Windows if <code>asyncio</code> is misconfigured.</li> <li>Fixed a bug where :meth:<code>~pymongo.results.UpdateResult.did_upsert</code> would raise a <code>TypeError</code>.</li> </ul> <p>Issues Resolved ...............</p> <p>See the <code>PyMongo 4.9.2 release notes in JIRA</code>_ for the list of resolved issues in this release.</p> <p>.. _PyMongo 4.9.2 release notes in JIRA: <a href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40732">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40732</a></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/77cd7ab9f6dc48e72a3bae94d2cca2e4200e6978"><code>77cd7ab</code></a> BUMP 4.10.1</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/1c284307250dec4fb6b7b161d72e1876c067b4cb"><code>1c28430</code></a> PYTHON-4808 Add changelog for 4.10.1 (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1890">#1890</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/7848feb09a12bb6a14fb18deb8b873d8c2eff8a9"><code>7848feb</code></a> PYTHON-4786 - Fix UpdateResult.did_upsert TypeError (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1878">#1878</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/02794079802f264be021707d20fc64e292ef74b7"><code>0279407</code></a> PYTHON-4806 Fix expected metadata in mockupdb tests (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1888">#1888</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/7fbeca9793bb88561a8b9972df926193d54a1225"><code>7fbeca9</code></a> [PYTHON-4803] Big endian fix for binary bson vectors (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1885">#1885</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/bfba5481a09b67fa3f5e9dcaf5e90d7913964406"><code>bfba548</code></a> PYTHON-4789 Migrate test_retryable_reads.py to async (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1877">#1877</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/8791aa00ea8f87ceae5e5ec601b75c677a6754ab"><code>8791aa0</code></a> PYTHON-4790 Migrate test_retryable_writes.py to async (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1876">#1876</a>)</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/c0f7810d56555c8a285beaa9aa5fe6d2b7185eff"><code>c0f7810</code></a> BUMP 4.11.0.dev0</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/4713afa910f12d013571778a12fda2287d0bf19d"><code>4713afa</code></a> BUMP 4.10.0</li> <li><a href="https://github.com/mongodb/mongo-python-driver/commit/ae6cfd6d102d885ac6b0873d31f0dac139b1ddae"><code>ae6cfd6</code></a> [DRIVERS-2926] [PYTHON-4577] BSON Binary Vector Subtype Support (<a href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1813">#1813</a>)</li> <li>Additional commits viewable in <a href="https://github.com/mongodb/mongo-python-driver/compare/4.8.0...4.10.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
e9a755dfbc |
Python: Audio to text (#9505)
### 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. --> Addresses: https://github.com/microsoft/semantic-kernel/issues/7434 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Add audio to text to SK Python. ### Contribution Checklist 1. Add audio to text to SK Python. 2. Add text to image integration tests. 3. Refactor Azure AI connector AD auth. <!-- 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 😄 |
||
|
|
c539e8b88b |
Python: Bump Python version to 1.14.0 for a release. (#9611)
### Motivation and Context Bump Python version to 1.14.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.14.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 😄 |
||
|
|
ed1fb08473 |
Python: Add type hint for ProcessStepBuilder in send_event_to. Improve schema building. (#9608)
### Motivation and Context The `ProcessStepEdgeBuilder` `send_event_to` method allows one to pass in a target that isn't of type `ProcessFunctionTargetBuilder`. If it is of the other type `ProcessStepBuilder` we build the expected type `ProcessFunctionTargetBuilder`. The `send_event_to` method was missing the type hint, which can cause issues for type checkers. Secondly, during json schema building, we get the type hints using the builder's globals and locals. This is an issue because it doesn't allow us to find types defined outside of this module. Improve this by getting type hints for user defined modules, as well. <!-- 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 the proper type hint. - Closes #9605 - Closes #9606 - Renames a `test_postgres.py` file that existed both in unit tests and integration tests and caused a load conflict. <!-- 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 😄 |
||
|
|
1db12c4393 |
Python: Adding Vector Search to the In Memory collection (#9574)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Adds vectorized search and text search to the In Memory connector. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Tao Chen <[email protected]> |
||
|
|
c9ef719e2f |
Python: fix mypy pre-commit setup, mypy fixes (#9498)
### 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 the mypy pre-commit job, and subsequent fixes from there. Moved all python tests to use the uv setup task instead of manual cache, python install and uv install. ### 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 😄 |
||
|
|
c8b4094835 |
Python: Introducing vector and text search (#9345)
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
This PR does the following things:
- Introduces TextSearch abstractions, including implementation for Bing
- This consists of the TextSearch class, which implements three public
search methods, and handles the internals, the search methods are:
'search' returns a string, 'get_text_search_results' returns a
TextSearchResult object and 'get_search_results' returns a object native
to the search service (i.e. BingWebPages for Bing)
- This also has a method called "create_{search_method}' which returns a
KernelFunction based on the search method. This function can be adapted
by setting the parameters and has several adaptability options and
allows you to create a RAG pipeline easily with custom names and
descriptions of both the functions and the parameters!
- Introduces VectorSearch abstractions, including implementation for
Azure AI Search
- This consists of a VectorStoreBase class which handles all the
internal and three public interfaces, vectorized_search (supply a
vector), vectorizable_text_search (supply a string that get's vectorized
downstream), vector_text_search (supply a string), each vector store
record collection can pick and choose which ones they need to support by
importing one or more next to the VectorSearchBase class.
- Introduces VectorStoreTextSearch as a way to leverage text search
against vector stores
- Since this builds on TextSearch this is now the best way to create a
super powerfull RAG setup with your own data model!
- Adds all the related classes, samples and tests for the above.
- Also reorders the data folder, which might cause some slight breaking
changes for the few stores that have the new vector store model.
- Adds additional IndexKinds and DistanceFunctions to stay in sync with
dotnet.
- Renames VolatileStore and VolatileCollection to InMemoryVectorStore
and InMemoryVectorCollection.
Closes #6832 #6833
### 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 😄
---------
Co-authored-by: Tao Chen <[email protected]>
|
||
|
|
8e0b3474f1 |
Python: Fix planner notebook link to plan.py (#9486)
### Motivation and Context Fix planner notebook link to plan.py file <!-- 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 planner notebook link to plan.py file. - Closes #9041 <!-- 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 😄 |
||
|
|
52f4895385 |
Python: Bump torch from 2.5.0 to 2.5.1 in /python (#9532)
Bumps [torch](https://github.com/pytorch/pytorch) from 2.5.0 to 2.5.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.5.1: bug fix release</h2> <p>This release is meant to fix the following regressions:</p> <ul> <li>Wheels from PyPI are unusable out of the box on PRM-based Linux distributions: <a href="https://redirect.github.com/pytorch/pytorch/issues/138324">pytorch/pytorch#138324</a></li> <li>PyPI arm64 distribution logs cpuinfo error on import: <a href="https://redirect.github.com/pytorch/pytorch/issues/138333">pytorch/pytorch#138333</a></li> <li>Crash When Using torch.compile with Math scaled_dot_product_attention in AMP Mode: <a href="https://redirect.github.com/pytorch/pytorch/issues/133974">pytorch/pytorch#133974</a></li> <li>[MPS] Internal crash due to the invalid buffer size computation if sliced API is used: <a href="https://redirect.github.com/pytorch/pytorch/issues/137800">pytorch/pytorch#137800</a></li> <li>Several issues related to CuDNN Attention: <a href="https://redirect.github.com/pytorch/pytorch/pull/138522">pytorch/pytorch#138522</a></li> </ul> <p>Besides the regression fixes, the release includes several documentation updates.</p> <p>See release tracker <a href="https://redirect.github.com/pytorch/pytorch/issues/132400">pytorch/pytorch#132400</a> for additional information.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytorch/pytorch/commit/a8d6afb511a69687bbb2b7e88a3cf67917e1697e"><code>a8d6afb</code></a> Disabling amp context when invoking compiler (<a href="https://redirect.github.com/pytorch/pytorch/issues/138659">#138659</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/f31b8bbc5b8834cdac83d1b92e36a8896ed2e4b9"><code>f31b8bb</code></a> [MPS] Fix sliced cast (<a href="https://redirect.github.com/pytorch/pytorch/issues/138535">#138535</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/848e7ac42a3c121d03bcff6cb53c1afb9b76164e"><code>848e7ac</code></a> [SDPA-CUDNN] Make CuDNN Attention Opt in (<a href="https://redirect.github.com/pytorch/pytorch/issues/138587">#138587</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/885c823759be505f5725578e0ee46cfec249ccf3"><code>885c823</code></a> Update doc copyrights to 2024 (<a href="https://redirect.github.com/pytorch/pytorch/issues/138650">#138650</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/8c3ed97baa03668945064b9f1f38496041de2ec0"><code>8c3ed97</code></a> Update cpuinfo submodule (<a href="https://redirect.github.com/pytorch/pytorch/issues/138600">#138600</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/70cf2bbc0b9ebd30b7604b29123a9920d6fcdab6"><code>70cf2bb</code></a> Add link to torch.compile the missing manual in troubleshooting (<a href="https://redirect.github.com/pytorch/pytorch/issues/137369">#137369</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/cde6b382ff39210939516f0d0cc3d270ced0fed0"><code>cde6b38</code></a> Don't try to load cufile (<a href="https://redirect.github.com/pytorch/pytorch/issues/138539">#138539</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/4076a738b08e0118f0b0464fe5f79bf4109c29c5"><code>4076a73</code></a> [Cherry-Pick] Use cuda 12.4 pytorch_extra_install_requirements as default (<a href="https://redirect.github.com/pytorch/pytorch/issues/1">#1</a>...</li> <li><a href="https://github.com/pytorch/pytorch/commit/a97c15174b8bb4f4cda95f86b759aabc2fbe25df"><code>a97c151</code></a> update getting started xpu (<a href="https://redirect.github.com/pytorch/pytorch/issues/138090">#138090</a>)</li> <li>See full diff in <a href="https://github.com/pytorch/pytorch/compare/v2.5.0...v2.5.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> |
||
|
|
3a59ec9b7d |
Python: Fixes displaying of error message to properly show the exception details (#9507)
### Motivation and Context This change is required to properly print exception details when logging an error message, which helps debugging. ### Description Fixes printing of debugging information used [here](https://github.com/microsoft/semantic-kernel/blob/db45cfa7cf1b0f00aa3b1414e4d018ba816b8960/python/semantic_kernel/processes/local_runtime/local_process.py#L189) where the exception details were ignored due to the usage of bad syntax. ### 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]> |
||
|
|
d5906b66ac |
Python: Bump torch from 2.4.1 to 2.5.0 in /python (#9367)
Bumps [torch](https://github.com/pytorch/pytorch) from 2.4.1 to 2.5.0. <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.5.0 Release, SDPA CuDNN backend, Flex Attention</h2> <h1>PyTorch 2.5 Release Notes</h1> <ul> <li>Highlights</li> <li>Backwards Incompatible Change</li> <li>Deprecations</li> <li>New Features</li> <li>Improvements</li> <li>Bug fixes</li> <li>Performance</li> <li>Documentation</li> <li>Developers</li> <li>Security</li> </ul> <h2>Highlights</h2> <p>We are excited to announce the release of PyTorch® 2.5! This release features a new CuDNN backend for SDPA, enabling speedups by default for users of SDPA on H100s or newer GPUs. As well, regional compilation of torch.compile offers a way to reduce the cold start up time for torch.compile by allowing users to compile a repeated nn.Module (e.g. a transformer layer in LLM) without recompilations. Finally, TorchInductor CPP backend offers solid performance speedup with numerous enhancements like FP16 support, CPP wrapper, AOT-Inductor mode, and max-autotune mode. This release is composed of 4095 commits from 504 contributors since PyTorch 2.4. We want to sincerely thank our dedicated community for your contributions. As always, we encourage you to try these out and report any issues as we improve 2.5. More information about how to get started with the PyTorch 2-series can be found at our <a href="https://pytorch.org/get-started/pytorch-2.0/">Getting Started</a> page. As well, please check out our new ecosystem projects releases with <a href="https://github.com/pytorch/torchrec">TorchRec</a> and <a href="https://github.com/pytorch-labs/torchfix/releases/tag/v0.6.0">TorchFix</a>.</p> <table> <thead> <tr> <th>Beta</th> <th>Prototype</th> </tr> </thead> <tbody> <tr> <td>CuDNN backend for SDPA</td> <td>FlexAttention</td> </tr> <tr> <td>torch.compile regional compilation without recompilations</td> <td>Compiled Autograd</td> </tr> <tr> <td>TorchDynamo added support for exception handling & MutableMapping types</td> <td>Flight Recorder</td> </tr> <tr> <td>TorchInductor CPU backend optimization</td> <td>Max-autotune Support on CPU with GEMM Template</td> </tr> <tr> <td></td> <td>TorchInductor on Windows</td> </tr> <tr> <td></td> <td>FP16 support on CPU path for both eager mode and TorchInductor CPP backend</td> </tr> <tr> <td></td> <td>Autoload Device Extension</td> </tr> <tr> <td></td> <td>Enhanced Intel GPU support</td> </tr> </tbody> </table> <p>*To see a full list of public feature submissions click <a href="https://docs.google.com/spreadsheets/d/1TzGkWuUMF1yTe88adz1dt2mzbIsZLd3PBasy588VWgk/edit?gid=949287277#gid=949287277">here</a>.</p> <h3>BETA FEATURES</h3> <h4>[Beta] CuDNN backend for SDPA</h4> <p>The cuDNN "Fused Flash Attention" backend was landed for <code>torch.nn.functional.scaled_dot_product_attention</code>. On NVIDIA H100 GPUs this can provide up to 75% speed-up over FlashAttentionV2. This speedup is enabled by default for all users of SDPA on H100 or newer GPUs.</p> <h4>[Beta] <em>torch.compile</em> regional compilation without recompilations</h4> <p>Regional compilation without recompilations, via <code>torch._dynamo.config.inline_inbuilt_nn_modules</code> which default to True in 2.5+. This option allows users to compile a repeated nn.Module (e.g. a transformer layer in LLM) without recompilations. Compared to compiling the full model, this option can result in smaller compilation latencies with 1%-5% performance degradation compared to full model compilation.</p> <p>See the <a href="https://pytorch.org/tutorials/recipes/regional_compilation.html">tutorial</a> for more information.</p> <h4>[Beta] TorchInductor CPU backend optimization</h4> <p>This feature advances Inductor’s CPU backend optimization, including CPP backend code generation and FX fusions with customized CPU kernels. The Inductor CPU backend supports vectorization of common data types and all Inductor IR operations, along with the static and symbolic shapes. It is compatible with both Linux and Windows OS and supports the default Python wrapper, the CPP wrapper, and AOT-Inductor mode.</p> <p>Additionally, it extends the max-autotune mode of the GEMM template (prototyped in 2.5), offering further performance gains. The backend supports various FX fusions, lowering to customized kernels such as oneDNN for Linear/Conv operations and SDPA. The Inductor CPU backend consistently achieves performance speedups across three benchmark suites—TorchBench, Hugging Face, and timms—outperforming eager mode in 97.5% of the 193 models tested.</p> <h3>PROTOTYPE FEATURES</h3> <h4>[Prototype] FlexAttention</h4> <p>We've introduced a flexible API that enables implementing various attention mechanisms such as Sliding Window, Causal Mask, and PrefixLM with just a few lines of idiomatic PyTorch code. This API leverages torch.compile to generate a fused FlashAttention kernel, which eliminates extra memory allocation and achieves performance comparable to handwritten implementations. Additionally, we automatically generate the backwards pass using PyTorch's autograd machinery. Furthermore, our API can take advantage of sparsity in the attention mask, resulting in significant improvements over standard attention implementations.</p> <p>For more information and examples, please refer to the <a href="https://pytorch.org/blog/flexattention/">official blog post</a> and <a href="https://github.com/pytorch-labs/attention-gym">Attention Gym</a>.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytorch/pytorch/commit/32f585d9346e316e554c8d9bf7548af9f62141fc"><code>32f585d</code></a> [Release only] use triton 3.1.x from pypi (<a href="https://redirect.github.com/pytorch/pytorch/issues/137895">#137895</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/417a0763a7d69f6ce80719ac89c1d2deeee78163"><code>417a076</code></a> [split build] move periodic split builds into own concurrency group (<a href="https://redirect.github.com/pytorch/pytorch/issues/135510">#135510</a>)...</li> <li><a href="https://github.com/pytorch/pytorch/commit/119e7344d905f69d9b37734becba2ada12641d0c"><code>119e734</code></a> [RELEASE-ONLY CHANGES] Fix dependency on filesystem on Linux (<a href="https://redirect.github.com/pytorch/pytorch/issues/137242">#137242</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/783a6a424c30869f4b8ea8c686b4ce4991415e5c"><code>783a6a4</code></a> [MPS] Add regression test for <code>fft.fftfreq</code> (<a href="https://redirect.github.com/pytorch/pytorch/issues/137215">#137215</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/5375201dff598d2552b1c2f5ead027bd089415c6"><code>5375201</code></a> [MPS] Add missing dispatch to rshift.Tensor (<a href="https://redirect.github.com/pytorch/pytorch/issues/137212">#137212</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/1de132ec9eab74d2a296002e4ce619e09abe2f43"><code>1de132e</code></a> [MPS] Fix 5D+ reductions over negative dimentions (<a href="https://redirect.github.com/pytorch/pytorch/issues/137211">#137211</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/0b1b609ed7387a3e105c813b0d7e3f3c3df2bb36"><code>0b1b609</code></a> [NCCL] Don't override <code>waitUntilInitialized</code>'s setting of `comm->initialized_...</li> <li><a href="https://github.com/pytorch/pytorch/commit/0b45af9c10612bc94ce53b9fcc22504629148e7e"><code>0b45af9</code></a> Fix addmm silent correctness on aarch64 (<a href="https://redirect.github.com/pytorch/pytorch/issues/137208">#137208</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/1a0b166ba22be249ace1de014932803c60a17774"><code>1a0b166</code></a> [ONNX] Add assertion nodes to ignoring list (<a href="https://redirect.github.com/pytorch/pytorch/issues/137214">#137214</a>)</li> <li><a href="https://github.com/pytorch/pytorch/commit/3a541ef8c27ba70eaef1f8612fd99fa4983cfcc7"><code>3a541ef</code></a> Clarify that <code>libtorch</code> API is C++17 compatible (<a href="https://redirect.github.com/pytorch/pytorch/issues/137206">#137206</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytorch/pytorch/compare/v2.4.1...v2.5.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Evan Mattson <[email protected]> |
||
|
|
80bfb4ab23 |
Python: Update pyarrow requirement from <18.0,>=12.0 to >=12.0,<19.0 in /python (#9445)
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 18.0.0</h2> <p>TODO</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apache/arrow/commit/9105a4109a80a1c01eabb24ee4b9f7c94ee942cb"><code>9105a41</code></a> MINOR: [Release] Update versions for 18.0.0</li> <li><a href="https://github.com/apache/arrow/commit/e47bf462c9146a1efe71ed9c33e225f7bf0ba48e"><code>e47bf46</code></a> MINOR: [Release] Update .deb/.rpm changelogs for 18.0.0</li> <li><a href="https://github.com/apache/arrow/commit/8567163d017e5816aa6bb65916ad2ca5f204cf70"><code>8567163</code></a> MINOR: [Release] Update CHANGELOG.md for 18.0.0</li> <li><a href="https://github.com/apache/arrow/commit/5d7987b94a4389e098461ae013522a64eb2fe6fe"><code>5d7987b</code></a> <a href="https://redirect.github.com/apache/arrow/issues/44422">GH-44422</a>: [Packaging][Release][Linux] Upload artifacts before test (<a href="https://redirect.github.com/apache/arrow/issues/44425">#44425</a>)</li> <li><a href="https://github.com/apache/arrow/commit/70a2245b6046f95d8d87397d82074bdfd94cbb99"><code>70a2245</code></a> <a href="https://redirect.github.com/apache/arrow/issues/44415">GH-44415</a>: [Release][Ruby] Remove pins from glib section of release verificati...</li> <li><a href="https://github.com/apache/arrow/commit/155a42ebeb7252e6174412ebf39859b1af55a710"><code>155a42e</code></a> <a href="https://redirect.github.com/apache/arrow/issues/44342">GH-44342</a>: [C++] Disable jemalloc by default on ARM (<a href="https://redirect.github.com/apache/arrow/issues/44380">#44380</a>)</li> <li><a href="https://github.com/apache/arrow/commit/0e184c3543cd891adec1c02a699d909064b38cd2"><code>0e184c3</code></a> <a href="https://redirect.github.com/apache/arrow/issues/44386">GH-44386</a>: [Integration][Release] Pin Python 3.12 for Integration verification...</li> <li><a href="https://github.com/apache/arrow/commit/9812ab77f78c5a27991750b77dc52e8b2c0dbfff"><code>9812ab7</code></a> <a href="https://redirect.github.com/apache/arrow/issues/44381">GH-44381</a>: [Ruby][Release] Pin not only glib but also python on verification j...</li> <li><a href="https://github.com/apache/arrow/commit/71bd117b5f10d9dc3e74efddf6744f46cf4df232"><code>71bd117</code></a> <a href="https://redirect.github.com/apache/arrow/issues/43519">GH-43519</a>: [Python][CI] Add Python 3.13 conda test build (<a href="https://redirect.github.com/apache/arrow/issues/44192">#44192</a>)</li> <li><a href="https://github.com/apache/arrow/commit/a39090d1134447617f49b375f720ca41d89f4bc1"><code>a39090d</code></a> <a href="https://redirect.github.com/apache/arrow/issues/44373">GH-44373</a>: [Packaging][Java] Fix brew link to Python 3.13 on macOS (<a href="https://redirect.github.com/apache/arrow/issues/44374">#44374</a>)</li> <li>Additional commits viewable in <a href="https://github.com/apache/arrow/compare/go/v12.0.0...apache-arrow-18.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]> |
||
|
|
c9ed2b40c3 |
Python: Update motor requirement from <3.6.0,>=3.3.2 to >=3.3.2,<3.7.0 in /python (#9270)
Updates the requirements on [motor](https://github.com/mongodb/motor) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mongodb/motor/releases">motor's releases</a>.</em></p> <blockquote> <h2>Motor 3.6.0</h2> <p>Community notes: <a href="https://www.mongodb.com/community/forums/t/motor-3-6-0-released/297834">https://www.mongodb.com/community/forums/t/motor-3-6-0-released/297834</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mongodb/motor/blob/master/doc/changelog.rst">motor's changelog</a>.</em></p> <blockquote> <h2>Motor 3.6.0</h2> <ul> <li>Add support for MongoDB 8.0 and PyMongo 4.9.</li> <li>The length parameter in :meth:<code>MotorCursor.to_list</code> is now optional.</li> </ul> <p>.. note::</p> <p>This is the last planned minor version of Motor. We are sunsetting Motor in favor of native asyncio support in PyMongo 4.9+. We will continue to provide security releases and bug fixes for Motor, but it will not gain new features.</p> <h2>Motor 3.5.1</h2> <ul> <li>Fix runtime behavior of Motor generic class typing, e.g. <code>client: AsyncIOMotorClient[Dict[str, Any]]</code>.</li> </ul> <h2>Motor 3.5.0</h2> <ul> <li>Drop support for Python 3.7.</li> <li>Switch to using Hatchling as a build backend and remove <code>setup.py</code>.</li> <li>Add Secure Software Development Life Cycle automation to release process. GitHub Releases for pymongocrypt now include a Software Bill of Materials, and signature files corresponding to the distribution files released on PyPI.</li> </ul> <h2>Motor 3.4.0</h2> <ul> <li>Type hint bug fixes and improvements. Added typings to classes in <code>motor_tornado</code> and <code>motor_asyncio</code>.</li> </ul> <h2>Motor 3.3.2</h2> <ul> <li>Fix incorrect type hints for the following: :meth:<code>MotorCursor.to_list</code>, :meth:<code>MotorCollection.name</code>, :meth:<code>MotorDatabase.get_collection</code>, :meth:<code>MotorClientSession.with_transaction</code></li> <li>Fix a bug that caused application-supplied DriverInfo to be overwritten.</li> </ul> <h2>Motor 3.3.1</h2> <ul> <li>Fix a bug in the type hint for :meth:<code>MotorCursor.to_list</code>.</li> </ul> <h2>Motor 3.3.0</h2> <ul> <li>Add support for PyMongo 4.4+.</li> <li>Add support for Python 3.12.</li> <li>Add inline type hints for public APIs.</li> <li>Added new helper methods for Atlas Search Index (requires MongoDB Server 7.0+):</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mongodb/motor/commit/20015b458e37b02e58677e107a9c8e83233438f8"><code>20015b4</code></a> BUMP 3.6.0</li> <li><a href="https://github.com/mongodb/motor/commit/cf7b4cfe530e052ea7af600a96241342f52561e5"><code>cf7b4cf</code></a> MOTOR-1351 Bump minimum PyMongo version to 3.9 (<a href="https://redirect.github.com/mongodb/motor/issues/308">#308</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/e13888b08e26800fbe579d7c385096c076e03c24"><code>e13888b</code></a> MOTOR-1364 Add support for Python 3.13 (<a href="https://redirect.github.com/mongodb/motor/issues/307">#307</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/5c77c38016b5527b1e21b804f5f6e6d6aeafb118"><code>5c77c38</code></a> MOTOR-1177 Add documentation for Type Annotation Support (<a href="https://redirect.github.com/mongodb/motor/issues/306">#306</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/2a9225d0ce83dd6142925a344d0b8236651bd8ad"><code>2a9225d</code></a> MOTOR-1363 - Pass correct parameter to AsyncIOMotorClientEncryption (<a href="https://redirect.github.com/mongodb/motor/issues/305">#305</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/7050d54dc474ef734f1b4fae26b041733214a370"><code>7050d54</code></a> MOTOR-1362 Use furo theme in ReadTheDocs (<a href="https://redirect.github.com/mongodb/motor/issues/304">#304</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/b652685be437c417c0ec3221bb156320e7383ddb"><code>b652685</code></a> MOTOR-1360 Use AssumeRole for S3 Access in Evergreen Builds (<a href="https://redirect.github.com/mongodb/motor/issues/303">#303</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/48f34cbe02ecc316a85eeb3ae9733e89debdc9de"><code>48f34cb</code></a> MOTOR-1165 Add documentation for CSOT (<a href="https://redirect.github.com/mongodb/motor/issues/302">#302</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/a08b1aff9c382eec9098d46dd3db28f0ad210998"><code>a08b1af</code></a> MOTOR-1260 Add Projection with aggregation expressions example (<a href="https://redirect.github.com/mongodb/motor/issues/301">#301</a>)</li> <li><a href="https://github.com/mongodb/motor/commit/00f27f3294a830e98828bb94db2d3972eb4b1ef6"><code>00f27f3</code></a> MOTOR-940 Improved Bulk Write API (<a href="https://redirect.github.com/mongodb/motor/issues/300">#300</a>)</li> <li>Additional commits viewable in <a href="https://github.com/mongodb/motor/compare/3.3.2...3.6.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]> |
||
|
|
2fdd74e18d |
Python: Bump Python version to 1.13.0 for a release. (#9480)
### Motivation and Context Bump Python version to 1.13.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.13.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 😄 |
||
|
|
5e632fd1b2 |
Python: Add parallel_tool_calls attribute to OpenAI chat prompt execution settings (#9479)
### Motivation and Context OpenAI / Azure OpenAI released the ability to specify the `parallel_tool_calls` = True | False boolean attribute on the prompt execution settings in July. This was never brought into SK Python. Further, there appears to be a pesky bug related to function calling where enabling parallel tool calls can cause 500s. The only way to get around this is to disable parallel function calling. This has been both tested on the Azure Chat Completion and OpenAI Chat Completion code and works well -- the chat history shows the synchronous function calls if multiple tool calls are required. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description Add the `parallel_tool_calls` attribute on the OpenAIChatPromptExecutionExecution settings, which are also used by the AzureChatCompletionClass. - Closes #9478 - Adds unit tests for this prompt execution setting <!-- 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 😄 |