Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.Net: Added better formatting for responses from Bing Searches & Ability to use custom Bing Search endpoint. #5673

Merged
merged 516 commits into from
Apr 4, 2024

Conversation

SOE-YoungS
Copy link
Contributor

@SOE-YoungS SOE-YoungS commented Mar 27, 2024

Motivation and Context
Returning just the page snippet from a Bing search results in a lack of context or ability to follow up on a response.

This PR addresses that by adding better formatting for Bing Search responses via the "Plugins.Web" package.
It also adds a method to use a custom endpoint for Bing Search.

Description
Formatting Changes
Previous response format example:
image

New response format example:
image

As can be seen by the examples provided, the new response format contains much more context & provides the user with the URL of the search result so that they can click through and read further.

This can be obtained programmatically later on using regex matching, then could be fed into the "Search Url Plugin", to scrape the page directly, before finally summarizing and returning a complete summary of the page to the user.

Endpoint Changes
The ability to use a custom endpoint for Bing Search also enables a path to use an API Management instance as a front end for the Bing Search API. This is required by some end users for scenarios such as enterprise logging and usage counting for cross charge.

The default behaviour for the BingConnector is to target the Bing Search endpoint directly. It is entirely optional to use a custom endpoint. Doing so, does not introduce any other code change requirements to achieve use of Bing Search.

Contribution Checklist
The code builds clean without any errors or warnings
The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
All unit tests pass, and I have added new tests where possible
I didn't break anyone 😄

mkarle and others added 30 commits October 31, 2023 16:51
### 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 PR comment-triggered workflow that uses the action
[mkarle/skonsole-generate-pr-description](https://github.com/mkarle/skonsole-generate-pr-description)
to run skonsole on the diff of the PR. That action uses
[mkarle/pr-update](https://github.com/mkarle/pr-update) to update the PR
with a title, a summary, and a list of changes. It can update as a
prefix, suffix, or entirely replace what's there.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
To use, create a comment on a PR with:
`/sk generate-pr-description <suffix(default) | prefix | replace>`
Since it's triggered from a pull request comment, it only runs if it's
in the default branch of the repo. [See this PR for an example of it
working.](mkarle/skonsole#4)
### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
…2870)

Bumps [xunit.analyzers](https://github.com/xunit/xunit.analyzers) from
1.2.0 to 1.3.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/d357a55f7bb6b7e02b0ebfe9a1aad4132926f0a3"><code>d357a55</code></a>
v1.3.0</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/cc95bbe9b6066f53dd1e98cdd65ecb893d008849"><code>cc95bbe</code></a>
Latest dependencies</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/8fe98ac331771a003054e401c137b0b82d2e115d"><code>8fe98ac</code></a>
Update build.ps1 for .NET SDK 6</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/34d10d59aedd958d1f22a3eb96947900994c08dc"><code>34d10d5</code></a>
Add analyzer and fixer for test classes nested in generic classes (<a
href="https://redirect.github.com/xunit/xunit.analyzers/issues/159">#159</a>)</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/49851f39f1efc779fd4e32b0a4e66174bc4e9990"><code>49851f3</code></a>
Use a CI-only global.json to stick to .NET SDK 6</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/511d189548d19322a6556116af66823998be5be3"><code>511d189</code></a>
Remove .NET SDK 7</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/007148befbd068dbf4465635567f0a44f8ece60e"><code>007148b</code></a>
Print mono information during Actions builds</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/513113a87fbbe57246d852e68b2074318a1da748"><code>513113a</code></a>
Latest dependencies</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/4c1c7e2fce2d65e473c8eef2ba83ec0b37d3c144"><code>4c1c7e2</code></a>
<a
href="https://redirect.github.com/xunit/xunit/issues/1390">xunit/xunit#1390</a>:
Do not use blocking task operations in unit tests</li>
<li><a
href="https://github.com/xunit/xunit.analyzers/commit/3de1575c1bdb43ed53015603823225af2999634b"><code>3de1575</code></a>
Add Task&lt;T&gt;, ValueTask, and ValueTask&lt;T&gt; to xUnit1030</li>
<li>Additional commits viewable in <a
href="https://github.com/xunit/xunit.analyzers/compare/1.2.0...1.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=xunit.analyzers&package-manager=nuget&previous-version=1.2.0&new-version=1.3.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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#2871)

Bumps [Azure.Identity](https://github.com/Azure/azure-sdk-for-net) from
1.10.0 to 1.10.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Azure/azure-sdk-for-net/releases">Azure.Identity's
releases</a>.</em></p>
<blockquote>
<h2>Azure.Identity_1.10.1</h2>
<h2>1.10.1 (2023-09-12)</h2>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> will fall through to the next
credential in the chain in the case that Docker Desktop returns a 403
response when attempting to access the IMDS endpoint. <a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38218">#38218</a></li>
<li>Fixed an issue where interactive credentials would still prompt on
the first GetToken request even when the cache is populated and an
AuthenticationRecord is provided. <a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38431">#38431</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/01a82ba4f5d10f867190fe7c659df0c768c3dc1b"><code>01a82ba</code></a>
Update dockerfile for net6.0 (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38645">#38645</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/d7569e6cbfddd0f018ae8635bd3827c7e2a31838"><code>d7569e6</code></a>
update version to patch (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38646">#38646</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/126689bd68fc7c18f5fae270376c1b42f3031b67"><code>126689b</code></a>
Increment package version after release of
Azure.Security.ConfidentialLedger ...</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/35dfccc3a958e264923c245180e2f0e1fa3604c7"><code>35dfccc</code></a>
Update AutoRest C# version to 3.0.0-beta.20230912.3 (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38653">#38653</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/1e637c17ad0de895656e60f3d4ef74455323f7d5"><code>1e637c1</code></a>
revert some unexpected sample configuration changes (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38619">#38619</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/3e71762d2cb38d41254bb1373d0f78dc575f3f3a"><code>3e71762</code></a>
Increment version for storage releases (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38642">#38642</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/cdd2c880eae6a6900d85a40222a0eeb94018eb0d"><code>cdd2c88</code></a>
Increment package version after release of Azure.Communication.JobRouter
(<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38">#38</a>...</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/8a110f564fb2a8982d4d7b7128978c80a22680bf"><code>8a110f5</code></a>
Prepare for release (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38612">#38612</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/febbc5a82bbcf022147d4ece7012212dbffe9167"><code>febbc5a</code></a>
[AppConfig] Update API Compat version (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38628">#38628</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-net/commit/5eb9eb6e5d18772f8b2895904525df0437cf517c"><code>5eb9eb6</code></a>
Increment version for eventhub releases (<a
href="https://redirect.github.com/Azure/azure-sdk-for-net/issues/38632">#38632</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Azure/azure-sdk-for-net/compare/Azure.Identity_1.10.0...Azure.Identity_1.10.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Azure.Identity&package-manager=nuget&previous-version=1.10.0&new-version=1.10.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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#2875)

Bumps [openapi-core](https://github.com/python-openapi/openapi-core)
from 0.18.0 to 0.18.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-openapi/openapi-core/releases">openapi-core's
releases</a>.</em></p>
<blockquote>
<h2>0.18.1</h2>
<h2>Bug fixes</h2>
<ul>
<li>Ignore formats for other types in unmarshalling process <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/599">#599</a></li>
</ul>
<h2>Features</h2>
<ul>
<li>More media types supported <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/622">#622</a></li>
<li>Unmarshalling customizations in middlewares
(<code>FalconOpenAPIMiddleware</code>, <code>FlaskOpenAPIView</code>,
<code>FlaskOpenAPIViewDecorator</code>) <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/623">#623</a></li>
</ul>
<h2>Documentation</h2>
<ul>
<li>Changed doc indentation from 3 to 4 <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/631">#631</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/1b688bb4ce6fd5cce0f4978051b948d6a5eb98c0"><code>1b688bb</code></a>
Version 0.18.1</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/e9f6ae6a30e01b2a1f78c52fc2befbab4857f212"><code>e9f6ae6</code></a>
Add bump2version to dev dependencies</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/c6d99236e71751e49bec04d946d006249a9fad4b"><code>c6d9923</code></a>
asdf python packages ignored</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/64d57141bae19e85992dccb5fb879ec8c6109c3c"><code>64d5714</code></a>
asdf versions ignored</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/a77e56818346ca5a6ccb2941331f18df174b278f"><code>a77e568</code></a>
Merge pull request <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/666">#666</a>
from python-openapi/dependabot/pip/httpx-0.25.0</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/ee3078aef86c9ed15346d7dbacb0cc7a6489d330"><code>ee3078a</code></a>
Merge pull request <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/665">#665</a>
from python-openapi/dependabot/pip/pytest-aiohttp-1.0.5</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/79ef199bd7d13fe1017d3a8e7866cd749c873937"><code>79ef199</code></a>
Merge pull request <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/664">#664</a>
from python-openapi/dependabot/pip/black-23.9.1</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/2309716a964e5784db0b3a3d212a56a2404c419c"><code>2309716</code></a>
Merge pull request <a
href="https://redirect.github.com/python-openapi/openapi-core/issues/663">#663</a>
from python-openapi/dependabot/pip/pytest-7.4.2</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/4c7149b4da13cb6268b55f0bf250a5ce97ccf0c6"><code>4c7149b</code></a>
Bump httpx from 0.24.1 to 0.25.0</li>
<li><a
href="https://github.com/python-openapi/openapi-core/commit/ab428295ab112788ebe11577289806bf63fa5017"><code>ab42829</code></a>
Bump pytest-aiohttp from 1.0.4 to 1.0.5</li>
<li>Additional commits viewable in <a
href="https://github.com/python-openapi/openapi-core/compare/0.18.0...0.18.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openapi-core&package-manager=pip&previous-version=0.18.0&new-version=0.18.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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…torconfig, and update code in various files (microsoft#2879)

## Summary
This pull request includes several changes to improve the code quality
and error handling of the project, updates to the .editorconfig file,
and updates to code in various files. The changes include fixing a
RequestFailedException extension method, updating a ChatWithDataResponse
class, fixing a unit test for HuggingFaceEmbeddingGeneration, updating a
QdrantMemoryStore test, and fixing a RedisMemoryStore test.
Additionally, the OobaboogaTextCompletionTests class has been updated to
handle concurrent WebSocket connections more effectively. The
.editorconfig file has been updated to enable a naming rule violation
warning, suppress unnecessary diagnostics, and add a new task to the
cleanup task list. The LogLevel variable has been renamed to s_logLevel,
and a new HttpOperationException method has been added. In
AsyncEnumerable.cs, the ToEnumerable method now avoids problematic
synchronous waits. Additionally, the ToAsyncEnumerable method now has
naming rule violations and lacks await operators. In FunctionHelpers.cs,
the CallViaKernel method has been renamed to CallViaKernelAsync. In
several files in the MsGraph plugin, the using statements for
SkillDefinition have been moved to the end of the list.

## Changes
- Fixing a RequestFailedException extension method to suppress
exceptions and ensure an HttpOperationException is thrown instead
- Updating the ChatWithDataResponse class to remove an unused attribute
and suppress a code analysis warning
- Fixing a unit test for HuggingFaceEmbeddingGeneration to use
Assert.Single instead of Assert.Equal(1, ...)
- Updating a QdrantMemoryStore test to use Assert.Equal instead of
Assert.Equal<string>
- Fixing a RedisMemoryStore test to use Assert.Equal instead of
comparing exception messages
- Updating the OobaboogaTextCompletionTests class to handle concurrent
WebSocket connections more effectively
- Enabling a naming rule violation warning in the .editorconfig file
- Suppressing unnecessary diagnostics in the .editorconfig file
- Adding a new task to the cleanup task list in the .editorconfig file
- Renaming the LogLevel variable to s_logLevel
- Adding a new HttpOperationException method
- In AsyncEnumerable.cs, the ToEnumerable method now avoids problematic
synchronous waits. The ToAsyncEnumerable method now has naming rule
violations and lacks await operators.
- In FunctionHelpers.cs, the CallViaKernel method has been renamed to
CallViaKernelAsync.
- In several files in the MsGraph plugin, the using statements for
SkillDefinition have been moved to the end of the list.

---
*Powered by [Microsoft Semantic
Kernel](https://github.com/microsoft/semantic-kernel)*

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context
The `FunctionsView` class wraps two inner Dictionaries of `FunctionView`
objects: Native and Semantic. Since we no longer differentiate between
these two for any practical purpose, we could merge those into one list,
and we no longer need a special class for that.

### Description

- Removing the different collections to store Semantic vs Native
functions
- Removing `FunctionsView` collection
- From `SkillCollection.GetFunctionsView()`, returning an
`IReadOnlyList<FunctionView>`
- Callers can then easily use LINQ to filter the resulting flat list, or
group by skill name.
- Updating callers, tests

Resolves microsoft#604

### 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 😄
    - BREAKING CHANGE as it modifies the public API. Low impact.

---------

Co-authored-by: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com>
Co-authored-by: Lee Miller <lemiller@microsoft.com>
…se AIRequestSettings) (microsoft#2829)

### Motivation and Context

Currently the SK core uses a model for LLM request settings which is
OpenAI specific. This is a refactor to remove this assumption and to
allow SK to be LLM agnostic.

Resolves: microsoft#2735

### Description

1. Remove `ChatRequestSettings` and `CompleteRequestSettings` and use
new class `AIRequestSettings` instead
1. Create default OpenAI request settings class `OpenAIRequestSetings`
which extends `AIRequestSettings`.
1. Fix up planner, unit tests and integration tests
1. Add a new Kernel syntax example showing all options to configure LLM
request settings

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
…icrosoft#2869)

Bumps [xunit.runner.visualstudio](https://github.com/xunit/xunit) from
2.5.0 to 2.5.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/xunit/xunit/commit/9dc851b5e642ec7929da1ac06d59988d0a2d840b"><code>9dc851b</code></a>
v2.5.1</li>
<li><a
href="https://github.com/xunit/xunit/commit/86b0eef9ef286661a7f804ec16575396325ca458"><code>86b0eef</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2770">#2770</a>:
Make SerializationHelper public</li>
<li><a
href="https://github.com/xunit/xunit/commit/f49dafc318e93a105d78704b8a6734c966ae1418"><code>f49dafc</code></a>
File re-sort for SerializationHelper &amp; XunitSerializationInfo</li>
<li><a
href="https://github.com/xunit/xunit/commit/d0004ae78d9b0fafa0a6fc046af50bb912d1581e"><code>d0004ae</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2773">#2773</a>:
Add Assert.RaisesAny and Assert.RaisesAnyAsync non-generic for
EventAr...</li>
<li><a
href="https://github.com/xunit/xunit/commit/c1dba28cf0929d6602168ab4a081ca6a536323f0"><code>c1dba28</code></a>
Latest assertions</li>
<li><a
href="https://github.com/xunit/xunit/commit/b7c828ebf130cf3d768ef6b3effcb38fe15690d3"><code>b7c828e</code></a>
Move .editorconfig up into contentFiles</li>
<li><a
href="https://github.com/xunit/xunit/commit/08e74e76b884f29f2e9d9f93e8fcf8bda39982de"><code>08e74e7</code></a>
Add .editorconfig to assert source NuGet package to indicate generated
code (...</li>
<li><a
href="https://github.com/xunit/xunit/commit/79f411aabe2e74ab00fe2ecbd9f237bc85af792b"><code>79f411a</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2767">#2767</a>:
Verify types match when comparing FileSystemInfo values (v2)</li>
<li><a
href="https://github.com/xunit/xunit/commit/9c28f584e0cf5a714b03433eaa7e19c3d3c40ddb"><code>9c28f58</code></a>
Latest dependencies</li>
<li><a
href="https://github.com/xunit/xunit/commit/63dce4f197f79306c47eef96323be56c081b08f8"><code>63dce4f</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2767">#2767</a>:
Special case FileSystemInfo objects by just comparing the FullName in
...</li>
<li>Additional commits viewable in <a
href="https://github.com/xunit/xunit/compare/2.5.0...2.5.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=xunit.runner.visualstudio&package-manager=nuget&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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
…crosoft#2868)

Bumps [Microsoft.Data.Sqlite](https://github.com/dotnet/efcore) from
7.0.10 to 7.0.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dotnet/efcore/releases">Microsoft.Data.Sqlite's
releases</a>.</em></p>
<blockquote>
<h2>.NET 7.0.11</h2>
<p><a
href="https://github.com/dotnet/core/releases/tag/v7.0.11">Release</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dotnet/efcore/commit/8133d0c827462d8d84e47b70f294fc060a5d7a84"><code>8133d0c</code></a>
Merge in 'release/7.0' changes</li>
<li><a
href="https://github.com/dotnet/efcore/commit/38bb19b1a2e6655a006b7bc81bb49397106a51ba"><code>38bb19b</code></a>
Update dependencies from <a
href="https://github.com/dotnet/arcade">https://github.com/dotnet/arcade</a>
build 20230808.3 (#...</li>
<li><a
href="https://github.com/dotnet/efcore/commit/57de90c1c1232f7f352cb21613b685efb877b616"><code>57de90c</code></a>
Merge in 'release/7.0' changes</li>
<li><a
href="https://github.com/dotnet/efcore/commit/b11f23a1a79e2de5fb39a68b6ed330ab8a1785de"><code>b11f23a</code></a>
Merge branch 'release/6.0' into release/7.0</li>
<li><a
href="https://github.com/dotnet/efcore/commit/b1a00e7680ac13a265f5e4418bba6cdd79f124b1"><code>b1a00e7</code></a>
Merge in 'release/7.0' changes</li>
<li><a
href="https://github.com/dotnet/efcore/commit/693e043f5a76c9ca02fb94e4ee43f890302f0030"><code>693e043</code></a>
Merge pull request <a
href="https://redirect.github.com/dotnet/efcore/issues/31429">#31429</a>
from vseanreesermsft/internal-merge-7.0-2023-08-08-...</li>
<li><a
href="https://github.com/dotnet/efcore/commit/6be6c3458aadee4b4de69ff54c54d6ea9eb051e2"><code>6be6c34</code></a>
Merge pull request <a
href="https://redirect.github.com/dotnet/efcore/issues/31428">#31428</a>
from vseanreesermsft/internal-merge-6.0-2023-08-08-...</li>
<li><a
href="https://github.com/dotnet/efcore/commit/e8072c1100b50b5e8133a14df8addfef1171a40c"><code>e8072c1</code></a>
Update global.json</li>
<li><a
href="https://github.com/dotnet/efcore/commit/2cfb9d356a5a66f970f26e9afc0f1de8bfe42634"><code>2cfb9d3</code></a>
Update global.json</li>
<li><a
href="https://github.com/dotnet/efcore/commit/ffc31ed34b1ed3e953d10d6e3af1065789e9fc8a"><code>ffc31ed</code></a>
Merge commit '8907538f3d4da2fffdb0516f05542802585757e6' into
internal-merge-7...</li>
<li>Additional commits viewable in <a
href="https://github.com/dotnet/efcore/compare/v7.0.10...v7.0.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.Data.Sqlite&package-manager=nuget&previous-version=7.0.10&new-version=7.0.11)](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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
### Motivation and Context

Fix broken link the ADR README


### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
Bumps [xunit](https://github.com/xunit/xunit) from 2.4.2 to 2.5.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/xunit/xunit/commit/9dc851b5e642ec7929da1ac06d59988d0a2d840b"><code>9dc851b</code></a>
v2.5.1</li>
<li><a
href="https://github.com/xunit/xunit/commit/86b0eef9ef286661a7f804ec16575396325ca458"><code>86b0eef</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2770">#2770</a>:
Make SerializationHelper public</li>
<li><a
href="https://github.com/xunit/xunit/commit/f49dafc318e93a105d78704b8a6734c966ae1418"><code>f49dafc</code></a>
File re-sort for SerializationHelper &amp; XunitSerializationInfo</li>
<li><a
href="https://github.com/xunit/xunit/commit/d0004ae78d9b0fafa0a6fc046af50bb912d1581e"><code>d0004ae</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2773">#2773</a>:
Add Assert.RaisesAny and Assert.RaisesAnyAsync non-generic for
EventAr...</li>
<li><a
href="https://github.com/xunit/xunit/commit/c1dba28cf0929d6602168ab4a081ca6a536323f0"><code>c1dba28</code></a>
Latest assertions</li>
<li><a
href="https://github.com/xunit/xunit/commit/b7c828ebf130cf3d768ef6b3effcb38fe15690d3"><code>b7c828e</code></a>
Move .editorconfig up into contentFiles</li>
<li><a
href="https://github.com/xunit/xunit/commit/08e74e76b884f29f2e9d9f93e8fcf8bda39982de"><code>08e74e7</code></a>
Add .editorconfig to assert source NuGet package to indicate generated
code (...</li>
<li><a
href="https://github.com/xunit/xunit/commit/79f411aabe2e74ab00fe2ecbd9f237bc85af792b"><code>79f411a</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2767">#2767</a>:
Verify types match when comparing FileSystemInfo values (v2)</li>
<li><a
href="https://github.com/xunit/xunit/commit/9c28f584e0cf5a714b03433eaa7e19c3d3c40ddb"><code>9c28f58</code></a>
Latest dependencies</li>
<li><a
href="https://github.com/xunit/xunit/commit/63dce4f197f79306c47eef96323be56c081b08f8"><code>63dce4f</code></a>
<a href="https://redirect.github.com/xunit/xunit/issues/2767">#2767</a>:
Special case FileSystemInfo objects by just comparing the FullName in
...</li>
<li>Additional commits viewable in <a
href="https://github.com/xunit/xunit/compare/2.4.2...2.5.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=xunit&package-manager=nuget&previous-version=2.4.2&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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
Bumps [chromadb](https://github.com/chroma-core/chroma) from 0.4.6 to
0.4.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chroma-core/chroma/releases">chromadb's
releases</a>.</em></p>
<blockquote>
<h2>0.4.10</h2>
<p>Version: <code>0.4.10</code>
Git ref: <code>refs/tags/0.4.10</code>
Build Date: <code>2023-09-11T20:00</code>
PIP Package: <code>chroma-0.4.10.tar.gz</code>
Github Container Registry Image:
<code>ghcr.io/chroma-core/chroma:0.4.10</code>
DockerHub Image: <code>chromadb/chroma:0.4.10</code></p>
<h2>What's Changed</h2>
<ul>
<li>update JS instructions by <a
href="https://github.com/jeffchuber"><code>@​jeffchuber</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/960">chroma-core/chroma#960</a></li>
<li>[BLD] Add dockerhub support by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1112">chroma-core/chroma#1112</a></li>
<li>[BUG]: Issue where In/Nin list values by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1111">chroma-core/chroma#1111</a></li>
<li>[BUG]: URL Parsing And Validation by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1118">chroma-core/chroma#1118</a></li>
<li>[ENH] Added auth and external volume support for GCP by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1107">chroma-core/chroma#1107</a></li>
<li>[CHORE] Bump HNSWlib to latest version that has precompiled binaries
by <a href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1109">chroma-core/chroma#1109</a></li>
<li>[RELEASE] 0.4.10 by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1132">chroma-core/chroma#1132</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/chroma-core/chroma/compare/0.4.9...0.4.10">https://github.com/chroma-core/chroma/compare/0.4.9...0.4.10</a></p>
<h2>0.4.9</h2>
<p>Version: <code>0.4.9</code>
Git ref: <code>refs/tags/0.4.9</code>
Build Date: <code>2023-09-06T05:40</code>
PIP Package: <code>chroma-0.4.9.tar.gz</code>
Docker Image: <code>ghcr.io/chroma-core/chroma:0.4.9</code></p>
<h2>What's Changed</h2>
<ul>
<li>[ENH] Added providers to onnx runtime session by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1006">chroma-core/chroma#1006</a></li>
<li>multiplatform docker release builds by <a
href="https://github.com/jeffchuber"><code>@​jeffchuber</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/857">chroma-core/chroma#857</a></li>
<li>[ENH]: JS Client Support for Auth by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1050">chroma-core/chroma#1050</a></li>
<li>[ENH]: OpenAI npm package v4 breaking changes by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1039">chroma-core/chroma#1039</a></li>
<li>[BUG] fix: numpy version compat for 3.7 vs &gt; for
cross_version_tests by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1064">chroma-core/chroma#1064</a></li>
<li>fix: use workaround for dynamic import by <a
href="https://github.com/perzeuss"><code>@​perzeuss</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/956">chroma-core/chroma#956</a></li>
<li>[BUG]: Fixed Static Auth Token range of allowed chars by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1076">chroma-core/chroma#1076</a></li>
<li>[CLN] replaced lambdas with def by <a
href="https://github.com/leo-gan"><code>@​leo-gan</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1070">chroma-core/chroma#1070</a></li>
<li>Add CIP-1 Allow Filtering for Collections by <a
href="https://github.com/Ishiihara"><code>@​Ishiihara</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/855">chroma-core/chroma#855</a></li>
<li>[BUG]: Local Segment Dir Removal by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1080">chroma-core/chroma#1080</a></li>
<li>[ENH]: CIP-4: In and Not In Metadata Filters by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1081">chroma-core/chroma#1081</a></li>
<li>[BUG] docker-compose default persistent directory path updated by <a
href="https://github.com/Benvii"><code>@​Benvii</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1046">chroma-core/chroma#1046</a></li>
<li>[ENH]: AWS Deployment by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1086">chroma-core/chroma#1086</a></li>
<li>[ENH]: Improved HttpClient URL support by <a
href="https://github.com/tazarov"><code>@​tazarov</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1067">chroma-core/chroma#1067</a></li>
<li>Add explicit env to docker compose so that it can hint at usage by
<a href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1088">chroma-core/chroma#1088</a></li>
<li>[BLD] Add release automation for JS client by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1091">chroma-core/chroma#1091</a></li>
<li>[BLD] Add working directory to npm run js by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1092">chroma-core/chroma#1092</a></li>
<li>[BLD] Prevent python release from running on js tag pushes by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1093">chroma-core/chroma#1093</a></li>
<li>[BLD] Release env vars save to GITHUB_ENV by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1094">chroma-core/chroma#1094</a></li>
<li>[BLD] Add install deps to JS release workflow by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1095">chroma-core/chroma#1095</a></li>
<li>[BLD] Add npm run db:run to run docker-compose up by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1097">chroma-core/chroma#1097</a></li>
<li>[RELEASE] Release JS 1.5.7 by <a
href="https://github.com/HammadB"><code>@​HammadB</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/1090">chroma-core/chroma#1090</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chroma-core/chroma/commit/8e967304d6c1a18d88b63c1fdb3e7a638a678f01"><code>8e96730</code></a>
[RELEASE] 0.4.10 (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1132">#1132</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/9db68045e6b57fdaa418ad723f72a3121be297ac"><code>9db6804</code></a>
[CHORE] Bump HNSWlib to latest version that has precompiled binaries (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1109">#1109</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/2dd5a1552687043889a2dafe27de56577ad278a7"><code>2dd5a15</code></a>
[ENH] Added auth and external volume support for GCP (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1107">#1107</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/9c1979c9311acb8662fc22a7deac17907a9b128b"><code>9c1979c</code></a>
[BUG]: URL Parsing And Validation (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1118">#1118</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/ea73f05bdf91ff771388d6c573af9ddd8ca37cbe"><code>ea73f05</code></a>
[BUG]: Issue where In/Nin list values (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1111">#1111</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/237b3e3c96c0e25d87dec4c5b2b21085c040dfa3"><code>237b3e3</code></a>
[BLD] Add dockerhub support (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1112">#1112</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/3241de7a6fc20fe178dbe93090ee89f57a5625b6"><code>3241de7</code></a>
update JS instructions (<a
href="https://redirect.github.com/chroma-core/chroma/issues/960">#960</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/747f7c6457fdea29394cdedcfd7cd0bc0541b3eb"><code>747f7c6</code></a>
[BLD] Update release workflow tag check</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/327accb2de923c413d69dc5878c94f903c24e269"><code>327accb</code></a>
[RELEASE] Release 0.4.9 (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1100">#1100</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/e862ab207fef6876d65801bed234f0b7d5dbf70f"><code>e862ab2</code></a>
remove unused bin/build (<a
href="https://redirect.github.com/chroma-core/chroma/issues/1099">#1099</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/chroma-core/chroma/compare/0.4.6...0.4.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chromadb&package-manager=pip&previous-version=0.4.6&new-version=0.4.10)](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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### Description
Simplifying ContextVariables by making it into an actual
Dictionary<string, string> instead of a reimplemenation.

### 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 😄
- BREAKING CHANGE - use normal Dictionary methods instead. Behavior
change: retrieving missing values via indexer [key] will throw if
argument is missing, instead of returning string.Empty.

---------

Co-authored-by: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com>
### Motivation and Context

Create a copy of the sample skills but named as plugins

**Note: Current skill samples will be removed later once we have updated
the examples that use the published NuGet packages.**

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
…soft#2909)

### Motivation and Context

`SemanticKernel` core project should be named `SemanticKernel.Core` to
match the assembly name and be consistent with other projects


![image](https://github.com/microsoft/semantic-kernel/assets/127216156/166229eb-b847-4d5f-9fdb-2b4a688e28c7)

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
… FunctionView (microsoft#2881)

### Motivation and Context
The Kernel no longer differentiates between Native and Semantic
functions, nor between async and synchronous functions. These are
abstractions that are resolved internally.

### Description
ISKFunction
 - Removing IsSemantic
 - Updating tests and callers

FunctionView
 - Removing IsSemantic
 - Removing IsAsync
 - Updating tests and callers

### Contribution Checklist
- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
   BREAKING CHANGE - due to change in public APIs. Low impact.

---------

Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
### 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 multiple times that I was getting failed tests because Black
did not run.
Changed the settings to make black the default formatter, in line with
the checks.

### 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 😄
)

Bumps [azure-core](https://github.com/Azure/azure-sdk-for-python) from
1.29.3 to 1.29.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Azure/azure-sdk-for-python/releases">azure-core's
releases</a>.</em></p>
<blockquote>
<h2>azure-core_1.29.4</h2>
<h2>1.29.4 (2023-09-07)</h2>
<h3>Bugs Fixed</h3>
<ul>
<li>Fixed the issue that some urls trigger an infinite loop. <a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31346">#31346</a></li>
<li>Fixed issue where IndexError was raised if multipart responses did
not match the number of requests. <a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31471">#31471</a></li>
<li>Fixed issue unbound variable exception if dict is invalid in
CloudEvent.from_dict. <a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31835">#31835</a></li>
<li>Fixed issue asyncBearerTokenCredentialPolicy is not backward
compatible with SansIOHTTPPolicy. <a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31836">#31836</a></li>
<li>Fixed issue mypy complains with new version of azure-core. <a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31564">#31564</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/caa586f7b7d8f45c427463143ad9e1ba7a68ed5c"><code>caa586f</code></a>
update changelog (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31977">#31977</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/c97f5de0cb4be37a528af4f77250a0d1cc91774d"><code>c97f5de</code></a>
Update changelogs (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31969">#31969</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/d7e4b6caa6417347f2d6508c7369c5fab620811b"><code>d7e4b6c</code></a>
Pyright fixes for azure-core (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31766">#31766</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/f1f383698087d29dc63e956d37cec089bb2220dc"><code>f1f3836</code></a>
Refactor Conda Pipeline (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31804">#31804</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/232d010e890ba3a94cdd4fc0d97a7107e9eb1e90"><code>232d010</code></a>
add remaining missing keywords setting</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/a9d3c898a2e53b7082dfa056f2802b779910ded2"><code>a9d3c89</code></a>
Fix Tracing typing (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31943">#31943</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/96281d775213b3c6278496940ae3c350c8f9b32d"><code>96281d7</code></a>
Fix infinite loop (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31718">#31718</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/ffb31dd6f144796d2cb21471ba9734763914dce1"><code>ffb31dd</code></a>
[Core][OTel] Update documentation (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31778">#31778</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/98a94c414f01fc0ed28535eeaa9e381622ec368c"><code>98a94c4</code></a>
[Core] Fix multipart responses not matching requests error (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31707">#31707</a>)</li>
<li><a
href="https://github.com/Azure/azure-sdk-for-python/commit/cb215184b0e050fb6face2dd458723f10cd851c3"><code>cb21518</code></a>
Increment package version after release of azure-core (<a
href="https://redirect.github.com/Azure/azure-sdk-for-python/issues/31760">#31760</a>)</li>
<li>See full diff in <a
href="https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.29.3...azure-core_1.29.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=azure-core&package-manager=pip&previous-version=1.29.3&new-version=1.29.4)](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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Karle <mkarle@users.noreply.github.com>
### Motivation and Context

Missing function reference

### Description

Added function reference + example succeeded

### 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 😄
### Description
Where SKContext is used only to look for functions, replacing with
IReadOnlySkillCollection instead.
Passing CancellationToken through async functions.

### Contribution Checklist

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄

---------

Co-authored-by: Lee Miller <lemiller@microsoft.com>
…tion and Add Tests for Edge Cases (microsoft#2850)

This pull request updates the StepwisePlannerConfig class in the
Planning.StepwisePlanner project to improve the calculation of the
MaxPromptTokens property, ensuring that the maximum number of iterations
allowed in a plan is properly taken into account. Additionally, it
introduces a new configuration property for the maximum number of tokens
allowed in a completion request and adds two new tests to cover edge
cases where the number of functions is too large or almost too large.

Changes:
- Modified the MaxPromptTokens property in the StepwisePlannerConfig
class to use the MaxTokensRatio for calculating the maximum number of
prompt tokens.
- Updated the summary comment for the MaxPromptTokens property to
reflect the new calculation method.
- Add a new test `ExecutePlanFailsWithTooManyFunctions` to check if the
execution fails when there are too many functions.
- Add a new test `ExecutePlanSucceedsWithAlmostTooManyFunctions` to
check if the execution succeeds when there are almost too many
functions.
- Update `StepwisePlannerConfig` to include a new property
`MaxTokensRatio` for controlling the ratio of tokens allocated to the
completion request.
- Update `StepwisePlanner` to use the new `MaxCompletionTokens` property
for setting the maximum number of tokens allowed in a completion
request.
- Modify the trimming logic in `StepwisePlanner` to account for the new
token handling configuration and throw an exception if the chat history
is too long.
- Update the `TrimMessageFormat` constant in `StepwisePlanner` to
include the number of steps removed in the message.
- No other files or classes were affected by these changes.

### 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 😄
…2872)

Bumps [qdrant-client](https://github.com/qdrant/qdrant-client) from
1.4.0 to 1.5.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/qdrant/qdrant-client/releases">qdrant-client's
releases</a>.</em></p>
<blockquote>
<h2>v1.5.0</h2>
<h1>Changelog</h1>
<h2>Features</h2>
<ul>
<li><a
href="https://redirect.github.com/qdrant/qdrant-client/pull/280">qdrant/qdrant-client#280</a>,
<a
href="https://github.com/qdrant/qdrant-client/commit/6f8c5172d77a1775474d6ae145e7552543803806">https://github.com/qdrant/qdrant-client/commit/6f8c5172d77a1775474d6ae145e7552543803806</a>
- Compatibility updates for Qdrant v1.5.x</li>
<li><a
href="https://redirect.github.com/qdrant/qdrant-client/pull/210">qdrant/qdrant-client#210</a>
- <a href="https://github.com/qdrant/fastembed">fastembed</a>
integration. Enables lightweight, fast, Python library built for
retrieval embedding generation.</li>
<li><a
href="https://redirect.github.com/qdrant/qdrant-client/pull/243">qdrant/qdrant-client#243</a>
- Migration tool, allows easy data migration from one instance to
another</li>
</ul>
<h2>Bugfix</h2>
<ul>
<li><a
href="https://redirect.github.com/qdrant/qdrant-client/pull/258">qdrant/qdrant-client#258</a>
- disable forcing of http2 for cloud connections</li>
<li><a
href="https://redirect.github.com/qdrant/qdrant-client/pull/268">qdrant/qdrant-client#268</a>
- fix values count &amp; is_empty &amp; is_null conditions for local
mode</li>
</ul>
<h2>Important Notes</h2>
<ul>
<li>Python 3.7 is no longer supported</li>
</ul>
<hr />
<p>Use fastembed library to easily encode &amp; index documents into
qdrant</p>
<pre><code>pip install fastembed qdrant-client
</code></pre>
<pre lang="python"><code>from qdrant_client import QdrantClient
<h1>Initialize the client</h1>
<p>client = QdrantClient(&quot;:memory:&quot;) # or
QdrantClient(path=&quot;path/to/db&quot;)</p>
<h1>Prepare your documents, metadata, and IDs</h1>
<p>docs = [&quot;Qdrant has Langchain integrations&quot;, &quot;Qdrant
also has Llama Index integrations&quot;]
metadata = [
{&quot;source&quot;: &quot;Langchain-docs&quot;},
{&quot;source&quot;: &quot;Linkedin-docs&quot;},
]
ids = [42, 2]</p>
<h1>Use the new add method</h1>
<p>client.add(
collection_name=&quot;demo_collection&quot;,
documents=docs,
metadata=metadata,
ids=ids
)</p>
<p>search_result = client.query(
&lt;/tr&gt;&lt;/table&gt;
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/82ecb104ed919596d7753c1a31017dfada8d3e02"><code>82ecb10</code></a>
bump version 1.5.4</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/3fca54a6b9b6ecb4f1d606fd79baf6161805c624"><code>3fca54a</code></a>
new: add kwargs to QdrantBase (<a
href="https://redirect.github.com/qdrant/qdrant-client/issues/292">#292</a>)</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/977780069489fa8b6b482c62f61d7fad7c81c051"><code>9777800</code></a>
bump version 1.5.3</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/352aee6b6bb4d62c14a64d361f0d6ec0cadd6faf"><code>352aee6</code></a>
bump to v1.5.2 (<a
href="https://redirect.github.com/qdrant/qdrant-client/issues/290">#290</a>)</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/52db932889835719f0bf840f8484fccfd80abc37"><code>52db932</code></a>
fix: explicitly convert np vector to list for previous versions of
pydantic (...</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/4aa7e4bb6f7738b93c33a1a6fb59e287877b4e68"><code>4aa7e4b</code></a>
bump to v1.5.1 (<a
href="https://redirect.github.com/qdrant/qdrant-client/issues/287">#287</a>)</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/27d4e2197b29cf226411264da14acc956876533a"><code>27d4e21</code></a>
fix fastembed for pydantic 1.x (<a
href="https://redirect.github.com/qdrant/qdrant-client/issues/285">#285</a>)</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/c1e640ff25e76aa58dd5b899aec74360c9c3be48"><code>c1e640f</code></a>
V1.5.0 (<a
href="https://redirect.github.com/qdrant/qdrant-client/issues/281">#281</a>)</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/cc34721c6faf501ece1117dd86bcb63d17e06c74"><code>cc34721</code></a>
fix README for fastembed</li>
<li><a
href="https://github.com/qdrant/qdrant-client/commit/41fd8015b793ba741d6e3b13bfb1228794d36f7a"><code>41fd801</code></a>
sync API (<a
href="https://redirect.github.com/qdrant/qdrant-client/issues/280">#280</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/qdrant/qdrant-client/compare/v1.4.0...v1.5.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=qdrant-client&package-manager=pip&previous-version=1.4.0&new-version=1.5.4)](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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rray type (microsoft#2882)

### Motivation and Context
This change is required to support two ways of serializing array query
string parameters of 'form' style:
1. A query string parameter per array item - p1=a&p1=b&p1=c.
2. A comma-separated value per array item - p1=a,b,c.


![image](https://github.com/microsoft/semantic-kernel/assets/68852919/4d9a4cfb-b2b2-4cf9-b92d-cdb7ce2ad293)

Related issue - microsoft#2745

### Description
- The `FormStyleParameterSerializer` class has been added to perform
`form` style parameter serialization. Currently, it is only used for
query string parameter serialization but can be used later for
serializing `cookie` parameters as well. For more details about
parameter styles, please refer to the
[link](https://swagger.io/specification/v3/#parameter-object).
- The `QueryStringBuilder` class has been modified to use the
`FormStyleParameterSerializer` for parameter serialization.
- The `RestApiOperationParameter` class has been extended with the new
`Explode` property, which indicates whether arrays and objects should
generate separate parameters for each array item.

### 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: Lee Miller <lemiller@microsoft.com>
…#2917)

### Motivation and Context

The extension method
ChatCompletionExtensions.GenerateMessageStreamAsync() returns an
unexpected null as last message.

### Description

Fixes the bug/unintended last null message.
Resolves microsoft#2900 

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

Rename Skills to Functions for SK core and abstractions packages. Third
sub task from microsoft#2119.

### Description

- Remove the `Microsoft.SemanticKernel.SkillDefinition` namespace and
promote classes previously contained to `Microsoft.SemanticKernel`, this
is to reduce the number of `using`s that client code required.
 - Rename variable/function names using skillName to pluginName.
- Rename skill collection interfaces/classes to use function collection.
- Leave some obsolete methods/properties to help with the upgrade from
earlier releases.

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

This change is required to support two ways of serializing array query
string parameters of 'spaceDelimited' style:

A query string parameter per array item - p1=a&p1=b&p1=c.
A space-separated value per array item - p1=a%20b%20c.


![image](https://github.com/microsoft/semantic-kernel/assets/68852919/7cdab782-a9db-41d6-98aa-1b102529e10f)


Related issue - microsoft#2745

### Description
- The `SpaceDelimitedStyleParametersSerializer` class has been added to
perform `spaceDelimited` style parameter serialization. For more details
about parameter styles, please refer to the
[link](https://swagger.io/specification/v3/#parameter-object).
- The `QueryStringBuilder` class has been modified to use the
`SpaceDelimitedStyleParametersSerializer` for the `spaceDelimited` style
parameter serialization.
- The `RestApiOperationParameter.Explode` property was renamed to
`Expand` based on feedback on previos PR.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

Fixes microsoft#2847,  microsoft#2519

Contains breaking changes.

This addresses inconsistencies in planner construction. The planners
sometimes took a prompt override through a delegate in the config and
sometimes as a constructor argument. Additionally, the ActionPlanner
used to take a loggerFactory as a constructor argument while the other
planners did not.

The goal of these changes is to make working with planners more
predictable.

### Description

* Added `GetPromptTemplate` delegate function to the planner base
config. All planners will use this to get the prompt override.
* Removed logger factory argument from ActionPlanner constructor. Used
the Kernel's logger factory to create a new logger within each planner
constructor.
* Renamed private `Config` private instance field to `_config` 

### 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: Shawn Callegari <36091529+shawncal@users.noreply.github.com>
This is a working version of an SK memory store connector for Milvus,
for .NET. It is built on top of the recently-released
[Milvus.Client](https://www.nuget.org/packages/Milvus.Client)
(experimental, in preview), which uses gRPC to communicate with Milvus.

There are some minor outstanding issues which are also relevant for the
Python connector (merged via microsoft#1941), I'll sync with @awharrison-28 to
align on these. But this should be more or less ready to merge, we can
iterate on the remaining stuff.

Closes microsoft#2316

/cc @stephentoub @awharrison-28 @luisquintanilla @MarianaGG @tawalke
@ajcvickers

---------

Co-authored-by: Shawn Callegari <36091529+shawncal@users.noreply.github.com>
Co-authored-by: Lee Miller <lemiller@microsoft.com>
…additional arguments (microsoft#2731)

### Motivation and Context

The existing `AggregatePartitionedResultsAsync` extension method doesn't
expose common arguments used when invoking functions and makes an
assumption on how to separate results.

### Description

Update the `AggregatePartitionedResultsAsync` method definition with
additional arguments to both utilize and proxy through to `InvokeAsync`.

### 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: Lee Miller <lemiller@microsoft.com>
### Motivation and Context

- Update samples to use plugins and not skills
- Update integration tests to use plugins and not skills
- Switch to using the sample semantic plugins

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Lee Miller <lemiller@microsoft.com>
@SOE-YoungS
Copy link
Contributor Author

SOE-YoungS commented Mar 27, 2024

This PR was previously approved, but closed due to inactivity (I now cannot reopen the PR). #3357
@markwallace-microsoft
@lemillermicrosoft

@SOE-YoungS SOE-YoungS marked this pull request as ready for review March 27, 2024 10:01
@SOE-YoungS SOE-YoungS requested a review from a team as a code owner March 27, 2024 10:01
@markwallace-microsoft markwallace-microsoft self-assigned this Mar 27, 2024
@SOE-YoungS
Copy link
Contributor Author

@lemillermicrosoft in order to move this along, would you mind approving this PR please?

It's pretty much the same as the last PR, but with all prior comments & issues addressed.

Keen to get this one merged this time before it goes stale again.

Thanks.

@dmytrostruk dmytrostruk added this pull request to the merge queue Apr 4, 2024
@SOE-YoungS
Copy link
Contributor Author

@dmytrostruk thank you 👍

Merged via the queue into microsoft:main with commit 9d52fef Apr 4, 2024
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
.NET Issue or Pull requests regarding .NET code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet