You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Semantic Kernel V1.1.1内存组件异常,求最新版SK内存使用方案

最新版Semantic Kernel(SK)内存正确使用方法

关键改动点

  • SK 1.x及以上版本中,Kernel.Memory已废弃,需通过依赖注入获取ISemanticTextMemory接口实例
  • 嵌入服务与内存存储的注册方式更新,需使用标准DI扩展方法
  • SaveInformationAsync和SearchAsync的参数、返回类型有调整,需适配新API

完整可运行代码

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Memory;
using Microsoft.SemanticKernel.Embeddings;

var builder = Kernel.CreateBuilder();

// 注册文本嵌入生成服务(以TinyLlama为例,需确保对应NuGet包已安装)
builder.Services.AddSingleton<ITextEmbeddingGenerationService>(new TinyLlamaEmbeddingService());
// 注册临时内存存储(重启后数据丢失,生产环境可替换为持久化存储)
builder.Services.AddSingleton<IMemoryStore, VolatileMemoryStore>();
// 注册语义文本内存服务
builder.Services.AddSingleton<ISemanticTextMemory>(sp =>
    new DefaultSemanticTextMemory(
        sp.GetRequiredService<IMemoryStore>(),
        sp.GetRequiredService<ITextEmbeddingGenerationService>()));

var kernel = builder.Build();
var memory = kernel.Services.GetRequiredService<ISemanticTextMemory>();

string collection = "facts";

// 保存信息到内存
await memory.SaveInformationAsync(collection, text: "Cats are mammals.", id: "1");
await memory.SaveInformationAsync(collection, text: "Elephants have large ears.", id: "2");
await memory.SaveInformationAsync(collection, text: "Semantic Kernel enables .NET AI development.", id: "3");

Console.WriteLine("✅ Facts stored in memory.\n");

Console.WriteLine("🔍 Searching for: 'large animals'");
// 搜索相关内容
var results = memory.SearchAsync(collection, query: "large animals", limit: 3, minRelevanceScore: 0.7f);

await foreach (var result in results)
{
    Console.WriteLine($"→ {result.Metadata.Text} (Score: {result.Relevance:F2})");
}

注意事项

  • NuGet版本:必须安装最新稳定版Microsoft.SemanticKernel及相关依赖,避免版本冲突
  • 嵌入服务替换:若使用Azure OpenAI等云服务嵌入模型,替换为对应扩展方法(如AddAzureOpenAITextEmbeddingGenerationService),并配置API密钥、Endpoint
  • 内存存储选型:生产环境可使用Azure Cognitive Search、PostgreSQL等持久化存储,需安装对应SK扩展包并调整注册代码

内容的提问来源于stack exchange,提问作者goshan2011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:35:09