Commit Graph
3686 Commits
Author SHA1 Message Date
alliscode 1bc081c540 trying more 2024-11-11 14:37:59 -08:00
alliscode 5c25028b88 trying more 2024-11-11 14:33:08 -08:00
alliscode 43c9e08796 Using random app Id for dapr testing. 2024-11-11 13:04:59 -08:00
alliscode c2583a1e91 Merge branch 'main' into feature-process-testing 2024-11-11 12:56:27 -08:00
alliscode 165e53f0de Making workflow run once with push trigger. 2024-11-11 12:47:52 -08:00
Ben Thomas 4283cf2685 .Net: Processes - Resolving issues with integrations test in Dapr runtime. (#9646)
### Description

This PR fixes two issues our integration tests in the Dapr runtime. All
tests pass after this change is applied.

### 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-11 20:37:33 +00:00
alliscode 77aaa2f62f Making workflow run once with push trigger. 2024-11-11 12:36:39 -08:00
Ben Thomas 7b0e32a91e Adding workflow for integration testing processes in all runtimes. (#9649)
Adding workflow for automated integration testing of Processes across
all supported runtimes.

### 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-11 12:17:41 -08:00
Roger Barreto 7d9f834130 .Net: Onnx Bump 0.5.0 + Add missing integration tests (#9639)
### Motivation and Context

- Add missing integration tests 
- Resolves #9628
2024-11-11 15:26:47 +00:00
Mark Wallace f7dc5262f6 .Net: Fix unit tests to check for security property (#9635)
### 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-11-11 11:16:09 +00:00
westey 14bc62aadd .Net: Remove experimental flag from VectorStore implementations. (#9624)
### Motivation and Context

As part of graduating vector stores we want to remove the experimental
flag from the implementations and only keep them on memory store
implementations.

#8539

### Description

- Remove experimental flag from packages with vector store
implementations.
- Add experimental flag to any memory store files in the same package.
- Clean up warning suppressions in vector store projects.

### 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-11 11:12:48 +00:00
SergeyMenshykh 4a16849264 .Net: Remove experimental attribute from the new function calling model classes (#9524)
Removes the Experimental attribute from the new function-calling model
classes and function call content classes as part of their graduation.

Corresponding tasks:
- https://github.com/microsoft/semantic-kernel/issues/6706
- https://github.com/microsoft/semantic-kernel/issues/8490
2024-11-11 10:52:33 +00:00
ChrisandBen Thomas b67eb84666 .Net Agents - AgentChat Serialization (#7457)
### 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.
-->

Support ability to capture and restore `AgentChat` history:


https://github.com/microsoft/semantic-kernel/blob/main/docs/decisions/0048-agent-chat-serialization.md

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

Introduces `AgentChatSerializer` that supports serialization and
deserialization of entire conversation state.

```json
{
  "Participants": [
    {
      "Id": "asst_YaLY1TRmxsIReVa0BiuhEDAj",
      "Name": "agent-1",
      "Type": "Microsoft.SemanticKernel.Agents.OpenAI.OpenAIAssistantAgent"
    },
    {
      "Id": "1e884890-c344-4bc0-9367-068c482a499d",
      "Name": "agent-2",
      "Type": "Microsoft.SemanticKernel.Agents.ChatCompletionAgent"
    }
  ],
  "History": [{"Role":{"Label":"user"},"Items":[{"$type":"TextContent","Text":"..."}],"ModelId":"gpt-35-turbo-16k"},{"Role":{"Label":"assistant"},"Items":[{"$type":"TextContent","Text":"..."}],"ModelId":"gpt-35-turbo-16k"}],
  "Channels": [
    {
      "ChannelKey": "4kjDzpCpeOLUNbsSUisHd9cphSzEAb6Hxdnmr\u002Bem1Jw=",
      "ChannelType": "Microsoft.SemanticKernel.Agents.OpenAI.OpenAIAssistantChannel",
      "ChannelState": "thread_ZSF1ovTVzyYy8cg9GEwmDWgy"
    },
    {
      "ChannelKey": "Vdx37EnWT9BS\u002BkkCkEgFCg9uHvHNw1\u002BhXMA4sgNMKs4=",
      "ChannelType": "Microsoft.SemanticKernel.Agents.ChatHistoryChannel",
      "ChannelState": [{"Role":{"Label":"user"},"Items":[{"$type":"TextContent","Text":"..."}],"ModelId":"gpt-35-turbo-16k"},{"Role":{"Label":"assistant"},"Items":[{"$type":"TextContent","Text":"..."}],"ModelId":"gpt-35-turbo-16k"}]
    }
  ]
}
```

Includes sample showing serialization and deserialization with
`ChatCompletionAgent` and `OpenAIAssistantAgent` partipating on the same
chat, as well as a chat that includes `ChatCompletionAgent` that calls a
plug-in.


### 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: Ben Thomas <[email protected]>
dotnet-1.28.0-nightly-241110.1 dotnet-1.28.0-nightly-241109.1 dotnet-1.28.0-nightly-241108.1
2024-11-08 21:42:03 +00:00
Evan Mattson 05f4589549 Python: Exclude the KernelContent's inner_content as it breaks serializing the model (#9626)
### Motivation and Context

There's been an error for a while where serializing the chat history
leads to the following error:

```
PydanticSerializationError(Error serializing to JSON: TypeError: 'MockValSer' object 
cannot be converted to 'SchemaSerializer')}
```

This is due to the fact that we're trying to do a model dump of an
object that we don't have a Pydantic model for as the `inner_content`
type is `Any`. Most, if not all, of the `inner_content` info is already
included in our `ChatMessageContent`, therefore we're excluding this
attribute from serialization.

Note: if you require the information in this `inner_content` attribute,
you will be responsible for grabbing the content before serializing the
chat history, as it won't be included.

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

### Description

This PR excludes the `inner_content` from the `model_dump()`,
`model_dump_json()`, or `serialize()` calls.
- Fixes #7903 
- Adds a concept sample showing how to serialize the `ChatHistory` after
invoking a prompt via the kernel.

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

### Contribution Checklist

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

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
2024-11-08 20:23:53 +00:00
Roger Barreto 3a8899b49c .Net: Bugfix for AddMessageFromStreaming (#9619)
### Motivation and Context

- Fixes #9458 
- Fixes #6153
2024-11-08 17:41:35 +00:00
SergeyMenshykh ffac88a830 .Net: OpenApi payload construction ADR (#9469)
This ADR and the corresponding samples provide an overview of the
options that SK OpenAPI functionality can handle for REST API payloads.

Related task: https://github.com/microsoft/semantic-kernel/issues/6885
2024-11-08 15:28:53 +00:00
Roger Barreto ca5e2859a4 .Net: MS AI Ollama with Function calling (#9488)
# Problem & Solution

This PR updates the Ollama Connector to use it's latest `OllamaSharp`
updated version `4.0` where already supports the new
`Microsoft.Extensions.AI` that can be completely leveraged by SK
Abstractions including Function Calling support.

- Resolves #7442
2024-11-08 12:13:28 +00:00
dependabot[bot] 2d4c7524af Python: Update pymongo requirement from <4.9,>=4.8.0 to >=4.8.0,<4.11 in /python (#9271)
Updates the requirements on
[pymongo](https://github.com/mongodb/mongo-python-driver) to permit the
latest version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/mongo-python-driver/releases">pymongo's
releases</a>.</em></p>
<blockquote>
<h2>PyMongo 4.10.1</h2>
<p>Community notes: <a
href="https://www.mongodb.com/community/forums/t/pymongo-4-10-1-released/299573">https://www.mongodb.com/community/forums/t/pymongo-4-10-1-released/299573</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst">pymongo's
changelog</a>.</em></p>
<blockquote>
<h2>Changes in Version 4.10.1</h2>
<p>Version 4.10.1 is a bug fix release.</p>
<ul>
<li>Fixed a bug where
:meth:<code>~pymongo.results.UpdateResult.did_upsert</code> would raise
a <code>TypeError</code>.</li>
<li>Fixed Binary BSON subtype (9) support on big-endian operating
systems (such as zSeries).</li>
</ul>
<p>Issues Resolved
...............</p>
<p>See the <code>PyMongo 4.10.1 release notes in JIRA</code>_ for the
list of resolved issues
in this release.</p>
<p>.. _PyMongo 4.10.1 release notes in JIRA: <a
href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=40788">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=40788</a></p>
<h2>Changes in Version 4.10.0</h2>
<ul>
<li>Added provisional <strong>(BETA)</strong> support for a new Binary
BSON subtype (9) used for efficient storage and retrieval of vectors:
densely packed arrays of numbers, all of the same type.
This includes new methods
:meth:<code>~bson.binary.Binary.from_vector</code> and
:meth:<code>~bson.binary.Binary.as_vector</code>.</li>
<li>Added C extension use to client metadata, for example:
<code>{&quot;driver&quot;: {&quot;name&quot;: &quot;PyMongo|c&quot;,
&quot;version&quot;: &quot;4.10.0&quot;}, ...}</code></li>
<li>Fixed a bug where
:class:<code>~pymongo.asynchronous.mongo_client.AsyncMongoClient</code>
could deadlock.</li>
<li>Fixed a bug where PyMongo could fail to import on Windows if
<code>asyncio</code> is misconfigured.</li>
</ul>
<p>Issues Resolved
...............</p>
<p>See the <code>PyMongo 4.10 release notes in JIRA</code>_ for the list
of resolved issues
in this release.</p>
<p>.. _PyMongo 4.10 release notes in JIRA: <a
href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=40553">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=40553</a></p>
<h2>Changes in Version 4.9.2</h2>
<ul>
<li>Fixed a bug where
:class:<code>~pymongo.asynchronous.mongo_client.AsyncMongoClient</code>
could deadlock.</li>
<li>Fixed a bug where PyMongo could fail to import on Windows if
<code>asyncio</code> is misconfigured.</li>
<li>Fixed a bug where
:meth:<code>~pymongo.results.UpdateResult.did_upsert</code> would raise
a <code>TypeError</code>.</li>
</ul>
<p>Issues Resolved
...............</p>
<p>See the <code>PyMongo 4.9.2 release notes in JIRA</code>_ for the
list of resolved issues
in this release.</p>
<p>.. _PyMongo 4.9.2 release notes in JIRA: <a
href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=40732">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=40732</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/77cd7ab9f6dc48e72a3bae94d2cca2e4200e6978"><code>77cd7ab</code></a>
BUMP 4.10.1</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/1c284307250dec4fb6b7b161d72e1876c067b4cb"><code>1c28430</code></a>
PYTHON-4808 Add changelog for 4.10.1 (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1890">#1890</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/7848feb09a12bb6a14fb18deb8b873d8c2eff8a9"><code>7848feb</code></a>
PYTHON-4786 - Fix UpdateResult.did_upsert TypeError (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1878">#1878</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/02794079802f264be021707d20fc64e292ef74b7"><code>0279407</code></a>
PYTHON-4806 Fix expected metadata in mockupdb tests (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1888">#1888</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/7fbeca9793bb88561a8b9972df926193d54a1225"><code>7fbeca9</code></a>
[PYTHON-4803] Big endian fix for binary bson vectors (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1885">#1885</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/bfba5481a09b67fa3f5e9dcaf5e90d7913964406"><code>bfba548</code></a>
PYTHON-4789 Migrate test_retryable_reads.py to async (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1877">#1877</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/8791aa00ea8f87ceae5e5ec601b75c677a6754ab"><code>8791aa0</code></a>
PYTHON-4790 Migrate test_retryable_writes.py to async (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1876">#1876</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/c0f7810d56555c8a285beaa9aa5fe6d2b7185eff"><code>c0f7810</code></a>
BUMP 4.11.0.dev0</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/4713afa910f12d013571778a12fda2287d0bf19d"><code>4713afa</code></a>
BUMP 4.10.0</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/ae6cfd6d102d885ac6b0873d31f0dac139b1ddae"><code>ae6cfd6</code></a>
[DRIVERS-2926] [PYTHON-4577] BSON Binary Vector Subtype Support (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/1813">#1813</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/mongodb/mongo-python-driver/compare/4.8.0...4.10.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 08:48:39 +00:00
Tao Chen e9a755dfbc Python: Audio to text (#9505)
### Motivation and Context

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


### Description

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

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

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
dotnet-1.28.0-nightly-241107.2
2024-11-08 00:12:07 +00:00
Chris 1cb0922495 .Net Processes - Fix Serialization of Input Data (#9614)
### 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 ability to serialize complex types here:
https://github.com/microsoft/semantic-kernel/pull/9525

...but missed the remoting boundary for invoke the process. This change
addresses this final gap without altering external patterns.

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

Convert event to JSON when invoking `ProcessActor` from
`DaprKernelProcessContext`

### 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 19:38:50 +00:00
Estefanía Tenorio 74049318a0 .Net Processes: fixing KernelProcessStateMetadata usage (#9598)
### Description

- fixing definition of `KernelProcessStateMetadata` to be easier to
inherit/manage
- fixing missing plumbing of version in KernelState
- Updating Build interface in `ProcessStepBuilder` and `ProcessBuilder`

Fixes #9599 

### 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 19:02:53 +00:00
Evan Mattson c539e8b88b Python: Bump Python version to 1.14.0 for a release. (#9611)
### Motivation and Context

Bump Python version to 1.14.0 for a release.

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

### Description

Bump Python version to 1.14.0 for a release.

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

### Contribution Checklist

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

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
python-1.14.0
2024-11-07 18:02:30 +00:00
Mark Wallace 60ff436ecd .Net: Version 1.28.0 (#9610)
### Motivation and Context

Update version to 1.28.0

### 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 😄
dotnet-1.28.0
2024-11-07 17:04:41 +00:00
Evan Mattson ed1fb08473 Python: Add type hint for ProcessStepBuilder in send_event_to. Improve schema building. (#9608)
### Motivation and Context

The `ProcessStepEdgeBuilder` `send_event_to` method allows one to pass
in a target that isn't of type `ProcessFunctionTargetBuilder`. If it is
of the other type `ProcessStepBuilder` we build the expected type
`ProcessFunctionTargetBuilder`. The `send_event_to` method was missing
the type hint, which can cause issues for type checkers.

Secondly, during json schema building, we get the type hints using the
builder's globals and locals. This is an issue because it doesn't allow
us to find types defined outside of this module. Improve this by getting
type hints for user defined modules, as well.

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

### Description

This PR adds the proper type hint.
- Closes #9605 
- Closes #9606
- Renames a `test_postgres.py` file that existed both in unit tests and
integration tests and caused a load conflict.

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

### Contribution Checklist

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

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

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

### Description

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

### Contribution Checklist

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

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

---------

Co-authored-by: Tao Chen <[email protected]>
2024-11-07 16:00:51 +00:00
SergeyMenshykh daafde42f0 .Net: Rename OpenAPI model classes (#9595)
### Motivation, Context and Description
The public OpenAPI model classes that have "operation" in their name
were renamed to align with the other classes that do not have the word
in their name.
Additionally, the `RestApiPayloadProperty.Type`,
`RestApiParameter.Type`, and `RestApiParameter.ArrayItemType` were made
internal to simplify the update to OpenAPI.NET v2, where their types
have been changed.
2024-11-07 15:18:29 +00:00
SergeyMenshykh 3888c8e98c Comment out broken link (#9604)
### Motivation and Context
The `markdown-link-check` tool fails -
[32656031279](https://github.com/microsoft/semantic-kernel/actions/runs/11723502773/job/32656031279?pr=9595)
trying to access the broken link -
[web.stanford.edu](https://web.stanford.edu/~rezab/classes/cme323/S15/notes/lec8.pdf)

This PR comments out the link until the working one is found.
2024-11-07 13:54:18 +00:00
SergeyMenshykh d48e17a420 .Net: Prepare OpenApi model classes to changes in OpenApi.NET v2 SDK (#9603)
### Motivation, Context and Description
The new version, V2, of the
[OpenAPI.NET](https://github.com/microsoft/OpenAPI.NET/pull/1906) SDK
comes with changes to its model classes. This PR updates the SK OpenAPI
model classes to match the SDK's ones. The goal is to reduce breaking
changes from the update.

Similar changes were done in this PR - [.Net: Rename OpenAPI model
classes](https://github.com/microsoft/semantic-kernel/pull/9595) where
the `RestApiPayloadProperty.Type`, `RestApiParameter.Type`, and
`RestApiParameter.ArrayItemType` were made internal to simplify the
update to OpenAPI.NET v2, where their types have been changed.

Related task: https://github.com/microsoft/semantic-kernel/issues/6884
2024-11-07 11:53:22 +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
Mark Wallace 801436cf9d .Net: Don't allow function name/id to be overwritten with an empty string (#9601)
### Motivation and Context

Closes #9567 

### Description

The fix handles the case where a streaming update contains an empty
string for the function name. I haven't been able to reproduce the
scenario where this happens and I have asked the issue creator for more
information. The function name has a max size of 64 chars and when I use
that the function isn't split over multiple streaming responses.

Referencing the approach shown here:
https://community.openai.com/t/functions-calling-with-streaming/305742

### 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-07 10:39:30 +00:00
Dmytro Struk 19fef345c5 .Net: Added support for OpenAI image detail level property (#9561)
### 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/4759

This PR adds a support for the `detail` property in the OpenAI image
API. The property can be configured using `ImageContent.Metadata`
property.

`ImageContent.Metadata` usage:
```csharp
chatHistory.AddUserMessage(
[
    new TextContent("What’s in this image?"),
    new ImageContent(imageBytes, "image/jpg") { Metadata = new Dictionary<string, object?> { ["ChatImageDetailLevel"] = "high" } }
]);
```

### 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 😄
dotnet-1.27.0-nightly-241106.1
2024-11-06 22:02:11 +00:00
c613ae4a5f .Net: Shared (Cross-Runtime) integration tests for Processes (#9550)
### Motivation and Context

This PR introduces integration tests for Processes that are shared
across all runtimes. This will allow us to run the exact same tests
using all supported runtimes.

### Description

This PR creates a few new projects that are needed to share the
integration tests across runtimes.

- `Process.IntegrationTests.Resources` contains all the definitions or
steps, state, processes, etc. that are used in the shared tests.
- `Process.IntegrationTests.Shared` contains all of the shared tests.
- `Process.IntegrationTestRunner.Local` is the test project that
executes the shared tests against the Local runtime.
- `Process.IntegrationTestRunner.Dapr` is the test project that executes
the shared tests against the Dapr runtime.
- `Process.IntegrationTestHost.Dapr` is the project that hosts Dapr
tests in an ASP.NET Core Web API.

The PR enables all of these tests to run locally, a follow up PR will
configure these tests to run in the GitHub pipeline.

### 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: alliscode <[email protected]>
Co-authored-by: Chris <[email protected]>
2024-11-06 21:37:38 +00:00
Mark Wallace 72222464ed .Net: Provide access to the security scheme and requirement for an Open API function (#9430)
### Motivation and Context

Exploring a fix for #9429 

### 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 20:53:31 +00:00
Chris 874ee95ea2 .Net Agents - Fix polling cycle to properly evaluate failure mode on exception (#9581)
### 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.
-->

Assistant polling not propertly responding to terminal error conditions.

Fixes: https://github.com/microsoft/semantic-kernel/issues/9579

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

- Added explicit check for cancelling state: Invoke, InvokeStreaming, &
Polling loops
- Discriminate on different exception modes when polling
- Ensure stale run state isn't evaluated in polling loop
- Remove initial polling delay

### 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-06 19:40:42 +00:00
SergeyMenshykh 6b20b9821b .Net: Make OpenApi model classes experimental (#9568)
### Motivation, Context and Description
Taking into account that the OpenAPI model classes have become exposed
through the `KernelFunction.Metadata` property and that there could be
requests to change their public API surface, it makes sense to label
them as experimental to communicate the potential changes to the
consumers of the classes.

Related task: https://github.com/microsoft/semantic-kernel/issues/6884
2024-11-06 15:32:36 +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
SergeyMenshykhandMark Wallace 7b22f00cdd .Net: Parse multiple servers (#9558)
### Motivation, Context and Description
OpenAPI specification allows specifying multiple servers. This PR
refactors the `OpenApiDocumentParser` to return a collection of servers
instead of one.

---------

Co-authored-by: Mark Wallace <[email protected]>
2024-11-06 11:21:46 +00:00
Jose Luis Latorre Millas 3332079da9 .Net: Process Framework: Simplify Event Emission in Process Steps (#9560)
### Motivation and Context
Fixes: https://github.com/microsoft/semantic-kernel/issues/9510

Process Framework: Simplify Event Emission in Process Steps
I would like to propose a simplification of the event emission mechanism
within the Process Framework, specifically in process steps. Currently,
emitting events involves multiple method calls and boilerplate code,
which can make the codebase harder to read and maintain.

### Description
I created an overload of EmitEventAsync with simplified signature to
reduce developer cognitive load, updated some tests to verify on build.

If decided to update the signature completely (replace it) I can update
all the examples and 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 😄
dotnet-1.27.0-nightly-241105.2
2024-11-05 21:51:27 +00:00
Chris 6fee23cb6c .Net Processes - Support Complex Type Serialization for Dapr Events and Messages (#9525)
### 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.
-->

DAPR events and messages result in runtime failure when contain anything
other than the supported primitive types:


https://docs.dapr.io/developing-applications/sdks/dotnet/dotnet-actors/dotnet-actors-serialization/#supported-primitive-types

This means arrays, lists, and objects are not currently able to be
emitted by steps.

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

Translating `ProcessMessage`, `ProcessEvent`, and `KernelProcessMessage`
into JSON strings prior to data-contract serialization. As part of this,
any relevant type information is included in the json payload.

On deserialization, the type information is utilized to convert any
`JsonElement` data values to the expected type.

**Notes:**
- Added unit tests (DAPR specific project)
- Removed `DataContract` where not needed (and tests)
- Verified DAPR demo
- Attempted to minimize postfix null-supression operator as able.
- Replaced `var` with explicit types for my own clarity...and left them
for posterity.
- Eliminated redundant namespace scoping

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

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
2024-11-05 20:49:33 +00:00
Mark Wallace 9eae969ca8 .Net: Version 1.27.0 (#9559)
### Motivation and Context

Version bump for the 1.27.0 release

### 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 😄
dotnet-1.27.0
2024-11-05 21:02:15 +00:00
Mark Wallace c10723dbbf .Net: Include the operation in the KernelFunction.Metadata (#9556)
### Motivation and Context

Update for #9496 to include the `RestApiOperation` in the
`KernelFunction.MetaData`

### Description

This will help us avoid having to add all `RestApiOperation` properties
individually to metadata.

### 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-05 20:20:59 +00:00
Dmytro Struk ca4badff8e .Net: Added an example how to access ChatHistory in SK function (#9527)
### 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/7263

This PR contains an example how to access `ChatHistory` in SK function
using `Kernel.Data` property or `KernelArguments` and
`IAutoFunctionInvocationFilter`.

This scenario can be useful with auto function calling, when logic in SK
function depends on results from previous messages in the same chat
history.

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-05 18:59:26 +00:00
Roger Barreto ed08b44f43 .Net: Add {Azure}OpenAI support Audio-to-Text Timestamp Granularities (#9554)
### Motivation and Context

- Resolves #7213
2024-11-05 18:46:01 +00:00
Estefanía TenorioandChris a7a56e5782 .Net: Processes State Management Part 2 (#9481)
### Description

- Moving `ProcessStateMetadata` logic to factory/extension to try to
keep clean existing core components
- Adding check of step name when adding new steps/processes to process -
names must be unique so when applying saved state it propagates
properly. Currently there are issues if multiple steps have the same
name
- State versioning initial support:
- Processes with 1:1 step match previous and new version (step name
change and/or step logic change) - minor changes on process steps and
not in root process itself


Fixing #9358 

#### Out of scope but will be addressed in next PRs
    
- Processes with N:M steps (process flow changed and potentially also
step logic changed)
- New samples showcasing how to make use of N:M mapping

### Contribution Checklist

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

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

---------

Co-authored-by: Chris <[email protected]>
2024-11-05 18:38:04 +00:00
Roger Barreto 76e904c659 .Net: Address image base64 content example (#9540)
### Motivation and Context

Currently we do support binary image generation, but was lacking
examples how to do it in the `Concepts`. This PR adds concept tests and
resolves the issue.

- Resolves #6991
2024-11-05 18:24:47 +00:00
westey 8f81caff3c .Net: Update ONNX Rag sample to use vector store. (#9546)
### Motivation and Context

#9377

### Description

Update ONNX Rag sample to use vector store.

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-05 17:42:10 +00:00
SergeyMenshykh 113cea0967 .Net: revise public api surface of the rest-api model (#9549)
### Motivation and Context
Taking into account the plans to add REST API operation details to
KernelFunction.Metadata, it makes sense to review the REST API operation
model classes and ensure their surface is good enough to be publicly
exposed, making it easy for the SK team to develop them over time with
minimal or no breaking changes.

### Description  
1. Changes collections/dictionaries to their read-only equivalents to
prevent modifications - metadata is read-only.
2. Makes the constructors of REST API operation model classes internal,
allowing changes and development without the concern of introducing
breaking changes.

Closes: https://github.com/microsoft/semantic-kernel/issues/6884
2024-11-05 16:55:22 +00:00
westey 238c26d2cd .Net: Improve langchain interop sample further (#9472)
### Motivation and Context

The sample could be improved by having a common data model that matches
the one used in Lanchain, which also makes interoperable consumption of
the different collections easier.

#9013 

### Description

- Added Pinecone to samples
- Added factories that expose the same data type for all vector stores
- Added key mapping for Qdrant so that it can use the same data model

### Contribution Checklist

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

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-11-05 16:12:27 +00:00
793b65cd3f .Net: Add AudioTimestamp Property to GeminiPromptExecutionSettings (#9526)
### Motivation and Context

**Why is this change required?**
This change is required to enhance the functionality of audio processing
in the Semantic Kernel by allowing the inclusion of timestamps in audio
responses.

**What problem does it solve?**
It resolves the limitation of missing audio timestamp support in the
`GeminiPromptExecutionSettings`, which has been a significant blocker
for developers trying to utilize audio prompts effectively.

**What scenario does it contribute to?**
This contribution is particularly useful for applications that require
precise audio response management, enabling better synchronization and
analysis of audio data in real-time scenarios.

If it fixes an open issue, please link to the issue here.
#9500

### Description

This contribution adds a new feature that allows audio responses to
include timestamps, a crucial element for many applications. Here’s a
quick overview of what’s been implemented:

**New Property:** The `AudioTimestamp` property indicates whether the
audio response should include timestamps. When enabled, this property
will ensure that audio timestamps are included in requests to the model,
providing developers with the precise control they need for their
applications.

**Seamless Integration:** I conducted a thorough review of the existing
codebase to ensure that this new feature integrates smoothly without
disrupting current functionalities. This change is designed to be
backward-compatible, making it easier for developers to adopt.

**Future-Proofing:** By adding this property, we’re not just solving an
immediate need; we’re also paving the way for future enhancements in
audio processing capabilities within the Semantic Kernel framework.

### Contribution Checklist

- [Y] The code builds clean without any errors or warnings
- [Y] 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
- [Y] All unit tests pass, and I have added new tests where possible
- [Y] I didn't break anyone 😄

---------

Co-authored-by: Adit Sheth <[email protected]>
Co-authored-by: Mark Wallace <[email protected]>
Co-authored-by: Roger Barreto <[email protected]>
2024-11-05 15:13:04 +00:00