Skip to content

Commit 82f2442

Browse files
authored
.Net: Update SK to use MEVD packages and move MEVD projects out of main solution (#14117)
### Motivation and Context - The MEVD packages are not shipped from this repo anymore. ### Description - Moving the packages out of the main SK solution - Update all projects to use MEVD.Abstractions package directly - Revert some previous code changes to make the MEVD implementations compatible with the last MEVD.Abstractions package released from this repo. ### 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 😄
1 parent 88e1060 commit 82f2442

86 files changed

Lines changed: 135 additions & 4868 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/dotnet-build-and-test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,15 @@ jobs:
8181
- name: Build dotnet solutions
8282
shell: bash
8383
run: |
84-
export SOLUTIONS=$(find ./dotnet/ -type f -name "*.slnx" | tr '\n' ' ')
84+
export SOLUTIONS=$(find ./dotnet/ -type f -name "*.slnx" | grep -v "MEVD.slnx" | tr '\n' ' ')
8585
for solution in $SOLUTIONS; do
8686
dotnet build $solution -c ${{ matrix.configuration }} --warnaserror
8787
done
8888
8989
- name: Package install check
9090
shell: bash
9191
run: |
92-
export SOLUTIONS=$(find ./dotnet/ -type f -name "*.slnx" | tr '\n' ' ')
92+
export SOLUTIONS=$(find ./dotnet/ -type f -name "*.slnx" | grep -v "MEVD.slnx" | tr '\n' ' ')
9393
for solution in $SOLUTIONS; do
9494
dotnet pack $solution -c ${{ matrix.configuration }} --no-build --no-restore --output ./artifacts
9595
done
@@ -115,7 +115,7 @@ jobs:
115115
- name: Run Unit Tests
116116
shell: bash
117117
run: |
118-
export UT_PROJECTS=$(find ./dotnet -type f -name "*.UnitTests.csproj" | grep -v -E "(Experimental.Orchestration.Flow.UnitTests.csproj|Experimental.Assistants.UnitTests.csproj)" | tr '\n' ' ')
118+
export UT_PROJECTS=$(find ./dotnet -type f -name "*.UnitTests.csproj" | grep -v -E "(Experimental.Orchestration.Flow.UnitTests.csproj|Experimental.Assistants.UnitTests.csproj)" | grep -v "test/VectorData/" | tr '\n' ' ')
119119
for project in $UT_PROJECTS; do
120120
dotnet test -c ${{ matrix.configuration }} $project --no-build -v Normal --logger trx --collect:"XPlat Code Coverage" --results-directory:"TestResults/Coverage/" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.ExcludeByAttribute=GeneratedCodeAttribute,CompilerGeneratedAttribute,ExcludeFromCodeCoverageAttribute
121121
done

dotnet/Directory.Packages.props

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@
152152
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.2.0" />
153153
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="10.0.2" />
154154
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.2" />
155+
<PackageVersion Include="Microsoft.Extensions.VectorData.Abstractions" Version="10.1.0" />
155156
<!-- Test -->
156157
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
157158
<PackageVersion Include="Moq" Version="[4.18.4]" />
@@ -200,6 +201,16 @@
200201
<PackageVersion Include="Testcontainers.Redis" Version="4.6.0" />
201202
<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.1.2" />
202203
<PackageVersion Include="Qdrant.Client" Version="1.15.1" />
204+
<!-- VectorData Dependencies -->
205+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" Version="1.74.0-preview" />
206+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.CosmosMongoDB" Version="1.74.0-preview" />
207+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.CosmosNoSql" Version="1.74.0-preview" />
208+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.InMemory" Version="1.74.0-preview" />
209+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.PgVector" Version="1.74.0-preview" />
210+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Pinecone" Version="1.74.0-preview" />
211+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Qdrant" Version="1.74.0-preview" />
212+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Redis" Version="1.74.0-preview" />
213+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Weaviate" Version="1.74.0-preview" />
203214
<!-- Symbols -->
204215
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
205216
<!-- Toolset -->

dotnet/MEVD.slnf

Lines changed: 0 additions & 50 deletions
This file was deleted.

dotnet/MEVD.slnx

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<Solution>
2+
<Folder Name="/Solution Items/">
3+
<File Path="../.editorconfig" />
4+
<File Path="../.github/workflows/dotnet-format.yml" />
5+
<File Path="../.gitignore" />
6+
<File Path="../nuget.config" />
7+
<File Path="../README.md" />
8+
<File Path="Directory.Build.props" />
9+
<File Path="Directory.Build.targets" />
10+
<File Path="Directory.Packages.props" />
11+
<File Path="docs/EXPERIMENTS.md" />
12+
<File Path="global.json" />
13+
</Folder>
14+
<Folder Name="/Solution Items/nuget/">
15+
<File Path="nuget/icon.png" />
16+
<File Path="nuget/nuget-package.props" />
17+
<File Path="nuget/NUGET.md" />
18+
<File Path="nuget/VECTORDATA-CONNECTORS-NUGET.md" />
19+
</Folder>
20+
<Folder Name="/src/" />
21+
<Folder Name="/src/VectorData/">
22+
<File Path="src/VectorData/Directory.Build.props" />
23+
<Project Path="src/VectorData/AzureAISearch/AzureAISearch.csproj" />
24+
<Project Path="src/VectorData/Chroma/Chroma.csproj" />
25+
<Project Path="src/VectorData/CosmosMongoDB/CosmosMongoDB.csproj" />
26+
<Project Path="src/VectorData/CosmosNoSql/CosmosNoSql.csproj" />
27+
<Project Path="src/VectorData/InMemory/InMemory.csproj" />
28+
<Project Path="src/VectorData/Milvus/Milvus.csproj" />
29+
<Project Path="src/VectorData/MongoDB/MongoDB.csproj" />
30+
<Project Path="src/VectorData/PgVector/PgVector.csproj" />
31+
<Project Path="src/VectorData/Pinecone/Pinecone.csproj" />
32+
<Project Path="src/VectorData/Qdrant/Qdrant.csproj" />
33+
<Project Path="src/VectorData/Redis/Redis.csproj" />
34+
<Project Path="src/VectorData/SqliteVec/SqliteVec.csproj" />
35+
<Project Path="src/VectorData/SqlServer/SqlServer.csproj" />
36+
<Project Path="src/VectorData/Weaviate/Weaviate.csproj" />
37+
</Folder>
38+
<Folder Name="/test/" />
39+
<Folder Name="/test/VectorData/">
40+
<Project Path="test/VectorData/AzureAISearch.ConformanceTests/AzureAISearch.ConformanceTests.csproj" />
41+
<Project Path="test/VectorData/AzureAISearch.UnitTests/AzureAISearch.UnitTests.csproj" />
42+
<Project Path="test/VectorData/Chroma.UnitTests/Chroma.UnitTests.csproj" />
43+
<Project Path="test/VectorData/CosmosMongoDB.ConformanceTests/CosmosMongoDB.ConformanceTests.csproj" />
44+
<Project Path="test/VectorData/CosmosMongoDB.UnitTests/CosmosMongoDB.UnitTests.csproj" />
45+
<Project Path="test/VectorData/CosmosNoSql.ConformanceTests/CosmosNoSql.ConformanceTests.csproj" />
46+
<Project Path="test/VectorData/CosmosNoSql.UnitTests/CosmosNoSql.UnitTests.csproj" />
47+
<Project Path="test/VectorData/InMemory.ConformanceTests/InMemory.ConformanceTests.csproj" />
48+
<Project Path="test/VectorData/InMemory.UnitTests/InMemory.UnitTests.csproj" />
49+
<Project Path="test/VectorData/MongoDB.ConformanceTests/MongoDB.ConformanceTests.csproj" />
50+
<Project Path="test/VectorData/MongoDB.UnitTests/MongoDB.UnitTests.csproj" />
51+
<Project Path="test/VectorData/PgVector.ConformanceTests/PgVector.ConformanceTests.csproj" />
52+
<Project Path="test/VectorData/PgVector.UnitTests/PgVector.UnitTests.csproj" />
53+
<Project Path="test/VectorData/Pinecone.ConformanceTests/Pinecone.ConformanceTests.csproj" />
54+
<Project Path="test/VectorData/Pinecone.UnitTests/Pinecone.UnitTests.csproj" />
55+
<Project Path="test/VectorData/Qdrant.ConformanceTests/Qdrant.ConformanceTests.csproj" />
56+
<Project Path="test/VectorData/Qdrant.UnitTests/Qdrant.UnitTests.csproj" />
57+
<Project Path="test/VectorData/Redis.ConformanceTests/Redis.ConformanceTests.csproj" />
58+
<Project Path="test/VectorData/Redis.UnitTests/Redis.UnitTests.csproj" />
59+
<Project Path="test/VectorData/SqliteVec.ConformanceTests/SqliteVec.ConformanceTests.csproj" />
60+
<Project Path="test/VectorData/SqliteVec.UnitTests/SqliteVec.UnitTests.csproj" />
61+
<Project Path="test/VectorData/SqlServer.ConformanceTests/SqlServer.ConformanceTests.csproj" />
62+
<Project Path="test/VectorData/VectorData.ConformanceTests/VectorData.ConformanceTests.csproj" />
63+
<Project Path="test/VectorData/Weaviate.ConformanceTests/Weaviate.ConformanceTests.csproj" />
64+
<Project Path="test/VectorData/Weaviate.UnitTests/Weaviate.UnitTests.csproj" />
65+
</Folder>
66+
</Solution>

dotnet/SK-dotnet.slnx

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -121,24 +121,6 @@
121121
<Project Path="src/Connectors/Connectors.OpenAI.UnitTests/Connectors.OpenAI.UnitTests.csproj" />
122122
<Project Path="src/Connectors/Connectors.OpenAI/Connectors.OpenAI.csproj" />
123123
</Folder>
124-
<Folder Name="/src/VectorData/">
125-
<File Path="src/VectorData/Directory.Build.props" />
126-
<Project Path="src/VectorData/AzureAISearch/AzureAISearch.csproj" />
127-
<Project Path="src/VectorData/Chroma/Chroma.csproj" />
128-
<Project Path="src/VectorData/CosmosMongoDB/CosmosMongoDB.csproj" />
129-
<Project Path="src/VectorData/CosmosNoSql/CosmosNoSql.csproj" />
130-
<Project Path="src/VectorData/InMemory/InMemory.csproj" />
131-
<Project Path="src/VectorData/Milvus/Milvus.csproj" />
132-
<Project Path="src/VectorData/MongoDB/MongoDB.csproj" />
133-
<Project Path="src/VectorData/PgVector/PgVector.csproj" />
134-
<Project Path="src/VectorData/Pinecone/Pinecone.csproj" />
135-
<Project Path="src/VectorData/Qdrant/Qdrant.csproj" />
136-
<Project Path="src/VectorData/Redis/Redis.csproj" />
137-
<Project Path="src/VectorData/SqliteVec/SqliteVec.csproj" />
138-
<Project Path="src/VectorData/SqlServer/SqlServer.csproj" />
139-
<Project Path="src/VectorData/VectorData.Abstractions/VectorData.Abstractions.csproj" />
140-
<Project Path="src/VectorData/Weaviate/Weaviate.csproj" />
141-
</Folder>
142124
<Folder Name="/src/experimental/">
143125
<Project Path="src/Experimental/Orchestration.Flow.IntegrationTests/Experimental.Orchestration.Flow.IntegrationTests.csproj" />
144126
<Project Path="src/Experimental/Orchestration.Flow.UnitTests/Experimental.Orchestration.Flow.UnitTests.csproj" />
@@ -292,33 +274,4 @@
292274
<Project Path="src/Plugins/Plugins.UnitTests/Plugins.UnitTests.csproj" />
293275
<Project Path="src/Plugins/Plugins.Web/Plugins.Web.csproj" />
294276
</Folder>
295-
<Folder Name="/test/" />
296-
<Folder Name="/test/VectorData/">
297-
<Project Path="test/VectorData/AzureAISearch.ConformanceTests/AzureAISearch.ConformanceTests.csproj" />
298-
<Project Path="test/VectorData/AzureAISearch.UnitTests/AzureAISearch.UnitTests.csproj" />
299-
<Project Path="test/VectorData/Chroma.UnitTests/Chroma.UnitTests.csproj" />
300-
<Project Path="test/VectorData/CosmosMongoDB.ConformanceTests/CosmosMongoDB.ConformanceTests.csproj" />
301-
<Project Path="test/VectorData/CosmosMongoDB.UnitTests/CosmosMongoDB.UnitTests.csproj" />
302-
<Project Path="test/VectorData/CosmosNoSql.ConformanceTests/CosmosNoSql.ConformanceTests.csproj" />
303-
<Project Path="test/VectorData/CosmosNoSql.UnitTests/CosmosNoSql.UnitTests.csproj" />
304-
<Project Path="test/VectorData/InMemory.ConformanceTests/InMemory.ConformanceTests.csproj" />
305-
<Project Path="test/VectorData/InMemory.UnitTests/InMemory.UnitTests.csproj" />
306-
<Project Path="test/VectorData/MongoDB.ConformanceTests/MongoDB.ConformanceTests.csproj" />
307-
<Project Path="test/VectorData/MongoDB.UnitTests/MongoDB.UnitTests.csproj" />
308-
<Project Path="test/VectorData/PgVector.ConformanceTests/PgVector.ConformanceTests.csproj" />
309-
<Project Path="test/VectorData/PgVector.UnitTests/PgVector.UnitTests.csproj" />
310-
<Project Path="test/VectorData/Pinecone.ConformanceTests/Pinecone.ConformanceTests.csproj" />
311-
<Project Path="test/VectorData/Pinecone.UnitTests/Pinecone.UnitTests.csproj" />
312-
<Project Path="test/VectorData/Qdrant.ConformanceTests/Qdrant.ConformanceTests.csproj" />
313-
<Project Path="test/VectorData/Qdrant.UnitTests/Qdrant.UnitTests.csproj" />
314-
<Project Path="test/VectorData/Redis.ConformanceTests/Redis.ConformanceTests.csproj" />
315-
<Project Path="test/VectorData/Redis.UnitTests/Redis.UnitTests.csproj" />
316-
<Project Path="test/VectorData/SqliteVec.ConformanceTests/SqliteVec.ConformanceTests.csproj" />
317-
<Project Path="test/VectorData/SqliteVec.UnitTests/SqliteVec.UnitTests.csproj" />
318-
<Project Path="test/VectorData/SqlServer.ConformanceTests/SqlServer.ConformanceTests.csproj" />
319-
<Project Path="test/VectorData/VectorData.ConformanceTests/VectorData.ConformanceTests.csproj" />
320-
<Project Path="test/VectorData/VectorData.UnitTests/VectorData.UnitTests.csproj" />
321-
<Project Path="test/VectorData/Weaviate.ConformanceTests/Weaviate.ConformanceTests.csproj" />
322-
<Project Path="test/VectorData/Weaviate.UnitTests/Weaviate.UnitTests.csproj" />
323-
</Folder>
324277
</Solution>

dotnet/samples/Concepts/Concepts.csproj

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@
4949
<PackageReference Include="AWSSDK.Core" />
5050
<PackageReference Include="AWSSDK.SecurityToken" />
5151
<PackageReference Include="Grpc.Net.ClientFactory" />
52+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" />
53+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.CosmosMongoDB" />
54+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
55+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Qdrant" />
56+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Pinecone" />
57+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.PgVector" />
58+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Redis" />
59+
<PackageReference Include="SharpCompress" /> <!-- Pin to patched version; overrides transitive 0.30.1 from MongoDB.Driver (GHSA-6c8g-7p36-r338) -->
60+
<PackageReference Include="Snappier" /> <!-- Pin to patched version; overrides transitive 1.0.0 from MongoDB.Driver (GHSA-pggp-6c3x-2xmx) -->
5261
</ItemGroup>
5362

5463
<PropertyGroup>
@@ -71,17 +80,6 @@
7180
<ProjectReference Include="..\..\src\Connectors\Connectors.Onnx\Connectors.Onnx.csproj" />
7281
<ProjectReference Include="..\..\src\Connectors\Connectors.Ollama\Connectors.Ollama.csproj" />
7382
<ProjectReference Include="..\..\src\Connectors\Connectors.OpenAI\Connectors.OpenAI.csproj" />
74-
<ProjectReference Include="..\..\src\VectorData\AzureAISearch\AzureAISearch.csproj" />
75-
<ProjectReference Include="..\..\src\VectorData\CosmosMongoDB\CosmosMongoDB.csproj" />
76-
<ProjectReference Include="..\..\src\VectorData\Chroma\Chroma.csproj" />
77-
<ProjectReference Include="..\..\src\VectorData\InMemory\InMemory.csproj" />
78-
<ProjectReference Include="..\..\src\VectorData\MongoDB\MongoDB.csproj" />
79-
<ProjectReference Include="..\..\src\VectorData\Pinecone\Pinecone.csproj" />
80-
<ProjectReference Include="..\..\src\VectorData\PgVector\PgVector.csproj" />
81-
<ProjectReference Include="..\..\src\VectorData\Qdrant\Qdrant.csproj" />
82-
<ProjectReference Include="..\..\src\VectorData\Redis\Redis.csproj" />
83-
<ProjectReference Include="..\..\src\VectorData\SqliteVec\SqliteVec.csproj" />
84-
<ProjectReference Include="..\..\src\VectorData\Weaviate\Weaviate.csproj" />
8583
<ProjectReference Include="..\..\src\Experimental\Orchestration.Flow\Experimental.Orchestration.Flow.csproj" />
8684
<ProjectReference Include="..\..\src\Extensions\PromptTemplates.Handlebars\PromptTemplates.Handlebars.csproj" />
8785
<ProjectReference Include="..\..\src\Extensions\PromptTemplates.Liquid\PromptTemplates.Liquid.csproj" />

dotnet/samples/Concepts/Memory/HuggingFace_TextEmbeddingCustomHttpHandler.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Text.Json;
44
using Microsoft.Extensions.VectorData;
55
using Microsoft.SemanticKernel.Connectors.HuggingFace;
6-
using Microsoft.SemanticKernel.Connectors.SqliteVec;
6+
using Microsoft.SemanticKernel.Connectors.InMemory;
77
using Microsoft.SemanticKernel.Embeddings;
88

99
#pragma warning disable CS8602 // Dereference of a possibly null reference.
@@ -32,12 +32,11 @@ public async Task RunInferenceApiEmbeddingCustomHttpHandlerAsync()
3232
})
3333
);
3434

35-
var sqliteCollection = new SqliteCollection<string, Record>(
36-
"Data Source=./../../../Sqlite.sqlite",
35+
var inMemoryCollection = new InMemoryCollection<string, Record>(
3736
name: "Test",
3837
new() { EmbeddingGenerator = hf.AsEmbeddingGenerator() });
3938

40-
await sqliteCollection.UpsertAsync(new Record
39+
await inMemoryCollection.UpsertAsync(new Record
4140
{
4241
Id = "1",
4342
Text = "THIS IS A SAMPLE",

dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ApiService/ChatWithAgent.ApiService.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
<ItemGroup>
1515
<PackageReference Include="Aspire.Azure.AI.OpenAI" />
1616
<PackageReference Include="Aspire.Azure.Search.Documents" />
17+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" />
1718
</ItemGroup>
1819

1920
<ItemGroup>
2021
<ProjectReference Include="..\..\..\..\src\Agents\Core\Agents.Core.csproj" />
2122
<ProjectReference Include="..\..\..\..\src\Connectors\Connectors.AzureOpenAI\Connectors.AzureOpenAI.csproj" />
2223
<ProjectReference Include="..\..\..\..\src\Connectors\Connectors.OpenAI\Connectors.OpenAI.csproj" />
23-
<ProjectReference Include="..\..\..\..\src\VectorData\AzureAISearch\AzureAISearch.csproj" />
2424
<ProjectReference Include="..\..\..\..\src\Extensions\PromptTemplates.Handlebars\PromptTemplates.Handlebars.csproj" />
2525
<ProjectReference Include="..\..\..\..\src\Functions\Functions.Yaml\Functions.Yaml.csproj" />
2626
<ProjectReference Include="..\..\..\..\src\SemanticKernel.Abstractions\SemanticKernel.Abstractions.csproj" />

0 commit comments

Comments
 (0)