Commit Graph
816 Commits
Author SHA1 Message Date
dependabot[bot] 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>
2024-12-10 07:53:49 +00:00
Tao ChenandEvan Mattson 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]>
2024-12-10 07:52:24 +00:00
Evan Mattson 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 😄
2024-12-09 21:52:17 +00:00
Eduard van Valkenburg 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 😄
2024-12-09 15:58:57 +00:00
Evan Mattson 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 😄
2024-12-06 01:16:34 +00:00
Evan Mattson 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 😄
2024-12-05 02:26:38 +00:00
Tao Chen 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 😄
2024-12-03 21:08:04 +00:00
Eduard van Valkenburg 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 😄
2024-12-03 17:40:01 +00:00
Eduard van ValkenburgandChris 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]>
2024-12-03 10:28:24 +00:00
Nico MöllerandTao Chen 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]>
2024-11-29 17:01:52 +00:00
Eduard van Valkenburg 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 😄
2024-11-29 14:45:58 +01:00
Eduard van Valkenburg 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 😄
2024-11-29 11:31:12 +00:00
Eduard van ValkenburgandEvan Mattson 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]>
2024-11-29 10:14:39 +00:00
Tao Chen 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 😄
2024-11-27 05:44:25 +00:00
ふぁーandTao Chen 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]>
2024-11-25 22:39:07 +00:00
Evan Mattson 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 😄
2024-11-21 23:16:45 +00:00
Evan MattsonandTao Chen 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]>
2024-11-21 22:20:57 +00:00
Tao Chen 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 😄
2024-11-21 15:58:19 +00:00
Evan Mattson 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 😄
2024-11-21 15:27:32 +00:00
Tao Chen 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 😄
2024-11-20 21:23:05 +00:00
Tao Chen 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 😄
2024-11-19 19:25:25 +00:00
Eduard van ValkenburgandEvan Mattson 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]>
2024-11-19 16:36:01 +00:00
Evan Mattson 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 😄
2024-11-18 19:32:36 +00:00
Eduard van ValkenburgandEvan Mattson 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]>
2024-11-15 15:33:36 +00:00
Evan Mattson 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 😄
2024-11-15 14:43:15 +00:00
Eduard van Valkenburg 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 😄
2024-11-15 14:08:30 +00:00
Eduard van Valkenburg 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 😄
2024-11-15 13:12:51 +00:00
Evan Mattson 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 😄
2024-11-14 18:54:29 -05:00
Eduard van Valkenburg 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 😄
2024-11-14 21:59:48 +00:00
Nico Möller 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 😄
2024-11-13 16:52:54 +00:00
Eduard van Valkenburg 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 😄
2024-11-13 16:34:39 +00:00
Eduard van Valkenburg 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 😄
2024-11-12 23:40:30 +00:00
Tao Chen 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 😄
2024-11-12 22:07:34 +00:00
Tao ChenandEduard van Valkenburg 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]>
2024-11-12 19:47:00 +00:00
Evan Mattson 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 😄
2024-11-08 20:23:53 +00:00
dependabot[bot] 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&amp;version=40788">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;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>{&quot;driver&quot;: {&quot;name&quot;: &quot;PyMongo|c&quot;,
&quot;version&quot;: &quot;4.10.0&quot;}, ...}</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&amp;version=40553">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;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&amp;version=40732">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;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>
2024-11-08 08:48:39 +00:00
Tao Chen 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 😄
2024-11-08 00:12:07 +00:00
Evan Mattson 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 😄
2024-11-07 18:02:30 +00:00
Evan Mattson 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 😄
2024-11-07 16:08:12 +00:00
Eduard van ValkenburgandTao Chen 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]>
2024-11-07 16:00:51 +00:00
Eduard van Valkenburg 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 😄
2024-11-07 11:33:41 +00:00
Eduard van ValkenburgandTao Chen 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]>
2024-11-06 13:22:50 +00:00
Evan Mattson 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 😄
2024-11-05 00:33:53 +00:00
dependabot[bot] 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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=torch&package-manager=pip&previous-version=2.5.0&new-version=2.5.1)](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>
2024-11-04 23:12:17 +00:00
VGAandEvan Mattson 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]>
2024-11-04 17:47:00 +00:00
dependabot[bot]andEvan Mattson 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 &amp;
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 &quot;Fused Flash Attention&quot; 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-&gt;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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=torch&package-manager=pip&previous-version=2.4.1&new-version=2.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Mattson <[email protected]>
2024-11-04 16:53:53 +00:00
dependabot[bot]andEvan Mattson 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]>
2024-11-04 16:53:38 +00:00
dependabot[bot]andEvan Mattson 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]>
2024-11-04 16:52:58 +00:00
Evan Mattson 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 😄
2024-10-31 14:11:48 +00:00
Evan Mattson 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 😄
2024-10-30 22:31:54 +00:00