mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
dotnet-
935
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
aea0789760 |
.Net: Integration Test Fix
Reverting Microsoft.Extensions.Configuration.Binder to version 7.0.4, as the reversion to 6.0.0 is causing integration tests to fail.dotnet- |
||
|
|
f70b4443cf |
Python: Bump ipykernel from 6.23.3 to 6.24.0 in /python (#1827)
Bumps [ipykernel](https://github.com/ipython/ipykernel) from 6.23.3 to 6.24.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ipython/ipykernel/releases">ipykernel's releases</a>.</em></p> <blockquote> <h2>v6.24.0</h2> <h2>6.24.0</h2> <p>(<a href="https://github.com/ipython/ipykernel/compare/v6.23.3...0c1db099a32c4cb28bfb4b3508bb808d8b4092e7">Full Changelog</a>)</p> <h3>New features added</h3> <ul> <li>Let get_parent decide the channel to get parent header <a href="https://redirect.github.com/ipython/ipykernel/pull/1128">#1128</a> (<a href="https://github.com/dby-tmwctw"><code>@dby-tmwctw</code></a>)</li> </ul> <h3>Bugs fixed</h3> <ul> <li>Bugfix: binary stdout/stderr handling <a href="https://redirect.github.com/ipython/ipykernel/pull/1129">#1129</a> (<a href="https://github.com/arieleiz"><code>@arieleiz</code></a>)</li> </ul> <h3>Contributors to this release</h3> <p>(<a href="https://github.com/ipython/ipykernel/graphs/contributors?from=2023-06-23&to=2023-07-03&type=c">GitHub contributors page for this release</a>)</p> <p><a href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aarieleiz+updated%3A2023-06-23..2023-07-03&type=Issues"><code>@arieleiz</code></a> | <a href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adby-tmwctw+updated%3A2023-06-23..2023-07-03&type=Issues"><code>@dby-tmwctw</code></a> | <a href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2023-06-23..2023-07-03&type=Issues"><code>@minrk</code></a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md">ipykernel's changelog</a>.</em></p> <blockquote> <h2>6.24.0</h2> <p>(<a href="https://github.com/ipython/ipykernel/compare/v6.23.3...0c1db099a32c4cb28bfb4b3508bb808d8b4092e7">Full Changelog</a>)</p> <h3>New features added</h3> <ul> <li>Let get_parent decide the channel to get parent header <a href="https://redirect.github.com/ipython/ipykernel/pull/1128">#1128</a> (<a href="https://github.com/dby-tmwctw"><code>@dby-tmwctw</code></a>)</li> </ul> <h3>Bugs fixed</h3> <ul> <li>Bugfix: binary stdout/stderr handling <a href="https://redirect.github.com/ipython/ipykernel/pull/1129">#1129</a> (<a href="https://github.com/arieleiz"><code>@arieleiz</code></a>)</li> </ul> <h3>Contributors to this release</h3> <p>(<a href="https://github.com/ipython/ipykernel/graphs/contributors?from=2023-06-23&to=2023-07-03&type=c">GitHub contributors page for this release</a>)</p> <p><a href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aarieleiz+updated%3A2023-06-23..2023-07-03&type=Issues"><code>@arieleiz</code></a> | <a href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adby-tmwctw+updated%3A2023-06-23..2023-07-03&type=Issues"><code>@dby-tmwctw</code></a> | <a href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2023-06-23..2023-07-03&type=Issues"><code>@minrk</code></a></p> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ipython/ipykernel/commit/1270d5a6e17845e6b22361e43325dd2de59d6392"><code>1270d5a</code></a> Publish 6.24.0</li> <li><a href="https://github.com/ipython/ipykernel/commit/0c1db099a32c4cb28bfb4b3508bb808d8b4092e7"><code>0c1db09</code></a> Bugfix: binary stdout/stderr handling (<a href="https://redirect.github.com/ipython/ipykernel/issues/1129">#1129</a>)</li> <li><a href="https://github.com/ipython/ipykernel/commit/a18f0074dfe3ee2044fbe94be96450a14ce46803"><code>a18f007</code></a> Let get_parent decide the channel to get parent header (<a href="https://redirect.github.com/ipython/ipykernel/issues/1128">#1128</a>)</li> <li>See full diff in <a href="https://github.com/ipython/ipykernel/compare/v6.23.3...v6.24.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot 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: Shawn Callegari <[email protected]> |
||
|
|
4e27f32bd2 |
Bump Microsoft.Azure.Functions.Worker.Sdk from 1.10.0 to 1.11.0 in /dotnet (#1826)
Bumps [Microsoft.Azure.Functions.Worker.Sdk](https://github.com/Azure/azure-functions-dotnet-worker) from 1.10.0 to 1.11.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Azure/azure-functions-dotnet-worker/releases">Microsoft.Azure.Functions.Worker.Sdk's releases</a>.</em></p> <blockquote> <h2>Microsoft.Azure.Functions.Worker.Sdk 1.11.0</h2> <h2>What's Changed</h2> <!-- raw HTML omitted --> <h3>Microsoft.Azure.Functions.Worker.Sdk 1.11.0 (meta package)</h3> <ul> <li>Update extension build project to reference Microsoft.NET.Sdk.Functions 4.2.0</li> </ul> <h3>Microsoft.Azure.Functions.Worker.Sdk.Generators 1.1.0-preview4</h3> <ul> <li>Add support for retry options (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1548">#1548</a>)</li> <li>Bug fix for when DefaultValue is not present on an IsBatched prop (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1602">#1602</a>).</li> <li>SDK changes for .NET 8.0 support (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1643">#1643</a>)</li> </ul> <h2>Microsoft.Azure.Functions.Worker 1.11.0-preview2</h2> <h2>What's Changed</h2> <ul> <li>Adding a new worker option property to opt-in the behavior to get empty entries in trigger payload by <a href="https://github.com/kshyju"><code>@kshyju</code></a> in <a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/pull/1091">Azure/azure-functions-dotnet-worker#1091</a></li> </ul> <p><em>Sample usage</em></p> <pre><code>var host = new HostBuilder() .ConfigureFunctionsWorkerDefaults((builder) => { }, (options) => { options.IncludeEmptyEntriesInMessagePayload = true; }) .Build(); <p>host.Run(); </code></pre></p> <ul> <li>New overloads for <code>WriteStringAsync</code> and <code>WriteBytesAsync</code> methods by <a href="https://github.com/kshyju"><code>@kshyju</code></a> in <a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/pull/1111">Azure/azure-functions-dotnet-worker#1111</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Azure/azure-functions-dotnet-worker/compare/1.11.0-preview1...1.11.0-preview2">https://github.com/Azure/azure-functions-dotnet-worker/compare/1.11.0-preview1...1.11.0-preview2</a></p> <h2>Microsoft.Azure.Functions.Worker 1.11.0-preview1</h2> <h2>What's Changed</h2> <ul> <li>Added support for surfacing user-thrown exception to App Insights (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/939">#939</a>)</li> <li>Source-generated function metadata: implementation change to improve cold-start performance (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/956">#956</a>) <ul> <li>This functionality requires version <code>1.8.0-preview1</code> of <code>Microsoft.Azure.Functions.Worker.Sdk</code> or higher.</li> </ul> </li> </ul> <p>Steps for opting into the source-generation preview:</p> <ol> <li>Add MSBuild property <code><FunctionsEnableWorkerIndexing>true</FunctionsEnableWorkerIndexing></code> app's <code>.csproj</code> file.</li> <li>In <code>local.settings.json</code> add the property <code>"AzureWebJobsFeatureFlags": "EnableWorkerIndexing"</code> to configure the Azure Functions host to use worker-indexing.</li> <li>Call the <code>IHostBuilder</code> extension, <code>ConfigureGeneratedFunctionMetadataProvider</code> in <code>Program.cs</code>:</li> </ol> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/a6322a3eb70bb6df93a9b22950c7bd50f8157e97"><code>a6322a3</code></a> Updating gRPC package version</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/bdc8f0417e86db1ad1120f0de100de990118af9a"><code>bdc8f04</code></a> Removing preview for SDK release</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/060d97d047c8f0e0824bdc1346a24704152e9236"><code>060d97d</code></a> Cleanup analyzer rules (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1686">#1686</a>)</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/ccb3e0c3e93ccc590c42cba9e5543fe29d9cac55"><code>ccb3e0c</code></a> Updating Worker packages for release</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/f80b0025e755ac6e21526ec0afee7fdef0a09c4f"><code>f80b002</code></a> Updating ASP.NET Core integration preview version</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/a79adf4b8ecd86445e1aac9154541ada264a06e2"><code>a79adf4</code></a> Fix symbol to NET5_0_OR_GREATER (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1662">#1662</a>)</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/d3414ddd08144cf68c556a0c706468603e01cefd"><code>d3414dd</code></a> Remove http proxy sample from FunctionApp (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1663">#1663</a>)</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/240d5ffeb25020aa54c6afeb225ff20d00de8759"><code>240d5ff</code></a> Add SignalR test project to sln file (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1664">#1664</a>)</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/ee532e7e1764a1dbe3cd7fedfbbdfa58489da2b0"><code>ee532e7</code></a> Update release notes.</li> <li><a href="https://github.com/Azure/azure-functions-dotnet-worker/commit/ed86b21b63222f60e02901170cf857d23decc3f3"><code>ed86b21</code></a> Setting _ToolingSuffix for V8.0 TargetFrameworkVersion</li> <li>Additional commits viewable in <a href="https://github.com/Azure/azure-functions-dotnet-worker/compare/1.10.0...sdk-1.11.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot 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> |
||
|
|
e7ba201b16 |
Downgrade several 7.0.* packages to 6.0.* (#1799)
This pains me, as it's a technical step backwards. But there are two problems today: 1) The .NET support policy today unfortunately applies not only to the .NET SDK and runtime but also to nuget packages released in the same wave, which means that if someone is relying on eg System.Text.Json and is running on .NET 6, having SK depend on System.Text.Json with a minimum version of 7.0 forces the consumer to also use the 7.0 version of System.Text.Json from the nuget, which then means that one assembly falls under the STS support policy instead of LTS support policy, which means that one assembly will have support end for it a few months earlier than it otherwise would. I've raised this issue for further evaluation on the .NET side of things, but in the meantime, this lowers the version number to remove the perceived problem and possible barrier to adoption. 2) Azure Functions has two deployment models: in-process and isolated. Ideally functions use isolated, which gives them the freedom to reference whatever they need. The in-process model is exactly what it sounds like: the function runs in the same process as the host, and the host pins several dependencies at 6.0 versions. That means that if a function references a 7.0 version, it'll fail to load in the in-process model. While we'd like for folks to be using the isolated model, we can't force it, and we don't want a need for the in-process model to block SK usage. This commit downgrades back to the 6.0 versions, at least where possible. Some of the connectors reference libraries (e.g. NRedisStack, pgvector, etc.) that themselves have a 7.0 dependency. Closes https://github.com/microsoft/semantic-kernel/issues/1793 --------- Co-authored-by: Shawn Callegari <[email protected]> |
||
|
|
48acc1faa6 | Update dependabot.yml | ||
|
|
175a27fa2c | Update label-title-prefix.yml | ||
|
|
b20d17529b | Update labeler.yml | ||
|
|
52bf7e55ac |
Bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3 in /dotnet (#1825)
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.6.2 to 17.6.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/microsoft/vstest/releases">Microsoft.NET.Test.Sdk's releases</a>.</em></p> <blockquote> <h2>v17.6.3</h2> <h3>Issues Fixed</h3> <ul> <li>[rel/17.6] Update version to 17.6.3 by <a href="https://github.com/nohwnd"><code>@nohwnd</code></a> in <a href="https://redirect.github.com/microsoft/vstest/pull/4555">#4555</a></li> <li>[rel/17.6] Disable pre-start of testhosts by <a href="https://github.com/nohwnd"><code>@nohwnd</code></a> in <a href="https://redirect.github.com/microsoft/vstest/pull/4554">#4554</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/microsoft/vstest/compare/v17.6.2...v17.6.3">https://github.com/microsoft/vstest/compare/v17.6.2...v17.6.3</a></p> <h3>Artifacts</h3> <ul> <li>TestPlatform vsix: <a href="https://vsdrop.corp.microsoft.com/file/v1/Products/DevDiv/microsoft/vstest/17.6/20230627-01;/TestPlatform.vsix">17.6.3</a></li> <li>Microsoft.TestPlatform.ObjectModel : <a href="https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.6.3">17.6.3</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/microsoft/vstest/commit/e7ea853f64af5a4c240acaf9e54cdae3ae0eb7bb"><code>e7ea853</code></a> [rel/17.6] Update version to 17.6.3 (<a href="https://redirect.github.com/microsoft/vstest/issues/4555">#4555</a>)</li> <li><a href="https://github.com/microsoft/vstest/commit/bda2d1e387c47db04a99ae2beee4261ba452e4c7"><code>bda2d1e</code></a> [rel/17.6] Disable pre-start of testhosts (<a href="https://redirect.github.com/microsoft/vstest/issues/4554">#4554</a>)</li> <li>See full diff in <a href="https://github.com/microsoft/vstest/compare/v17.6.2...v17.6.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot 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: Shawn Callegari <[email protected]> |
||
|
|
5eea92e742 |
Python: Bump ruff from 0.0.275 to 0.0.276 in /python (#1829)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.275 to 0.0.276. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>v0.0.276</h2> <!-- raw HTML omitted --> <p>See the <a href="https://astral.sh/blog/ruff-v0.0.276">release blog post</a> for more, including detailed descriptions of any newly added rules.</p> <h2>What's Changed</h2> <p>Highlights include: experimental support for linting Jupyter Notebooks.</p> <p>To opt-in to linting Jupyter Notebook files, add the <code>*.ipynb</code> pattern to your <a href="https://github.com/astral-sh/ruff/blob/HEAD/settings.md#include"><code>include</code></a> setting, like so:</p> <pre lang="toml"><code>[tool.ruff] # Allow Ruff to discover `*.ipynb` files. include = ["*.py", "*.pyi", "**/pyproject.toml", "*.ipynb"] </code></pre> <p>This will prompt Ruff to discover Jupyter Notebook files in any specified directories, and lint them accordingly.</p> <p>Jupyter Notebook support is currently opt-in and experimental. We'd love your help testing it out. Have feedback? Run into issues? <a href="https://github.com/astral-sh/ruff/issues/new">Let us know!</a></p> <h3>New Rules</h3> <ul> <li>[<code>flake8-pyi</code>] Implement <code>PYI002</code>, <code>PYI003</code>, <code>PYI004</code>, <code>PYI005</code> by <a href="https://github.com/density"><code>@density</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5457">astral-sh/ruff#5457</a></li> <li>[<code>numpy</code>] Implement <code>numpy-deprecated-function</code> (<code>NPY003</code>) by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5468">astral-sh/ruff#5468</a></li> <li>[<code>perflint</code>] Implement <code>unnecessary-list-cast</code> (<code>PERF101</code>) by <a href="https://github.com/qdegraaf"><code>@qdegraaf</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5121">astral-sh/ruff#5121</a></li> <li>[<code>perflint</code>] Implement <code>try-except-in-loop</code> (<code>PERF203</code>) by <a href="https://github.com/evanrittenhouse"><code>@evanrittenhouse</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5166">astral-sh/ruff#5166</a></li> <li>[<code>perflint</code>] Implement <code>manual-list-comprehension</code> (<code>PERF401</code>) and <code>manual-list-copy</code> (<code>PERF402</code>) rules by <a href="https://github.com/qdegraaf"><code>@qdegraaf</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5298">astral-sh/ruff#5298</a></li> <li>[<code>pylint</code>] Implement Pylint <code>single-string-used-for-slots</code> (<code>C0205</code>) as <code>single-string-slots</code> (<code>PLC0205</code>) by <a href="https://github.com/tjkuson"><code>@tjkuson</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5399">astral-sh/ruff#5399</a></li> </ul> <h3>Jupyter</h3> <ul> <li>Experimental release for Jupyter notebook integration by <a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5363">astral-sh/ruff#5363</a></li> <li>Enable --watch for Jupyter notebooks by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5394">astral-sh/ruff#5394</a></li> <li>Consider Jupyter index for code frames (<code>--show-source</code>) by <a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5402">astral-sh/ruff#5402</a></li> <li>fixup! Consider Jupyter index for code frames (<code>--show-source</code>) (<a href="https://redirect.github.com/astral-sh/ruff/issues/5402">#5402</a>) by <a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5414">astral-sh/ruff#5414</a></li> </ul> <h3>Settings</h3> <ul> <li>[<code>pyupgrade</code>] Restore the <code>keep-runtime-typing</code> setting by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5470">astral-sh/ruff#5470</a></li> <li>Add <code>PythonVersion::Py312</code> by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5316">astral-sh/ruff#5316</a></li> </ul> <h3>Bug Fixes</h3> <ul> <li>Support <code>pydantic.BaseSettings</code> in <code>mutable-class-default</code> by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5312">astral-sh/ruff#5312</a></li> <li>Allow <code>__slots__</code> assignments in <code>mutable-class-default</code> by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5314">astral-sh/ruff#5314</a></li> <li>Avoid syntax errors when removing f-string prefixes by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5319">astral-sh/ruff#5319</a></li> <li>Ignore unpacking in <code>iteration-over-set</code> by <a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5392">astral-sh/ruff#5392</a></li> <li>Replace same length equal line with dash line in D407 by <a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5383">astral-sh/ruff#5383</a></li> <li>Exclude docstrings from PYI053 by <a href="https://github.com/intgr"><code>@intgr</code></a> in <a href="https://redirect.github.com/astral-sh/ruff/pull/5405">astral-sh/ruff#5405</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.0.276</h2> <h3>The <code>keep-runtime-typing</code> setting has been reinstated (<a href="https://redirect.github.com/astral-sh/ruff/pull/5470">#5470</a>)</h3> <p>The <code>keep-runtime-typing</code> setting has been reinstated with revised semantics. This setting was removed in <a href="https://redirect.github.com/astral-sh/ruff/pull/4427">#4427</a>, as it was equivalent to ignoring the <code>UP006</code> and <code>UP007</code> rules via Ruff's standard <code>ignore</code> mechanism.</p> <p>Taking <code>UP006</code> (rewrite <code>List[int]</code> to <code>list[int]</code>) as an example, the setting now behaves as follows:</p> <ul> <li>On Python 3.7 and Python 3.8, setting <code>keep-runtime-typing = true</code> will cause Ruff to ignore <code>UP006</code> violations, even if <code>from __future__ import annotations</code> is present in the file. While such annotations are valid in Python 3.7 and Python 3.8 when combined with <code>from __future__ import annotations</code>, they aren't supported by libraries like Pydantic and FastAPI, which rely on runtime type checking.</li> <li>On Python 3.9 and above, the setting has no effect, as <code>list[int]</code> is a valid type annotation, and libraries like Pydantic and FastAPI support it without issue.</li> </ul> <p>In short: <code>keep-runtime-typing</code> can be used to ensure that Ruff doesn't introduce type annotations that are not supported at runtime by the current Python version, which are unsupported by libraries like Pydantic and FastAPI.</p> <p>Note that this is not a breaking change, but is included here to complement the previous removal of <code>keep-runtime-typing</code>.</p> <h2>0.0.268</h2> <h3>The <code>keep-runtime-typing</code> setting has been removed (<a href="https://redirect.github.com/astral-sh/ruff/pull/4427">#4427</a>)</h3> <p>Enabling the <code>keep-runtime-typing</code> option, located under the <code>pyupgrade</code> section, is equivalent to ignoring the <code>UP006</code> and <code>UP007</code> rules via Ruff's standard <code>ignore</code> mechanism. As there's no need for a dedicated setting to disable these rules, the <code>keep-runtime-typing</code> option has been removed.</p> <h2>0.0.267</h2> <h3><code>update-check</code> is no longer a valid configuration option (<a href="https://redirect.github.com/astral-sh/ruff/pull/4313">#4313</a>)</h3> <p>The <code>update-check</code> functionality was deprecated in <a href="https://redirect.github.com/astral-sh/ruff/pull/2530">#2530</a>, in that the behavior itself was removed, and Ruff was changed to warn when that option was enabled.</p> <p>Now, Ruff will throw an error when <code>update-check</code> is provided via a configuration file (e.g., <code>update-check = false</code>) or through the command-line, since it has no effect. Users should remove this option from their configuration.</p> <h2>0.0.265</h2> <h3><code>--fix-only</code> now exits with a zero exit code, unless <code>--exit-non-zero-on-fix</code> is specified (<a href="https://redirect.github.com/astral-sh/ruff/pull/4146">#4146</a>)</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/3992c47c008df8f706e03a6ba0d7aa7f068ef0a9"><code>3992c47</code></a> Bump version to 0.0.276 (<a href="https://redirect.github.com/astral-sh/ruff/issues/5488">#5488</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/8de5a3d29df5964dd91f39d0150caccc7bf0ab83"><code>8de5a3d</code></a> Allow <code>Final</code> assignments in stubs (<a href="https://redirect.github.com/astral-sh/ruff/issues/5490">#5490</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ed1dd09d02af7972df301dac0c6b5d084f26cc1b"><code>ed1dd09</code></a> Refine some <code>perflint</code> rules (<a href="https://redirect.github.com/astral-sh/ruff/issues/5484">#5484</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ca497fabbd970a557ed1b45acccaa714e12573af"><code>ca497fa</code></a> Remove some <code>diagnostics.extend</code> calls (<a href="https://redirect.github.com/astral-sh/ruff/issues/5483">#5483</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/00fbbe4223d0cbfc3014403ace659f48368e1852"><code>00fbbe4</code></a> Remove some additional manual iterator matches (<a href="https://redirect.github.com/astral-sh/ruff/issues/5482">#5482</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/dadad0e9ed861b50c87f2bf5c4520b949ac177ab"><code>dadad0e</code></a> Remove some allocations in argument detection (<a href="https://redirect.github.com/astral-sh/ruff/issues/5481">#5481</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d2450c25abc428cb5276933b2ae21017fcd98f3d"><code>d2450c2</code></a> Audit <code>remove_argument</code> usages to use end-of-function (<a href="https://redirect.github.com/astral-sh/ruff/issues/5480">#5480</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/1e4b88969cbfa866c0ac6aace562699c1fd6b371"><code>1e4b889</code></a> Fix <code>unnecessary-encode-utf8</code> to fix <code>encode</code> on parenthesized strings correc...</li> <li><a href="https://github.com/astral-sh/ruff/commit/dc072537e513912eced43c24e6fc8d61d77aca4d"><code>dc07253</code></a> Fix python_formatter generate.py with rust path (<a href="https://redirect.github.com/astral-sh/ruff/issues/5475">#5475</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/7ac9e0252e3c278078e19a7053671fdc845986af"><code>7ac9e02</code></a> Document Checking formatter stability and panics (<a href="https://redirect.github.com/astral-sh/ruff/issues/5415">#5415</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/v0.0.275...v0.0.276">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot 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> |
||
|
|
9c427f92a1 | Update label-title-prefix.yml | ||
|
|
8c0d25ddbb | Update label-title-prefix.yml | ||
|
|
84ad23e12d | Update label-title-prefix.yml | ||
|
|
cc34648199 | Update label-title-prefix.yml | ||
|
|
b6628b06a3 | Update label-title-prefix.yml | ||
|
|
a447795eca | Update label-title-prefix.yml | ||
|
|
aafb6e7589 | Update label-title-prefix.yml | ||
|
|
3e6b45cc8d | Create label-title-prefix.yml | ||
|
|
0ed9c064cb | Create label-issues.yml | ||
|
|
2cb8a9c473 |
Fix in labeler.yml (#1822)
### 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. --> Labeler actions on PRs are currently failing due to a broken match rule. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Add required quotation marks for match rule with leading asterisk (see [reference](https://github.com/actions/labeler#basic-examples)). |
||
|
|
d4b582e5ce | Update labeler.yml | ||
|
|
5bf9525442 | Update java-format.yml | ||
|
|
fccba80084 | Update java-format.yml | ||
|
|
c6f783df4f |
Python: Fix for SemanticTextMemory Embedding issue (#1816)
### 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? To fix the SemanticTextMemory functionality 2. What problem does it solve? #1815 3. What scenario does it contribute to? All scenarios that intend on using RAG 4. If it fixes an open issue, please link to the issue here. #1815 --> 1. Why is this change required? To fix the SemanticTextMemory functionality 2. What problem does it solve? #1815 3. What scenario does it contribute to? All scenarios that intend on using RAG 4. If it fixes an open issue, please link to the issue here. #1815 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Simple decomposition of the list of embeddings returned via `generate_embeddings_async` ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
b139203fdb |
Improve postgres memory (#1794)
### 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. --> Follow https://github.com/microsoft/semantic-kernel/pull/1735#pullrequestreview-1504938482's advice to rename methods and separate responsibilities. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Separate the responsibilities of PostgresMemoryStore and PostgresDbClient. - Add the real batch methods to PostgresDbClient. - Save timestamp with `TIMESTAMP WITH TIME ZONE` type - Stop creating index ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Dmytro Struk <[email protected]> |
||
|
|
93a172be08 |
Notebook showing how to leverage Chroma for Semantic Memory (#1785)
### Motivation and Context Notebook showing how to leverage the new Chroma connector in .NET. --------- Co-authored-by: Dmytro Struk <[email protected]> |
||
|
|
4eaee8004a |
Update Redis Connector README.md with various options to get RediSearch (#1686)
Improve on the options to get RediSearch. ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [ ] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 Co-authored-by: Dmytro Struk <[email protected]> |
||
|
|
bb79d41acd |
Fixed function parameter not being used for LoadFromFile (#1803)
### Motivation and Context While trying to reuse the Settings class used in the C# notebooks to load the Kernel configuration, I saw the parameter to specify a file was not properly used. ### Description Very simple changes as I just updated the code to use the function parameter instead of the Class variable Default It is in the notebook part so no build nor tests. Notebooks are still working. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 Co-authored-by: Shawn Callegari <[email protected]> |
||
|
|
6600204a03 |
Remove some unnecessary null checks (#1801)
### Motivation and Context The culture will never be null here so these fallbacks aren't ever used. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
3105aa13d9 |
Copilot Chat: align bash deploy-webapi script with powershell (#1786)
### 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. --> I noticed the script was slightly misaligned during my deployment of webapi. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> corrects the usage string and sets a default value for the `PACKAGE_FILE_PATH` similar to the Powershell script. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [X] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone 😄 |
||
|
|
cd5120fa18 |
Copilot Chat: Fix ESLint violations + enable linter during build (#1710)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> fix the ESLint violations in CopilotChat and enable the linter to run during `yarn start`/`yarn build`. **lint errors going forward will fail the build** and will need to be corrected before a PR can merge. we have already configured the linter to auto-fix on save in VSCode and for other IDEs the `yarn lint:fix` script can be used. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - `.node-pr.yml`: removed unneeded directory filter since `samples/apps` no longer contains a `yarn.lock`. - `.vscode/settings.json`: updated to point to the `eslintConfig` in the `package.json` rather than the shared JS file. this is required so that the plugins are resolved correctly by the extension. - `.eslintrc.js`: - removed deprecated `@typescript-eslint` rules. - removed plugins already resolved from create-react-app. - removed `standard-with-typescript` extended config in favor of more widely used configs. - `webapp/package.json`: - pinned TS version to `5.0.4`, the latest version below `5.1.0`. this is a dependency requirement of `@typescript-eslint` and otherwise the linter will not work. - re-added `eslintConfig` that now extends from the `../../eslintrc.js`. this is required so that the plugins are resolved correctly by ESLint. - `samples/apps/package.json`: - deleted since there are now no shared dependencies that need to be downloaded. - similarly, the `yarn.lock` file was removed as well. - all of the plugins/configs used in `.eslintrc.js` are already included in the [create-react-app config](https://github.com/facebook/create-react-app/blob/main/packages/eslint-config-react-app/index.js) which we extend. - **all other files**: fixed **379** errors and **42** warnings. ### Preview #### During build <img width="258" alt="image" src="https://github.com/microsoft/semantic-kernel/assets/52973358/94a42909-7cb6-48a7-8d5f-6f55a15d6025"> #### In VSCode w/ ESLint extension installed <img width="253" alt="image" src="https://github.com/microsoft/semantic-kernel/assets/52973358/182604ab-6228-49f6-8983-4ef902e7e945"> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [X] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone 😄 - [X] Bugbash to double check nothing is broken (not yet but before merging) |
||
|
|
348c1c8f2b |
Chroma - fix for saving same memory record multiple times (#1790)
### 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.
-->
Method `SaveInformationAsync` of kernel memory type should be idempotent
to update memory record with same key multiple times. This PR contains
changes to allow that behavior in Chroma connector and tests to verify
it.
### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
1. Replaced Chroma `POST /collections/{collection_id}/add` with `POST
collections/{collection_id}/upsert` to allow idempotent behavior.
2. Added integration tests to verify scenario with adding/updating
memory record with same key multiple times.
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with `dotnet format`
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
|
||
|
|
a3731645bc |
Copilot Chat: Adding missing appsettings chatparticipant config to bicep template (#1780)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Adding `ChatStore:Cosmos:ChatParticipantsContainer` config setting to the bicep template for the web app. In response to: https://github.com/orgs/microsoft/projects/852/views/5?pane=issue&itemId=32088282 Did a test deployment and verified that new setting is in the config! { "name": "ChatStore:Cosmos:ChatParticipantsContainer", "value": "chatparticipants", "slotSetting": false },  Then tested deployed webapi with local webapp instance and chatbot is running as expected ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
5cae285401 |
Python: add iso_date time skill (#1501)
Date might be affected by locale language. For some use cases is better to have a fixed and structured format Co-authored-by: Shawn Callegari <[email protected]> |
||
|
|
20dee6dbf0 |
Python: Correct syntax in core skill examples (#1731)
Fix for #1730 Some core skills include example code showing how to import the skill. Some of these examples, used an invalid syntax where arguments were in the reversed order, e.g. kernel.import_skill("wait", WaitSkill()); instead of the valid kernel.import_skill(WaitSkill(), "wait"). --------- Co-authored-by: Aman Sachan <[email protected]> |
||
|
|
57b7f09e4b |
Bump Microsoft.Azure.Functions.Worker from 1.14.1 to 1.15.0 in /dotnet (#1721)
Bumps [Microsoft.Azure.Functions.Worker](https://github.com/Azure/azure-functions-dotnet-worker) from 1.14.1 to 1.15.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Azure/azure-functions-dotnet-worker/releases">Microsoft.Azure.Functions.Worker's releases</a>.</em></p> <blockquote> <h2>Microsoft.Azure.Functions.Worker 1.15.0-preview1</h2> <h2>What's Changed</h2> <h3>Microsoft.Azure.Functions.Worker (metapackage)</h3> <ul> <li>Update Microsoft.Azure.Functions.Worker.Core dependency to 1.13.0-preview1</li> <li>Update Microsoft.Azure.Functions.Worker.Grpc dependency to 1.11.0-preview1</li> </ul> <h3>Microsoft.Azure.Functions.Worker.Core 1.13.0-preview1</h3> <ul> <li>Implementation for bypass deferred binding (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1462">#1462</a>/<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1495">#1495</a>)</li> </ul> <h3>Microsoft.Azure.Functions.Worker.Grpc 1.11.0-preview1</h3> <ul> <li>Implementation for bypass deferred binding (<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1462">#1462</a>/<a href="https://redirect.github.com/Azure/azure-functions-dotnet-worker/issues/1495">#1495</a>)</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Azure/azure-functions-dotnet-worker/compare/1.14.1...1.15.0-preview1">https://github.com/Azure/azure-functions-dotnet-worker/compare/1.14.1...1.15.0-preview1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/Azure/azure-functions-dotnet-worker/commits">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot 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: Shawn Callegari <[email protected]> |
||
|
|
3f092e1487 |
Creating Pinecone memory store for Python (#769)
### Motivation and Context Adding a Pinecone Memory store using the Pinecone vector database client for SK python Add Pinecone vector db memory to SK Python Memory storage for SK and vectors ### Description - Using the existing pinecone python module/client - Reviewing with console exceptions responses that come back from pinecone, will update if any were omitted - Currently investigating and would like feedback if I should respond to throttling errors in a different manner - Currently testing each API response, slight delay may occur due to throttling of my starter account in Pinecone. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [X] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [ ] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone 😄 --------- Co-authored-by: Lee Miller <[email protected]> Co-authored-by: Casey Schadewitz <[email protected]> Co-authored-by: cschadewitz <[email protected]> Co-authored-by: Abby Harrison <[email protected]> Co-authored-by: Devis Lucato <[email protected]> Co-authored-by: Dmytro Struk <[email protected]> Co-authored-by: Shawn Callegari <[email protected]> |
||
|
|
a335fbf9d6 |
Bump numpy from 1.24.3 to 1.24.4 in /python (#1723)
Bumps [numpy](https://github.com/numpy/numpy) from 1.24.3 to 1.24.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/numpy/numpy/releases">numpy's releases</a>.</em></p> <blockquote> <h2>v1.24.4</h2> <h1>NumPy 1.24.4 Release Notes</h1> <p>NumPy 1.24.4 is a maintenance release that fixes a few bugs discovered after the 1.24.3 release. It is the last planned release in the 1.24.x cycle. The Python versions supported by this release are 3.8-3.11.</p> <h2>Contributors</h2> <p>A total of 4 people contributed to this release. People with a "+" by their names contributed a patch for the first time.</p> <ul> <li>Bas van Beek</li> <li>Charles Harris</li> <li>Sebastian Berg</li> <li>Hongyang Peng +</li> </ul> <h2>Pull requests merged</h2> <p>A total of 6 pull requests were merged for this release.</p> <ul> <li><a href="https://redirect.github.com/numpy/numpy/pull/23720">#23720</a>: MAINT, BLD: Pin rtools to version 4.0 for Windows builds.</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/23739">#23739</a>: BUG: fix the method for checking local files for 1.24.x</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/23760">#23760</a>: MAINT: Copy rtools installation from install-rtools.</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/23761">#23761</a>: BUG: Fix masked array ravel order for A (and somewhat K)</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/23890">#23890</a>: TYP,DOC: Annotate and document the <code>metadata</code> parameter of...</li> <li><a href="https://redirect.github.com/numpy/numpy/pull/23994">#23994</a>: MAINT: Update rtools installation</li> </ul> <h2>Checksums</h2> <h3>MD5</h3> <pre><code>25049e3aee79dde29e7a498d3ad13379 numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl 579b5c357c918feaef4af03af8afb721 numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl c873a14fa4f0210884db9c05e2904286 numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 110a13ac016286059f0658b52b3646c0 numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl fa67218966c0aef4094867cad7703648 numpy-1.24.4-cp310-cp310-win32.whl 6ee768803d8ebac43ee0a04e628a69f9 numpy-1.24.4-cp310-cp310-win_amd64.whl 0c918c16b58cb7f6773ea7d76e0bdaff numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl 20506ae8003faf097c6b3a8915b4140e numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl 902df9d5963e89d88a1939d94207857f numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2543611d802c141c8276e4868b4d9619 numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 37b23a4e4e148d61dd3a515ac5dbf7ec numpy-1.24.4-cp311-cp311-win32.whl 25e9f6bee2b65ff2a87588e717f15165 numpy-1.24.4-cp311-cp311-win_amd64.whl f39a0cc3655a482af7d300bcaff5978e numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl 9ed27941388fdb392e8969169f3fc600 numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl dee3f0c7482f1dc8bd1cd27b9b028a2c numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2cc0967af29df3caef9fb3520f14e071 numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 8572a3a0973fa78355bcb5f737745b47 numpy-1.24.4-cp38-cp38-win32.whl </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/numpy/numpy/commit/9315a9072b2636f75c831b4eca9f42a5f67ca2fb"><code>9315a90</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/24044">#24044</a> from charris/fix-simple-anaconda-client</li> <li><a href="https://github.com/numpy/numpy/commit/334c25ef9508d43e0e2b1a3a8fb71fb5ab9338db"><code>334c25e</code></a> BLD: Use urllib < 2.0.0 for anaconda-client.</li> <li><a href="https://github.com/numpy/numpy/commit/008b17fd45c5d1c91da78964825388205bc9f821"><code>008b17f</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/24040">#24040</a> from charris/prepare-1.24.4-release</li> <li><a href="https://github.com/numpy/numpy/commit/7162cd61ea8924c015e90e5cbb9f079aa7d89e2a"><code>7162cd6</code></a> REL: Prepare for the NumPy 1.24.4 release</li> <li><a href="https://github.com/numpy/numpy/commit/2d2774730ddc9b20edc8237e3ccc5f95f67e808f"><code>2d27747</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/23994">#23994</a> from charris/update-rtools-install</li> <li><a href="https://github.com/numpy/numpy/commit/878122c0235745c7728fcac8c1d2363841c28993"><code>878122c</code></a> MAINT: Update rtools installation</li> <li><a href="https://github.com/numpy/numpy/commit/a5f33ab3bcfdf463dcefdb1c044f0bdd98c5301d"><code>a5f33ab</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/23890">#23890</a> from charris/backport-23887</li> <li><a href="https://github.com/numpy/numpy/commit/d62280dace6b773b7f54826dbfbd4d6375134fff"><code>d62280d</code></a> DOC: Document the <code>metadata</code> parameter of the <code>dtype</code> constructor</li> <li><a href="https://github.com/numpy/numpy/commit/6da40bb23a0eb94a70186522924d753ee5d4c476"><code>6da40bb</code></a> TYP: Add annotations for the <code>np.dtype</code> metadata parameter</li> <li><a href="https://github.com/numpy/numpy/commit/553bb3fe58e606ee257765cad526be479178f643"><code>553bb3f</code></a> Merge pull request <a href="https://redirect.github.com/numpy/numpy/issues/23761">#23761</a> from charris/backport-23680</li> <li>Additional commits viewable in <a href="https://github.com/numpy/numpy/compare/v1.24.3...v1.24.4">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot 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> |
||
|
|
07aa6a73d5 |
Re-implementing the Postgres memory store (#1735)
### 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. --> Reimplement Postgres in-memory storage based on the discussion in #1338. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Re-implementing the Postgres memory store, mapping between SK collection to Postgres table. - PostgresMemoryStore no longer implements `IDisposable` pattern. - No longer execute the enable pgvector extension statement, add it to README.md to be executed by the user. It only needs to be executed once in the database, and the extension may be enabled differently for different hosting methods. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Dmytro Struk <[email protected]> |
||
|
|
537bc497a1 |
Fix to use semantic function default values (#1772)
### Motivation and Context Please help reviewers and future users, providing the following information: 1. Why is this change required? Default values specified in a semantic function config.json are not being used when executing the semantic function ### Description 1. Add logic to use default values when executing a semantic function 2. Add a new extension method to allow execution of the text prompt ### Contribution Checklist - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
16d52c155a | Update and rename dotnet-ci.yml to dotnet-ci-windows.yml dotnet-0.17.230629.1-preview | ||
|
|
6a370e7d13 |
Fix SKFunction.InvokeAsync to respect input when passed in explicitly. (#1757)
- The defaults for `mutableContext` are `true` which make it super easy to fall into this trap. I slammed my head against the wall for a while until realizing that the SK InvokeAsync method wasn't properly utilizing the `input` parameter. --------- Co-authored-by: Shawn Callegari <[email protected]> |
||
|
|
de9c202a72 |
Reverting torch to 2.0.0 (#1761)
### 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. --> [Integration tests were failing](https://github.com/microsoft/semantic-kernel/actions/runs/5400873036) due to a problem importing torch. This might be a mismatch in torch and cuda dependencies. Reverting torch to 2.0.0 led to successful integration tests here: https://github.com/mkarle/semantic-kernel/actions/runs/5405696396 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Locally, I reverted torch to 2.0.0 and integration tests succeeded - Then, I upgraded torch back to 2.0.1 and integration tests still succeeded - In my GitHub Actions, reverting to 2.0.0 succeeded: https://github.com/mkarle/semantic-kernel/actions/runs/5405599455 - Upgrading back to 2.0.1 failed again, however: https://github.com/mkarle/semantic-kernel/actions/runs/5405659136 - So now I've reverted back to 2.0.0 and they succeed: https://github.com/mkarle/semantic-kernel/actions/runs/5405696396 ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Mark Karle <> |
||
|
|
6b2e38f89e |
Update input when invoking function with mutable context (#1768)
### 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 change fixes #1443. There is a code path in `SKFunctionExtensions.InvokeAsync` where we don't update the context with the input from the user. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Update the `input` context variable before invoking the SK function, to ensure the input gets passed through. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
d8ed339ed7 |
Update Memory Connectors feature matrix (#1759)
* Add Chroma for Python * Move up top Memory connectors with wider support * Update Azure Search note |
||
|
|
032d6e7e36 |
OpenAPI fixes and improvements (#1737)
### Motivation and Context This PR ensures that the User-Agent is consistently passed for all OpenAPI-related functionality, preventing rejections of HTTP requests by Klarna ChatGPT plugin. It also introduces a data contract for the RestApiOperation response, enabling reliable deserialization in SK consumer code. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 Co-authored-by: Dmytro Struk <[email protected]> |
||
|
|
7afbc20441 |
Consolidate duplicate HttpRequest files (#1739)
### Motivation and Context Move the HttpRequest helper into common files to avoid cloning the file multiple times, the internally dedup the implemetations of the methods, and improve the content creation to avoid a temporary string from json serialization. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
d10fb879b0 |
Fixes for OpenApiSkillsExample (#1738)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Fix for issue #1336 - When the token limit is exceeded, we unintentionally remove the system prompt from the chat history in order to remain under the token limit. Also addresses a couple other small issues with this sample. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Remove chat history items beginning with index 1, so that the system prompt (index 0) remains in the chat history. - Fix a naming mismatch in the configuration - the code looks for `TokenLimit` not `CompletionTokenLimit` - Add `UserSecretsId` property to the csproj file so users won't need to run `dotnet user-secrets init` themselves. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
84e6fada0c |
Avoid recursion in TextChunker.BuildParagraph (#1709)
### Motivation and Context TextChunker.BuildParagraph is unnecessarily recursive and can lead to stack overflows on large inputs. ### Description Fixes https://github.com/microsoft/semantic-kernel/issues/1633 Also happens to make it more efficient with a few tweaks. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Dmytro Struk <[email protected]> |
||
|
|
823a4c7384 |
SequentialPlanner - Allow custom manual discovery and loading. (#1727)
### Motivation and Context This change is part of a need to enable planners that can reference a large list of potential plugins that aren't loaded in a kernel instance. Additionally, consumers of planners need to be able to load plugins on demand when needed by a plan. The change includes some additional improvements to the sequential plan parser and prompt. Part of #1728 ### Description This pull request refactors and improves the sequential plan parser and config, simplifying the code, adding new features, and fixing some issues. The main changes are: - Use the Azure Chat Completion Service instead of the Azure Text Completion Service for the sequential planner, and lower the relevancy threshold for creating a plan. This allows for more flexibility and creativity in generating plans, and improves the performance and accuracy of the planner. - Refactor the plan parsing logic to simplify the code and improve readability. Remove unnecessary try-catch blocks, logging statements, and string splitting logic. Reorder the parameters of the ToPlanFromXml method to match the order of the XML attributes. Ignore text and comment nodes in the plan XML, as they are not valid steps and could cause confusion or errors. Remove the logic that adds empty nodes as steps, as they are not valid functions and could cause errors or confusion. - Add two optional functions to the SequentialPlannerConfig class that allow the planner to use custom logic for getting available functions and finding functions by name. These functions can be useful for scenarios where the planner needs to access functions from different sources or with different criteria, such as filtering by skill category or function type. The default behavior of the planner remains unchanged if these functions are not specified. - Simplify and standardize the syntax for calling functions in the plan XML, using fully qualified function names and consistent attribute names for inputs, outputs, and parameters. Update the skprompt.txt file to reflect the new syntax and add more instructions and examples for creating a plan. Update the sequential plan parser tests to use the new syntax and function names, and add a helper method to get the function from the kernel context. - Fix some minor typos and errors in the code and the skprompt.txt file. Details: - dotnet/src/IntegrationTests/Planning/SequentialPlanner/SequentialPlannerTests.cs - Changed the KernelSyntaxExamples and SequentialPlannerTests to use the Azure Chat Completion Service instead of the Azure Text Completion Service, by replacing the deployment name, endpoint, and key environment variables. - Removed the EmailSkillFake import from the InitializeKernel method, as it is not used in any test case and is already imported in the TestHelpers class. - Updated the tests to reflect the changes in the plan parser and remove the redundant or invalid steps. For example, remove the text and empty nodes from the plan XML, and update the expected number and description of the steps. - dotnet/src/Extensions/Planning.SequentialPlanner/SequentialPlanParser.cs - Simplified the ToPlanFromXml method by removing unnecessary try-catch blocks, logging statements, and string splitting logic. - Reordered the parameters of the ToPlanFromXml method to match the order of the XML attributes, as this makes the code more consistent and easier to read. - Ignored text and comment nodes in the plan XML, as they are not valid steps and could cause confusion or errors. Added TODO comments for possible future enhancements using text or comments as reasoning or desired functions. - Removed the logic that adds empty nodes as steps, as they are not valid functions and could cause errors or confusion. Added TODO comments for possible future enhancements using empty nodes as desired functions. - Added a GetFunction parameter to the ToPlanFromXml method that takes a delegate for finding a skill function by skill name and function name. This delegate can be specified in the SequentialPlannerConfig class or default to the existing logic of using the SKContext. - Added a new static method GetFunction to the SequentialPlanParser class that returns the default delegate for getting the ISKFunction instance, which calls context.Skills.TryGetFunction. - Fixed a minor typo in the GetFunctionName method, changing "functionName" to "functionNameAttribute". This makes the code more accurate and clear. - dotnet/src/Extensions/Planning.SequentialPlanner/SequentialPlannerConfig.cs - Added a new property GetAvailableFunctionsAsync to the SequentialPlannerConfig class that takes a delegate of type Func<SequentialPlannerConfig, string, Task<IOrderedEnumerable<FunctionView>>>. This delegate can be used to provide a custom logic for retrieving available functions from a semantic query, instead of using the default logic that calls context.GetAvailableFunctionsAsync. The default value of this property is null, which means the default logic will be used. - Modified the SKContextSequentialPlannerExtensions class to use the GetAvailableFunctionsAsync delegate if it is not null, otherwise fall back to the default logic. - dotnet/src/Extensions/Planning.SequentialPlanner/skprompt.txt - Simplified and standardized the syntax for calling functions from <function.{FunctionName} ... /> to <function.{FullyQualifiedFunctionName} ... />, where {FullyQualifiedFunctionName} is the name of the function with its namespace or skill prefix, such as _GLOBAL_FUNCTIONS_.NovelOutline or AuthorAbility.Summarize. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 |
||
|
|
b46ab22c63 |
updated copilot chat deployment readme based on learnings (#1711)
### Motivation and Context Thank you for this great addition where we can deploy the SK copilot chat to an azure subscription. I went through the process and stumbled into some issues. I updated the readme to solve those issues for others that want to do the same... Additionally, I updated the deploy-webapp ps1 and sh files to auto update the aad appregistration (set the redirect uri to the newly deployed front end) ### Description updated copilot chat deployment readme based on learnings: 1. I had to update my Azure CLI (a bit too old) as the deployment of the webapp gave a strange error. I added a note that updating the CLI is a good idea 2. To deploy the webapp, the readme only contained the bash command. Since there is also a ps1 script available, I added the command to use this one 3. updated both `deploy-webapp.ps1`and `deploy-webapp.sh` to ensure that the AAD app registration is updated to auto redirect to the correct url (webapp) and not show an nasty AAD error. > small note, I tested the updated `deploy-webapp.ps1`, but bot the `deploy-webapp.sh` as I did my deployment with powershell... should not be a problem though as it is a call to the AZ CLI ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Gina Triolo <[email protected]> |