Skip to content

Commit 824db3b

Browse files
committed
[2025-06-02] v0.25.0 Upgrade for vector database, support for InMemory; update Sample for Embedding and RAG
1 parent 64e97fe commit 824db3b

File tree

5 files changed

+58
-8
lines changed

5 files changed

+58
-8
lines changed

Samples/Senparc.AI.Samples.Consoles/Program.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
Console.WriteLine("-----------------------");
5252
Console.WriteLine($"当前模型:{SampleSetting.CurrentSettingKey} - {SampleSetting.CurrentSetting.AiPlatform} - {SampleSetting.CurrentSetting.Endpoint}");
5353
Console.WriteLine($"当前 HttpClient 日志开关:{(SampleSetting.EnableHttpClientLog ? "开启" : "关闭")}");
54+
Console.WriteLine($"当前向量数据库设置:{SampleSetting.CurrentSetting.VectorDB.Type} {SampleSetting.CurrentSetting.VectorDB.ConnectionString}");
5455
Console.WriteLine("=======================");
5556
Console.WriteLine();
5657
Console.WriteLine("请输入序号,开始对应功能测试:");

src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.Memory.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public static IWantToRun MemorySaveInformation(this IWantToRun iWantToRun,
3737
return iWantToRun;
3838
}
3939

40+
[Obsolete("Please use new methods", true)]
4041
public static IWantToRun MemorySaveReference(this IWantToRun iWantToRun,
4142
string modelName,
4243
string collection,

src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using Microsoft.Extensions.VectorData;
1111
using Microsoft.SemanticKernel;
1212
using Microsoft.SemanticKernel.ChatCompletion;
13+
using Microsoft.SemanticKernel.Connectors.InMemory;
1314
using Microsoft.SemanticKernel.Connectors.Qdrant;
1415
using Microsoft.SemanticKernel.Connectors.Redis;
1516
using OllamaSharp.Models;
@@ -217,7 +218,6 @@ public static IWantToConfig ConfigVectorStore(this IWantToConfig iWantToConfig,
217218
}
218219
case VectorDB.VectorDBType.SqlServer:
219220
{
220-
221221
break;
222222
}
223223
case VectorDB.VectorDBType.SQLite:
@@ -226,14 +226,33 @@ public static IWantToConfig ConfigVectorStore(this IWantToConfig iWantToConfig,
226226
}
227227
case VectorDB.VectorDBType.Weaviate:
228228
{
229-
230229
break;
231230
}
232-
default:
231+
case VectorDB.VectorDBType.Faiss:
232+
{
233+
break;
234+
}
235+
case VectorDB.VectorDBType.InMemory:
236+
{
237+
servives.AddInMemoryVectorStore();
238+
break;
239+
}
240+
case VectorDB.VectorDBType.JDBC:
233241
{
234-
235242
break;
236243
}
244+
case VectorDB.VectorDBType.Pinecon:
245+
{
246+
break;
247+
}
248+
case VectorDB.VectorDBType.VolatileInMemory:
249+
{
250+
break;
251+
}
252+
default:
253+
{
254+
throw new ArgumentOutOfRangeException(nameof(vectorDb.Type), $"Unsupported VectorDB type: {vectorDb.Type}");
255+
}
237256
}
238257

239258
return iWantToConfig;
@@ -323,6 +342,28 @@ public static VectorStoreCollection<TKey, TRecord> GetVectorCollection<TKey, TRe
323342
case VectorDB.VectorDBType.Weaviate:
324343
{
325344

345+
break;
346+
}
347+
case VectorDB.VectorDBType.Faiss:
348+
{
349+
break;
350+
}
351+
case VectorDB.VectorDBType.InMemory:
352+
{
353+
vectorStore = new InMemoryVectorStore();
354+
collection = vectorStore.GetCollection<TKey, TRecord>(name, vectorStoreRecordDefinition);
355+
break;
356+
}
357+
case VectorDB.VectorDBType.JDBC:
358+
{
359+
break;
360+
}
361+
case VectorDB.VectorDBType.Pinecon:
362+
{
363+
break;
364+
}
365+
case VectorDB.VectorDBType.VolatileInMemory:
366+
{
326367
break;
327368
}
328369
default:

src/Senparc.AI.Kernel/Senparc.AI.Kernel.csproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33
<PropertyGroup>
44
<TargetFramework>netstandard2.1</TargetFramework>
5-
<Version>0.24.0</Version>
5+
<Version>0.25.0</Version>
66
<Nullable>enable</Nullable>
77
<LangVersion>12.0</LangVersion>
88
<AssemblyName>Senparc.AI.Kernel</AssemblyName>
@@ -57,7 +57,8 @@
5757
[2025-02-02] v0.23.0-beta1 Upgrade support for Ollama, finished test for DeepSeek-r1 and nomic-embed-text:v1.5
5858
[2025-05-10] v0.23.3 Support result.GetLastFunctionResultContent() function
5959
[2025-05-10] v0.23.4 Upgrade for Chat history limit
60-
[2025-06-01] v0.24.0 Upgrade for vector database; update Sample for Embedding and RAG
60+
[2025-06-01] v0.24.0 Upgrade for vector database, support for Qdrant; update Sample for Embedding and RAG
61+
[2025-06-02] v0.25.0 Upgrade for vector database, support for InMemory; update Sample for Embedding and RAG
6162
</PackageReleaseNotes>
6263
<RepositoryUrl>https://github.com/Senparc/Senparc.AI.Kernel</RepositoryUrl>
6364
<Configurations>Debug;Release;Test</Configurations>
@@ -78,6 +79,7 @@
7879
<PackageReference Include="Microsoft.Extensions.VectorData.Abstractions" Version="9.5.0" />
7980
<PackageReference Include="Microsoft.SemanticKernel" Version="1.54.0" />
8081
<PackageReference Include="Microsoft.SemanticKernel.Connectors.HuggingFace" Version="1.54.0-preview" />
82+
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" Version="1.54.0-preview" />
8183
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Ollama" Version="1.54.0-alpha" />
8284
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Qdrant" Version="1.54.0-preview" />
8385
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Redis" Version="1.54.0-preview" />

src/Senparc.AI/Interfaces/ISenparcAiSetting.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,16 +198,21 @@ public enum VectorDBType
198198
AzureAISearch,
199199
CosmosDBMongoDB,
200200
CosmosDBNoSQL,
201+
Chroma, //Planed
201202
Couchbase,
202203
Elasticsearch,
203-
Chroma, //Planed
204-
Milvus, //Planed
204+
Faiss,
205+
InMemory,
206+
JDBC,
207+
Milvus, //Planed (not included in https://learn.microsoft.com/en-us/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/inmemory-connector?pivots=programming-language-csharp)
205208
MongoDB,
209+
Pinecon,
206210
Postgres,
207211
Qdrant,
208212
Redis,
209213
SqlServer, //Planed
210214
SQLite,
215+
VolatileInMemory,
211216
Weaviate,
212217
Default = Redis,
213218
}

0 commit comments

Comments
 (0)