Kernel Memory: 强大的AI驱动记忆系统

Ray

Kernel Memory简介

Kernel Memory(简称KM)是由微软开发的一个强大的多模态AI服务,专门用于高效索引和处理大规模数据集。它支持检索增强生成(RAG)、合成记忆、提示工程和自定义语义记忆处理等先进功能,为构建智能应用提供了强大的基础设施。

Kernel Memory架构图

KM可以作为Web服务、Docker容器、ChatGPT/Copilot/Semantic Kernel的插件,以及嵌入式.NET库等多种形式使用。它利用先进的嵌入和大型语言模型(LLM)技术,使用自然语言查询从索引数据中获取答案,并提供引用和原始来源链接。

Kernel Memory的主要特性

  1. 多模态数据处理:支持网页、PDF、图像、Word、PowerPoint、Excel、Markdown、文本、JSON、HTML等多种数据格式。

  2. 高级搜索能力:支持余弦相似度搜索和带过滤条件的混合搜索(AND/OR条件)。

  3. 广泛的语言支持:可以从任何编程语言、命令行工具、浏览器扩展、低代码/无代码应用、聊天机器人、助手等调用。

  4. 多种存储引擎:支持Azure AI Search、Elasticsearch、MongoDB Atlas、Postgres+pgvector、Qdrant、Redis、SQL Server等多种向量数据库。

  5. 灵活的文件存储:支持磁盘、Azure Blobs、AWS S3、MongoDB Atlas以及内存(易失性)存储。

  6. RAG和摘要生成:内置检索增强生成和文档摘要功能。

  7. OCR能力:通过Azure Document Intelligence支持光学字符识别。

  8. 安全过滤:提供内置的安全过滤机制。

  9. 大文档处理:支持异步处理大型文档,使用队列(如Azure Queues、RabbitMQ等)进行任务调度。

  10. 自定义存储模式:部分数据库支持自定义存储模式。

  11. 多向量数据库并发写入:支持同时写入多个向量数据库。

  12. 多种LLM支持:集成了Azure OpenAI、OpenAI、Anthropic、LLamaSharp(via llama.cpp)、LM Studio等多种大语言模型。

Kernel Memory的工作模式

KM提供了两种主要的工作模式:

1. 同步内存API(无服务器模式)

在这种模式下,KM可以嵌入到.NET后端/控制台/桌面应用程序中,以同步方式运行。这种方法也适用于ASP.NET Web API和Azure Functions。每个请求都会立即处理,但调用客户端需要负责处理瞬态错误。

同步内存API架构

2. 内存即服务 - 异步API

在这种模式下,KM作为一个异步的、可扩展的Web服务运行。这种模式特别适合以下场景:

  • 需要一个Web服务来导入数据并发送查询以获取答案
  • 应用程序使用TypeScript、Java、Rust或其他语言编写
  • 导入大型文档可能需要几分钟来处理,不希望阻塞用户界面
  • 需要内存导入独立运行,支持故障和重试逻辑
  • 想要定义混合多种语言(如Python、TypeScript等)的自定义管道

异步API架构

Kernel Memory与Semantic Memory的比较

Kernel Memory(KM)和Semantic Memory(SM)都是微软开发的内存系统,但它们有一些关键区别:

  1. KM是一个服务,而SM是一个库。
  2. KM支持多种数据格式,SM仅支持文本。
  3. KM提供更高级的搜索功能。
  4. KM可以从任何语言和平台使用,SM仅支持C#、Python和Java。
  5. KM支持更多的存储引擎和文件存储选项。
  6. KM提供RAG、摘要生成、OCR等额外功能。

快速开始使用Kernel Memory

要快速测试KM服务,可以使用以下Docker命令启动:

docker run -e OPENAI_API_KEY="..." -it --rm -p 9001:9001 kernelmemory/service

如果需要使用自定义设置和服务(如Azure OpenAI、Azure Document Intelligence等),可以创建一个appsettings.Development.json文件覆盖默认值,或使用包含的配置向导:

cd service/Service
dotnet run setup

然后使用以下命令启动Docker镜像:

docker run --volume ./appsettings.Development.json:/app/appsettings.Production.json -it --rm -p 9001:9001 kernelmemory/service

使用Kernel Memory的Web服务

使用MemoryWebClient可以轻松地与KM Web服务交互:

var memory = new MemoryWebClient("http://127.0.0.1:9001");

// 导入文件
await memory.ImportDocumentAsync("meeting-transcript.docx");

// 导入文件并指定文档ID、用户和标签
await memory.ImportDocumentAsync("business-plan.docx",
    new DocumentDetails("user@some.email", "file001")
        .AddTag("collection", "business")
        .AddTag("collection", "plans")
        .AddTag("fiscalYear", "2023"));

自定义内存摄取管道

KM允许自定义数据处理管道:

var memoryBuilder = new KernelMemoryBuilder()
    .WithoutDefaultHandlers()
    .WithOpenAIDefaults(Environment.GetEnvironmentVariable("OPENAI_API_KEY"));

var memory = memoryBuilder.Build();

// 插入自定义.NET处理程序
memory.Orchestrator.AddHandler<MyHandler1>("step1");
memory.Orchestrator.AddHandler<MyHandler2>("step2");
memory.Orchestrator.AddHandler<MyHandler3>("step3");

// 使用自定义处理程序导入文档
await memory.ImportDocumentAsync(
    new Document("mytest001")
        .AddFile("file1.docx")
        .AddFile("file2.pdf"),
    steps: new[] { "step1", "step2", "step3" });

Kernel Memory的应用场景

KM可以应用于多种AI驱动的应用场景,包括但不限于:

  1. 智能文档检索系统
  2. 自动问答系统
  3. 知识管理平台
  4. 智能客户服务
  5. 个性化推荐系统
  6. 数据分析和洞察生成
  7. 自动摘要生成
  8. 多语言内容处理
  9. 法律和合规文档分析
  10. 研究和学术文献管理

结论

Kernel Memory为构建智能、高效的AI应用提供了强大的基础设施。它的灵活性、可扩展性和丰富的功能使其成为各种应用场景的理想选择。无论是构建简单的问答系统,还是复杂的知识管理平台,KM都能提供所需的工具和能力。

随着AI技术的不断发展,像Kernel Memory这样的系统将在未来的智能应用中扮演越来越重要的角色。开发者和企业可以利用KM的强大功能,创建更智能、更高效的应用,为用户提供更好的体验。

🔗 相关链接:

通过深入了解和使用Kernel Memory,开发者可以将AI的力量注入到各种应用中,开启智能应用开发的新篇章。无论您是AI专家还是刚刚开始探索这一领域,Kernel Memory都为您提供了一个强大而灵活的工具,助您实现AI驱动的创新.

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号