Commit Graph
333 Commits
Author SHA1 Message Date
Mark Wallace a0d2f75ca9 Update codeql actions to v3 (#9826)
### Motivation and Context

CodeQL Action v2 will be deprecated on December 5th, 2024. Please update
all occurrences of the CodeQL Action in your workflow files to v3. For
more information, see
https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/

### 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 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 😄
2024-11-26 09:56:36 +00:00
dependabot[bot]andMark Wallace c5beb8a976 Bump dawidd6/action-download-artifact from 3 to 6 in /.github/workflows (#9805)
Bumps
[dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact)
from 3 to 6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dawidd6/action-download-artifact/releases">dawidd6/action-download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v6</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dawidd6/action-download-artifact/compare/v5...v6">https://github.com/dawidd6/action-download-artifact/compare/v5...v6</a></p>
<h2>v5</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dawidd6/action-download-artifact/compare/v4...v5">https://github.com/dawidd6/action-download-artifact/compare/v4...v5</a></p>
<h2>v4</h2>
<h2>What's Changed</h2>
<ul>
<li><strong>VERSIONING CHANGE</strong>: now there will only be major
releases of this action, e.g. v5, v6 and so on</li>
<li>build(deps): bump undici from 5.28.3 to 5.28.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/284">dawidd6/action-download-artifact#284</a></li>
<li>build(deps): bump <code>@​actions/artifact</code> from 2.1.4 to
2.1.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/285">dawidd6/action-download-artifact#285</a></li>
<li>build(deps): bump <code>@​actions/artifact</code> from 2.1.5 to
2.1.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/287">dawidd6/action-download-artifact#287</a></li>
<li>build(deps): bump adm-zip from 0.5.12 to 0.5.13 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/289">dawidd6/action-download-artifact#289</a></li>
<li>Set allow_forks to false by default by <a
href="https://github.com/timweri"><code>@​timweri</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/290">dawidd6/action-download-artifact#290</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/timweri"><code>@​timweri</code></a> made
their first contribution in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/290">dawidd6/action-download-artifact#290</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dawidd6/action-download-artifact/compare/v3...v4">https://github.com/dawidd6/action-download-artifact/compare/v3...v4</a></p>
<h2>v3.1.4</h2>
<h2>What's Changed</h2>
<ul>
<li>build(deps): bump adm-zip from 0.5.10 to 0.5.12 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/282">dawidd6/action-download-artifact#282</a></li>
<li>build(deps): bump <code>@​actions/artifact</code> from 2.1.2 to
2.1.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/280">dawidd6/action-download-artifact#280</a></li>
<li>fix: accept expired artifacts with documentation url by <a
href="https://github.com/wdconinc"><code>@​wdconinc</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/283">dawidd6/action-download-artifact#283</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/wdconinc"><code>@​wdconinc</code></a>
made their first contribution in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/283">dawidd6/action-download-artifact#283</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dawidd6/action-download-artifact/compare/v3...v3.1.4">https://github.com/dawidd6/action-download-artifact/compare/v3...v3.1.4</a></p>
<h2>v3.1.3</h2>
<h2>What's Changed</h2>
<ul>
<li>node_modules: upgrade by <a
href="https://github.com/dawidd6"><code>@​dawidd6</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/276">dawidd6/action-download-artifact#276</a></li>
<li>build(deps): bump <code>@​actions/artifact</code> from 2.1.1 to
2.1.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/277">dawidd6/action-download-artifact#277</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dawidd6/action-download-artifact/compare/v3.1.2...v3.1.3">https://github.com/dawidd6/action-download-artifact/compare/v3.1.2...v3.1.3</a></p>
<h2>v3.1.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Read workflow_search input as a boolean by <a
href="https://github.com/klutchell"><code>@​klutchell</code></a> in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/273">dawidd6/action-download-artifact#273</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/klutchell"><code>@​klutchell</code></a>
made their first contribution in <a
href="https://redirect.github.com/dawidd6/action-download-artifact/pull/273">dawidd6/action-download-artifact#273</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dawidd6/action-download-artifact/compare/v3.1.1...v3.1.2">https://github.com/dawidd6/action-download-artifact/compare/v3.1.1...v3.1.2</a></p>
<h2>v3.1.1</h2>
<h2>What's Changed</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/bf251b5aa9c2f7eeb574a96ee720e24f801b7c11"><code>bf251b5</code></a>
node_modules: upgrade</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/93c629661111aae296c04004b30ae3ba22ed46f3"><code>93c6296</code></a>
README: v5</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/deb3bb83256a78589fef6a7b942e5f2573ad7c13"><code>deb3bb8</code></a>
node_modules: upgrade</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/1d93f37db2a8005b41437c75a4793d52e664d858"><code>1d93f37</code></a>
README: v4</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/854e2de9396304899dbe03bf9995fd73533190d1"><code>854e2de</code></a>
Set allow_forks to false by default (<a
href="https://redirect.github.com/dawidd6/action-download-artifact/issues/290">#290</a>)</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/436c9d3774019b3e2789d7332e9c4efdba3d9d79"><code>436c9d3</code></a>
build(deps): bump adm-zip from 0.5.12 to 0.5.13 (<a
href="https://redirect.github.com/dawidd6/action-download-artifact/issues/289">#289</a>)</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/14040524bb7e51dee9683e2e755e0d562621a1d5"><code>1404052</code></a>
build(deps): bump <code>@​actions/artifact</code> from 2.1.5 to 2.1.7
(<a
href="https://redirect.github.com/dawidd6/action-download-artifact/issues/287">#287</a>)</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/8a9be734dc508dcf8d67c27ba3f727b0d682ccb0"><code>8a9be73</code></a>
build(deps): bump <code>@​actions/artifact</code> from 2.1.4 to 2.1.5
(<a
href="https://redirect.github.com/dawidd6/action-download-artifact/issues/285">#285</a>)</li>
<li><a
href="https://github.com/dawidd6/action-download-artifact/commit/df593bbd0462b45b479f042d043c3aa47fe1c483"><code>df593bb</code></a>
build(deps): bump undici from 5.28.3 to 5.28.4 (<a
href="https://redirect.github.com/dawidd6/action-download-artifact/issues/284">#284</a>)</li>
<li>See full diff in <a
href="https://github.com/dawidd6/action-download-artifact/compare/v3...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dawidd6/action-download-artifact&package-manager=github_actions&previous-version=3&new-version=6)](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)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/semantic-kernel/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Wallace <[email protected]>
2024-11-25 17:59:04 +00:00
dependabot[bot] 4113a10f23 Bump danielpalme/ReportGenerator-GitHub-Action from 5.3.10 to 5.4.1 (#9747)
Bumps
[danielpalme/ReportGenerator-GitHub-Action](https://github.com/danielpalme/reportgenerator-github-action)
from 5.3.10 to 5.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/danielpalme/reportgenerator-github-action/releases">danielpalme/ReportGenerator-GitHub-Action's
releases</a>.</em></p>
<blockquote>
<h2>5.4.1</h2>
<ul>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/707">#707</a>
Fixed issue with file filters</li>
</ul>
<h2>5.4.0</h2>
<ul>
<li>Added support for .NET 9. Dropped support for .NET 6 and .NET 7</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/699">#699</a>
Rounding crap score to full number</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/700">#700</a>
Fixed handling of .netconfig files (sourceDirectories, reportTypes,
plugins, assemblyFilters, etc.)</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/704">#704</a>
Improved handling of file filters</li>
</ul>
<h2>5.3.11</h2>
<p>Update dependencies (<a
href="https://github.com/advisories/GHSA-8g4q-xg66-9fp4">https://github.com/advisories/GHSA-8g4q-xg66-9fp4</a>)</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/810356ce07a94200154301fb73d878e327b2dd58"><code>810356c</code></a>
5.4.1</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/51bf1a384133df0710ee9a3e37dbf1c829f33677"><code>51bf1a3</code></a>
5.4.0</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/3c6f69882f8d182fd39bf95285c3c9a586d31501"><code>3c6f698</code></a>
5.4.0</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/62f9e70ab348d56eee76d446b4db903a85ab0ea8"><code>62f9e70</code></a>
5.3.11</li>
<li>See full diff in <a
href="https://github.com/danielpalme/reportgenerator-github-action/compare/5.3.10...5.4.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=danielpalme/ReportGenerator-GitHub-Action&package-manager=github_actions&previous-version=5.3.10&new-version=5.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 09:34:00 +00:00
Tao Chen 4bd9abf55b Python: Stabilize integration tests (#9761)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Our integration tests have been flaky lately. 

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
This PR stabilizes the integration tests. Note that the test pipeline is
still flaky but hopefully it will fail less frequently.

### Contribution Checklist
1. Reduce duplication in the workflow file.
2. Fix Ollama tests on Windows runners.
3. Disable USearch.
4. Fix Weaviate tests on Windows runnere.

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-20 21:23:05 +00:00
Eduard van Valkenburg a83abb9d35 Python: Introducing Vector Search to Weaviate and adding the ability to have unnamed vectors (#9684)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
This PR adds vector search to Weaviate.
All three types of search are supported, however
vectorizable_text_search depends on a setup outside SK.
Also adds a parameter to the Weaviate Collection called 'named_vectors',
default is True.
When set to False it uses unnamed vectors instead of named.
Because of this there is a slight difference in how vectors are
represented to Weaviate which might be breaking.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
The breaking change is that, vector were set to have the name of the
content that it vectorized, for instance:
With a datamodel like this (shortened some of the class names):
```python
class DataModel:
    content: Annotated[str, Data Field(embedding_property_name="vector")]
    vector: Annotated[list[float], VectorField()]
```
This would be set as `DataObject(vector: {"content": [vector
content]})`, while it will now set this to `DataObject(vector:
{"vector": [vector content]})` Where DataObject is the Weaviate object
used to insert items.

Closes #6839

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-11-15 13:12:51 +00:00
Eduard van Valkenburg 8ad7ce57ed Python: add new link check action (#9667)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
The current link check action (github-action-markdown-link-check) is no
longer being maintained, because the developer created a new one, this
PR adds the new one side by side to test.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-13 16:34:39 +00:00
Roger Barreto 4a92f34c17 .Net: MS AI Azure Inference Connector Update (#9640)
### Motivation and Context

#### Updates Azure AI Inference Connector to use `Microsoft Extensions
AI`.

- Enables Logging 
- Enables Function Calling
- Adds extra extension for `AzureAIInferenceChatClient`
- Updates Demos/Concepts with the new pattern.

#### ⚠️ Breaking Changes
- ChatCompletion Service is Deprecated (Obsoleted) in favor of 
- `Microsoft.Extensions.AI.AzureAIInferenceChatClient`
`.AsChatCompletionService()` or
- `Azure.AI.Inference.ChatCompletionsClient`
`.AsChatClient().AsChatCompletionService()`
    
- `modelId` is required for all ChatCompletion extensions
2024-11-13 14:11:35 +00:00
Tao Chen 63d1dc761f Python: Text to audio (#9625)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Addresses: https://github.com/microsoft/semantic-kernel/issues/7433

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
Add text to audio interface to Python Semantic Kernel.

### Contribution Checklist
1. Text-to-audio client base.
2. OpenAI and Azure OpenAI implementations of the client.
3. Unit tests and integration tests.
4. Samples.

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-12 22:07:34 +00:00
Tao ChenandEduard van Valkenburg 5764c8cbd7 Python: Azure Cosmos DB NoSQL Vector Store & Collection implementation (#9296)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
We are implementing the Azure Cosmos DB NoSQL vector store and vector
collection.

### Description

Azure Cosmos DB NoSQL vector store & collection implementation.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

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

---------

Co-authored-by: Eduard van Valkenburg <[email protected]>
2024-11-12 19:47:00 +00:00
Tao Chen e9a755dfbc Python: Audio to text (#9505)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Addresses: https://github.com/microsoft/semantic-kernel/issues/7434


### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
Add audio to text to SK Python.

### Contribution Checklist
1. Add audio to text to SK Python.
2. Add text to image integration tests.
3. Refactor Azure AI connector AD auth.

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-08 00:12:07 +00:00
Eduard van ValkenburgandTao Chen 1db12c4393 Python: Adding Vector Search to the In Memory collection (#9574)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Adds vectorized search and text search to the In Memory connector.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

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

---------

Co-authored-by: Tao Chen <[email protected]>
2024-11-07 16:00:51 +00:00
Eduard van Valkenburg c9ef719e2f Python: fix mypy pre-commit setup, mypy fixes (#9498)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Fixes the mypy pre-commit job, and subsequent fixes from there.
Moved all python tests to use the uv setup task instead of manual cache,
python install and uv install.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-07 11:33:41 +00:00
Eduard van ValkenburgandTao Chen c8b4094835 Python: Introducing vector and text search (#9345)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

This PR does the following things:
- Introduces TextSearch abstractions, including implementation for Bing
- This consists of the TextSearch class, which implements three public
search methods, and handles the internals, the search methods are:
'search' returns a string, 'get_text_search_results' returns a
TextSearchResult object and 'get_search_results' returns a object native
to the search service (i.e. BingWebPages for Bing)
- This also has a method called "create_{search_method}' which returns a
KernelFunction based on the search method. This function can be adapted
by setting the parameters and has several adaptability options and
allows you to create a RAG pipeline easily with custom names and
descriptions of both the functions and the parameters!
- Introduces VectorSearch abstractions, including implementation for
Azure AI Search
- This consists of a VectorStoreBase class which handles all the
internal and three public interfaces, vectorized_search (supply a
vector), vectorizable_text_search (supply a string that get's vectorized
downstream), vector_text_search (supply a string), each vector store
record collection can pick and choose which ones they need to support by
importing one or more next to the VectorSearchBase class.
- Introduces VectorStoreTextSearch as a way to leverage text search
against vector stores
- Since this builds on TextSearch this is now the best way to create a
super powerfull RAG setup with your own data model!
- Adds all the related classes, samples and tests for the above.
- Also reorders the data folder, which might cause some slight breaking
changes for the few stores that have the new vector store model.
- Adds additional IndexKinds and DistanceFunctions to stay in sync with
dotnet.
- Renames VolatileStore and VolatileCollection to InMemoryVectorStore
and InMemoryVectorCollection.

Closes #6832 #6833


### Contribution Checklist

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

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

---------

Co-authored-by: Tao Chen <[email protected]>
2024-11-06 13:22:50 +00:00
Mark Wallace 7ca11a9429 Upgrade the upload-artifact or download-artifact actions (#9565)
### Motivation and Context

Breaking changes coming to the GitHub Actions product. [Details are
posted in the GitHub
Changelog](https://github.blog/changelog/2024-11-05-notice-of-breaking-changes-for-github-actions/).
If you use the upload-artifact or download-artifact actions, be sure you
have updated your workflows to v4

Closes #9563 

### 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 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 😄
2024-11-06 11:54:54 +00:00
Tao ChenandEvan Mattson e6427a6a43 Python: Ollama tool call and image content (#9422)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Addresses:
https://github.com/orgs/microsoft/projects/866/views/59?sliceBy%5Bvalue%5D=python&pane=issue&itemId=72604972&issue=microsoft%7Csemantic-kernel%7C7539
Function calling has been added to Ollama. This PR adds support of the
feature to the Ollama AI connector.

> Note: streaming function calling is not supported by Ollama.

Image content support is also added.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
1. Ollama function calling
2. Ollama image content

### Contribution Checklist

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

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

---------

Co-authored-by: Evan Mattson <[email protected]>
2024-10-25 17:01:11 +00:00
SergeyMenshykhandMark Wallace 5780c6a153 .Net: Feature Native-AOT (#9375)
### Motivation, Context and Description
This PR merges the AOT-related changes to make
`SemanticKernel.Abstractions`, `SemanticKernel.Core`, and
`Connectors.Onnx` packages Native-AOT compatible into the main branch.

Closes: https://github.com/microsoft/semantic-kernel/issues/5411

---------

Co-authored-by: Mark Wallace <[email protected]>
2024-10-24 11:53:56 +00:00
Tao ChenandEvan Mattson c304c8beca Python: restructure integration tests (#9331)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Our integration tests for the embedding services and memory are not set
up in a way that makes it easy for developers to add test cases.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
1. Restructure the tests so that it's easier to add new tests when a new
service is created.
2. Reduce duplicate code.
3. Add Ollama embedding service tests.

> Note: Besides the new Ollama tests, no other tests are added or
dropped.

### Contribution Checklist

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

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

---------

Co-authored-by: Evan Mattson <[email protected]>
2024-10-23 22:08:44 +00:00
Dmytro Struk 92ce1dc4b3 .Net: Added code coverage generation for experimental packages (#9336)
### 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.
-->

Resolves: https://github.com/microsoft/semantic-kernel/issues/8586

This PR contains changes to add code coverage generation for
experimental packages. This enables code coverage for all packages, but
threshold is used only for non-experimental packages (with green
checkmark on screenshot):

![image](https://github.com/user-attachments/assets/fdf786f9-2ce4-4f02-8b92-35c5a40246ab)


### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-10-21 14:30:10 +00:00
Tao ChenandEvan Mattson 0b96a81ab9 Python: Weaviate vector store (#9101)
### 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.
-->
Add Weaviate DB to Semantic Kernel with the new vector store and vector
collection interfaces.

Address: https://github.com/microsoft/semantic-kernel/issues/6553

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

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

---------

Co-authored-by: Evan Mattson <[email protected]>
2024-10-17 17:46:11 +00:00
Mark Wallace fb778b776e Clean-up environment variables used by integration tests (#9287)
### 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 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 😄
2024-10-16 17:47:16 +00:00
Mark Wallace f29e08f706 .Net: Enable the InMemoryTextSearchTests (#9255)
### Motivation and Context

`InMemoryTextSearchTests` are currently disabled, removing the code
which disables them.

### 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 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 😄
2024-10-16 12:56:58 +00:00
Mark Wallace 384e4fdcba .Net: Enable the GoogleTextSearchTests (#9252)
### Motivation and Context

- `GoogleTextSearchTests` are currently disabled, removing the code
which disables them.
- Adding the configuration to run integration tests using Google Web
Search.

### 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 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 😄
2024-10-14 15:16:07 +00:00
Tao Chen 481d16a749 Python: Bedrock connector (#9100)
### 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.
-->
Add Amazon Bedrock AI to Semantic Kernel.

Amazon Bedrock is a platform on AWS that offers access to a wide range
to LLMs, including proprietary Amazon Titan models.

We are integrating it into Semantic Kernel as one of our AI connectors
to provide more options to developers.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
1. All interfaces implemented: chat completion (streaming +
non-streaming), text completion (streaming + non-streaming), and text
embedding.
2. Supports for function calling.
3. Supports for image content.
4. Supports for all models available on Bedrock.

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-10-10 22:33:42 +00:00
dependabot[bot] 1c10367a1b Bump danielpalme/ReportGenerator-GitHub-Action from 5.3.9 to 5.3.10 (#9037)
Bumps
[danielpalme/ReportGenerator-GitHub-Action](https://github.com/danielpalme/reportgenerator-github-action)
from 5.3.9 to 5.3.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/danielpalme/reportgenerator-github-action/releases">danielpalme/ReportGenerator-GitHub-Action's
releases</a>.</em></p>
<blockquote>
<h2>5.3.10</h2>
<ul>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/695">#695</a>
HTML reports: Performance and memory improvements (contributed by <a
href="https://github.com/afscrome"><code>@​afscrome</code></a>)</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/690">#690</a>
Fixed handling of history files for classes with not unique names</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/b7115d212c0f7814a0cb17fb43ec36983c707ccb"><code>b7115d2</code></a>
5.3.10</li>
<li>See full diff in <a
href="https://github.com/danielpalme/reportgenerator-github-action/compare/5.3.9...5.3.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=danielpalme/ReportGenerator-GitHub-Action&package-manager=github_actions&previous-version=5.3.9&new-version=5.3.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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 10:41:50 +00:00
Rob EmanueleandEvan Mattson 4cafb95198 Python: Add Vector Store to PostgreSQL connector (#8951)
### Motivation and Context

This PR updates the postgres memory connector to the new memory
architecture.

### Description

It adds a `PostgresStore` and `PostgresCollection` to
`semantickernel.connectors.memory.postgres`, along with unit tests,
integration tests, inclusion in the `new_memory.py` sample, and a
getting started notebook.

### 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: Evan Mattson <[email protected]>
2024-10-07 21:08:19 +00:00
Evan Mattson 51639f7631 Python: Check the Azure OpenAI settings API key for None (#8908)
### Motivation and Context

Check the Azure OpenAI settings API key for None not the constructor API
KEY param

<!-- 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

Need to check the Azure OpenAI Settings `api_key` attribute, not the
incoming `api_key` parameter.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
2024-09-19 17:55:03 +00:00
Evan Mattson 40e4c1c12e Python: Support DefaultAzureCredential for AzureAI Inference (#8862)
### Motivation and Context

In recent work, the DefaultAzureCredential path was added for
AzureOpenAI, but was missed for AzureAI inference.

<!-- 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

Adding support for default azure credential for AzureAI inference and
its tests.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
2024-09-17 19:35:07 +00:00
Evan Mattson d4057373c0 Python: Support DefaultAzureCredential Auth for Azure Resources (#8711)
### Motivation and Context

For security best practices, we're moving away from api key based auth
for Azure resources like Azure OpenAI. Previously, all tests and samples
run with an api_key only, handled via the env var, the .env file, or
directly passed into the AzureChatCompletion constructor. If the api_key
is not found once the Azure Settings are loaded, we will attempt to
retrieve a token via the DefaultAzureCredential. If it succeeds, we use
the `ad_token`; otherwise, if the token is empty (meaning we failed to
retrieve it), Pydantic validation will fail as part of service
construction, just as it does today.

The user may configure a `TOKEN_ENDPOINT` (for example,
`AZURE_OPENAI_TOKEN_ENDPOINT`) to override the default token endpoint
used for AzureOpenAI, if required. This is also possible for the Python
Sessions Container Apps plugin via `ACA_TOKEN_ENDPOINT`, although the
default value is specified and works well if the user has the proper
role on the resource.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

This PR:
- allows our GitHub integration tests to run off of the
DefaultAzureCredential.
- allows a user to retrieve a token via DefaultAzureCredential so they
don't need to manage api keys for Azure Resources.
- closes: #6512 

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
2024-09-17 15:18:54 +00:00
Mark Wallace e44817d97f .Net: Switch from API keys to Azure Credentials when accessing Azure Cognitive Services (#8512)
### Motivation and Context

Closes: #6966
2024-09-10 17:13:02 +00:00
Roger Barreto c11ab2981b .Net: New Azure AI Inference Connector (#7963)
# Motivation and Context

This PR brings support for Azure AI Studio Model Catalogs also deployed
thru GitHub Models, this Connector uses the `Azure AI Inference SDK`
library client.

Closes #3992 
Closes #7958
2024-09-10 15:08:13 +00:00
dependabot[bot] f79eaafc09 Bump danielpalme/ReportGenerator-GitHub-Action from 5.3.8 to 5.3.9 (#8644)
Bumps
[danielpalme/ReportGenerator-GitHub-Action](https://github.com/danielpalme/reportgenerator-github-action)
from 5.3.8 to 5.3.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/danielpalme/reportgenerator-github-action/releases">danielpalme/ReportGenerator-GitHub-Action's
releases</a>.</em></p>
<blockquote>
<h2>5.3.9</h2>
<ul>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/685">#685</a>
Extended &quot;raw mode&quot; for dotCover format
(settings:rawMode=true) to disable that coverage data of nested or
compiler generated classes is included in the parent class.</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/691">#691</a>
Cobertura parser: Performance and memory improvements (contributed by <a
href="https://github.com/afscrome"><code>@​afscrome</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/e3af7259842d9c814021ea121f85526e0872b25f"><code>e3af725</code></a>
5.3.9</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/dd5442ff779dcba741d1a6e5c756fdf950288f26"><code>dd5442f</code></a>
Updated script</li>
<li>See full diff in <a
href="https://github.com/danielpalme/reportgenerator-github-action/compare/5.3.8...5.3.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=danielpalme/ReportGenerator-GitHub-Action&package-manager=github_actions&previous-version=5.3.8&new-version=5.3.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 14:41:16 +00:00
+10 cc63d56895 .Net: OpenAI V2 & Assistants V2 - GA (#7151)
Accumulation of incremental changes that were reviewed separately.

This change fundamentally grapples with updating the Azure AI OpenAI SDK
from V1 to V2.

This involves:
- Including the OpenAI SDK dependency
- Refactoring the OpenAI Connector
- Introducing an Azure OpenAI Connector
- Update the experimental `Agents.OpenAI` to support V2 assistant
features (breaking change)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Roger Barreto <[email protected]>
Co-authored-by: SergeyMenshykh <[email protected]>
Co-authored-by: SergeyMenshykh <[email protected]>
Co-authored-by: Dmytro Struk <[email protected]>
Co-authored-by: Roger Barreto <[email protected]>
Co-authored-by: Dr. Artificial曾小健 <[email protected]>
Co-authored-by: westey <[email protected]>
Co-authored-by: Mark Wallace <[email protected]>
Co-authored-by: Tao Chen <[email protected]>
Co-authored-by: Evan Mattson <[email protected]>
Co-authored-by: Maurycy Markowski <[email protected]>
Co-authored-by: gparmigiani <[email protected]>
Co-authored-by: Atiqur Rahman Foyshal <[email protected]>
Co-authored-by: Eduard van Valkenburg <[email protected]>
Co-authored-by: Andrew Desousa <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Garcia <[email protected]>
Co-authored-by: Marcelo Garcia 🛸 <[email protected]>
Co-authored-by: Eirik Tsarpalis <[email protected]>
2024-09-04 00:33:08 +00:00
Eduard van Valkenburg 06f34715be different release upload step (#8406)
different asset upload step
2024-08-28 10:44:05 +02:00
Eduard van Valkenburg 7158cfb745 Python: add license to pyproject (#8404)
### 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.
-->
Next to the reference to the python file, also added a license
classifier

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-08-28 10:30:38 +02:00
Eduard van Valkenburg a775f753da Python: fix ollama integration test (#8364)
### 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 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 😄
2024-08-26 13:47:46 +02:00
Eduard van Valkenburg d7149275ff Python: updated paths for integration tests (#8363)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
small fix for the integration tests after switching to uv.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-08-26 13:43:26 +02:00
Eduard van Valkenburg f90538b9c0 Python: switch to uv (#8320)
### 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.
-->
Switches from poetry to uv
much faster and easier lock management
easier maintenance of pyproject.toml

fixes: #6584
fixes: #8326

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-08-26 13:34:29 +02:00
48d8dbc7b3 Python: #6501 Anthropic Chat Completion (#7851)
### 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.
-->
1. Why is this changed required? Support Anthropic models with Python
(#6501)
2. What problem does it solve? ^^
3. What scenario does it contribute to? Multi model use cases and
applications that would like to use Anthropic models
4. If it fixes an open issue, please link to the issue here: #6501

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

The changes made follow the designs followed by the Mistral AI and Open
AI connectors.

I added the following Classes :
- AnthropicChatPromptExcecutionSettings
- AnthropicChatCompletion
- AnthropicSettings

**To test the changes with the tests please add ANTHROPIC_API_KEY and
ANTHROPIC_CHAT_MODEL_ID as Enviorment Variable**

What is implemented:
- [X] Integrate Anthropic ChatCompletion Models without Streaming
- [X] Integrate Anthropic Chat Completion Models with Streaming
- [X] Unit tests and integration tests
- [X] Extended Testing including Unit Testing & More Integration Tests

### Contribution Checklist

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

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

---------

Co-authored-by: Tao Chen <[email protected]>
Co-authored-by: Eduard van Valkenburg <[email protected]>
2024-08-19 14:02:32 +00:00
Eduard van Valkenburg a112da977f Python: Introducing Text To Image services (#8267)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Adds TextToImageClient base class
Adds OpenAI and Azure OpenAI Text To Image Services
Adds sample

Closes: #8266

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-08-19 13:45:02 +00:00
Eduard van Valkenburg ba9d34f02b Python: updated packages and reverted default multi-core testing (#8091)
### 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.
-->
Updated all flagged packages by dependabot and reverted a earlier to
change to running tests in paralel by default, now only done directly in
integration tests.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-08-14 08:06:46 +00:00
Eduard van Valkenburg 1356d5f30c Python: Feature new memory stores and collections (#7614)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
This PR adds new vector store and vector store record collections as
well as implementations for:

- Azure AI Search
- Redis
- Qdrant
- Volatile (in-memory)

It also adds samples, tests, and unit-tests for these.

Next it adds the vector store record fields, definition and decorator,
with tests and samples.

All marked experimental. Existing Redis, Azure AI Search, Qdrant and
Volatile will be marked as deprecated in the future, once the new
collections are feature complete.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-08-06 20:30:26 +00:00
ddb9812457 Python: #6499 Mistral AI Embedding Connector (#7122)
### 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.
-->

 1. Why is this changed required ?
To enable Mistral Models with Semantic Kernel, there was the issue #6499
in the Backlog to add a MistralAI Connector
2. What problem does it solve ?
It solves the problem, that semantic kernel is not yet integrated with
MistralAI
3. What scenario does it contribute to?
The scenario is to use different connector than HF,OpenAI or
AzureOpenAI. When User's want to use Mistral they can easliy integrate
it now
4. If it fixes an open issue, please link to the issue here.
#6499 

### Description

The changes made are designed by the open_ai connector, i tried to stay
as close as possible to the structure.
For the integration i installed the mistral python package in the
repository.

I added the following Classes :
- MistralAITextEmbedding --> Responsible to generate the Embeddings

**To test the changes with the tests please add MISTRALAI_API_KEY and
MISTRALAI_EMBEDDING_ID as Enviorment Variable**

What is integrated yet :

- [X] Integrate Mistral AI Embedding
- [x] Extended Testing including Unit Testing & More Integration Tests


### Some Notes

- Integration Tests are skipped when the environment variables are not
to not break the current Integration Tests
- an Additional Settings Class was not necessary because there are no
settings in [Mistral
Embeddings](https://github.com/mistralai/client-python/blob/c2bfb767f2222f4efc798f3cb9c19c9ab20b9029/src/mistralai/async_client.py#L290)

### 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: Nico Möller <[email protected]>
Co-authored-by: Eduard van Valkenburg <[email protected]>
2024-08-05 14:38:44 +00:00
Eduard van Valkenburg b1690ce6f2 Python: small improvements in test running (#7576)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Adds pytest-xdist to parallelize tests, defaults to logical cores
Adds single test for Kernel to validate.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-08-01 12:18:10 +00:00
Tao ChenandEvan Mattson 7997e79bb9 Python: Vertex AI Connector (#7481)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
We are adding a new AI connector for the talking to the Gemini API on
Google Vertex AI:
https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/overview

Note that this is for Gemini hosted on Vertex AI. Google also offers
Gemini access on their Google AI platform:
https://cloud.google.com/vertex-ai/generative-ai/docs/migrate/migrate-google-ai.
We will have another connector along with this for accessing Gemini on
Google AI.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
The new connector contains 3 AI services:
- Chat completion
- Text completion
- Text embedding

TODO: Function calling.

> Function calling is not included in this PR to reduce to the size of
the PR.

### Contribution Checklist

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

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

---------

Co-authored-by: Evan Mattson <[email protected]>
2024-07-31 16:04:10 +00:00
John Oliver ce79de5ce1 Remove Java from CodeQL analysis (#7547)
### 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 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 😄
2024-07-29 22:21:28 +00:00
John OliverandBruno Borges d3172f8f36 Java: Migrate java code to new repository (#7460)
### 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 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 😄

Co-authored-by: Bruno Borges <[email protected]>
2024-07-29 17:01:13 +00:00
Tao Chen d1621474ee Python: Google AI Connector (#7419)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
We are adding a new AI connector for the talking to the Gemini API on
Google AI:
https://ai.google.dev/gemini-api/docs/get-started/tutorial?authuser=1&lang=python.

Note that this is for Gemini hosted on Google AI. Google also offers
Gemini access on their Vertex AI platform:
https://cloud.google.com/vertex-ai/generative-ai/docs/migrate/migrate-google-ai.
We will have another connector along with this for accessing Gemini on
Vertex AI.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

The new connector contains 3 AI services:
- Chat completion
- Text completion
- Text embedding

TODO: Function calling.
> Function calling is not included in this PR to reduce to the size of
the PR.

Unit test coverage:

![image](https://github.com/user-attachments/assets/d4fefaa3-b24a-4b91-b29a-cadec5fa34fb)

Mypy: All cleared

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-07-24 23:20:36 +00:00
dependabot[bot] f7037834b4 Bump danielpalme/ReportGenerator-GitHub-Action from 5.2.4 to 5.3.8 (#7395)
Bumps
[danielpalme/ReportGenerator-GitHub-Action](https://github.com/danielpalme/reportgenerator-github-action)
from 5.2.4 to 5.3.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/danielpalme/reportgenerator-github-action/releases">danielpalme/ReportGenerator-GitHub-Action's
releases</a>.</em></p>
<blockquote>
<h2>5.3.8</h2>
<ul>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/681">#681</a>
Updated System.Text.Json to address CVE-2024-30105 (contributed by <a
href="https://github.com/304NotModified"><code>@​304NotModified</code></a>)</li>
</ul>
<h2>5.3.7</h2>
<ul>
<li>Exclude empty modules/assemblies from reports
-Fix sort direction triangles (contributed by <a
href="https://github.com/YuriyDurov"><code>@​YuriyDurov</code></a>)
-<a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/602">#602</a>:
HtmlSummary and Html_BlueRed_Summary report types now also create an
index.html file</li>
</ul>
<h2>5.3.6</h2>
<p><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/676">#676</a>:
Fixed issue with Cobertura files with empty class names</p>
<h2>5.3.5</h2>
<ul>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/663">#663</a>:
Improved support for Cobertura files generated by &quot;Microsoft
CodeCoverage&quot;</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/674">#674</a>:
License can now be supplied via the REPORTGENERATOR_LICENSE environment
variable</li>
</ul>
<h2>5.3.4</h2>
<ul>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/664">#664</a>:
Added filter options for risk hotspots: '-riskhotspotassemblyfilters:',
'-riskhotspotclassfilters:'</li>
</ul>
<h2>5.3.0</h2>
<ul>
<li>Azure DevOps task: Added new setting
&quot;publishCodeCoverageResults&quot; This allows to publish report in
'Code Coverage' tab directly. Makes the 'PublishCodeCoverageResults'
task obsolete.</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/662">#662</a>:
Added ability to filter by coverage in Html reports</li>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/667">#667</a>:
Added new report type 'MarkdownAssembliesSummary'</li>
</ul>
<h2>5.2.5</h2>
<ul>
<li><a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/665">#665</a>
Improved handling of duplicate classes in JaCoCo files</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/5808021ec4deecb0ab3da051d49b4ce65fcc20af"><code>5808021</code></a>
5.3.8</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/345a7c3866622fe946263314218ad2c12c388b8b"><code>345a7c3</code></a>
5.3.7</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/4924a48df5dbcdfbcbaef0cc1ad7d65d5aade7dd"><code>4924a48</code></a>
5.3.6</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/cf42982e6581b8a4e2199069e7fe34e33aa1d43a"><code>cf42982</code></a>
Update README</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/fa728091745cdd279fddda1e0e80fb29265d0977"><code>fa72809</code></a>
5.3.5</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/9f1033dc04b18a7dfa51aeefeb18540e8939021f"><code>9f1033d</code></a>
5.3.4</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/1f766b8410c1017e401e961b2d6492aaeaada45d"><code>1f766b8</code></a>
Documentation <a
href="https://redirect.github.com/danielpalme/ReportGenerator/issues/671">danielpalme/ReportGenerator#671</a></li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/8c48805644296061b38f000f193b716b40200015"><code>8c48805</code></a>
<a
href="https://redirect.github.com/danielpalme/reportgenerator-github-action/issues/19">#19</a>:
Added documentation how to publish Markdown results in GitHub</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/6b06171d1a131e7fd85121120a1c00c1ed03e033"><code>6b06171</code></a>
5.3.0</li>
<li><a
href="https://github.com/danielpalme/ReportGenerator-GitHub-Action/commit/2a2d60ea1c7e811f54684179af6ac1ae8c1ce69a"><code>2a2d60e</code></a>
5.2.5</li>
<li>Additional commits viewable in <a
href="https://github.com/danielpalme/reportgenerator-github-action/compare/5.2.4...5.3.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=danielpalme/ReportGenerator-GitHub-Action&package-manager=github_actions&previous-version=5.2.4&new-version=5.3.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 16:20:54 +00:00
Tao Chen 79207ffbbc Python: Migrate to Ollama Python SDK (#7165)
### 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! -->
Currently, the Ollama AI connector uses `aiohttp` sessions to interface
with the local Ollama LLM service. However, we have made the decision to
transition to the official Ollama Python SDK.

Related to: https://github.com/microsoft/semantic-kernel/issues/6841,
https://github.com/microsoft/semantic-kernel/issues/7134

Test coverage report:

![image](https://github.com/microsoft/semantic-kernel/assets/12570346/8d414f71-fc1b-4870-b038-0f7d2985b985)

MyPy warnings: all cleared
### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-07-16 22:38:21 +00:00
Eduard van Valkenburg e02770d83e Python: added tests for singular and small fix to code coverage (#7223)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
small fix for the text streaming singular method
tests for both
small fix for test coverage

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

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

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