首页 > 其他分享 >如何使用Microsoft.KernelMemory来快速地构建和管理你的数据索引

如何使用Microsoft.KernelMemory来快速地构建和管理你的数据索引

时间:2023-11-15 13:47:46浏览次数:36  
标签:orchestrator 索引 KernelMemory 使用 var new Microsoft

Microsoft.KernelMemory是一个开源的服务和插件,专门用于通过自定义的连续数据混合管道对数据集进行高效的索引。

图标

描述已自动生成

利用先进的嵌入和LLM,系统可以使用自然语言对索引的数据进行查询,同时提供引用和链接到原始来源。

文本, 图标

中度可信度描述已自动生成

Microsoft.KernelMemory可以作为Semantic Kernel, Microsoft Copilot和ChatGPT的插件,与最流行的AI平台上构建的应用程序进行无缝集成,增强数据驱动的功能。

//项目地址:https://github.com/microsoft/kernel-memory

换句话说,Microsoft.KernelMemory能方便我们使用自然语言来管理和查询索引的数据信息,同时还能自定义每个步骤的处理逻辑及后端应用。

目前,Microsoft.KernelMemory支持以下后端:

  • 向量存储:Azure Cognitive Search、Qdrant
  • 内容存储:Azure Blobs、本地文件系统
  • 异步摄取队列:Azure Queues、RabbitMQ、本地文件基础队列

支持以下几种模式:

  • 服务模式:Microsoft.KernelMemory作为一个服务运行,可以吞吐数千个文档和信息,而不会阻塞你的应用程序。你可以使用MemoryWebClient来与服务进行通信,发送文档,查询和请求。
var client = new MemoryWebClient("http://localhost:5000");
  • 无服务器模式:可以将MemoryServerlessClient嵌入到你的应用程序中,直接在本地进行文档导入和查询。这种模式适合于小规模的数据集和快速的原型开发。
var memory = new KernelMemoryBuilder () .WithOpenAIDefaults(Env.Var("OPENAI_API_KEY"))    .Build();
  • 库模式:可以直接使用Microsoft.KernelMemory的核心类和接口,自定义你的数据管道和业务处理逻辑。这种模式适合于高度定制化的场景和高级用户。
var memoryBuilder = new KernelMemoryBuilder().WithOpenAIDefaults(Env.Var("OPENAI_API_KEY"));
memoryBuilder.Build();
var orchestrator = memoryBuilder.GetOrchestrator();
​
// Define custom .NET handlers
var step1 = new MyHandler1("step1", orchestrator);
var step2 = new MyHandler2("step2", orchestrator);
var step3 = new MyHandler3("step3", orchestrator);
await orchestrator.AddHandlerAsync(step1);
await orchestrator.AddHandlerAsync(step2);
await orchestrator

接下来,我们通过一个简单的Demo来了解它。扫个关注吧

标签:orchestrator,索引,KernelMemory,使用,var,new,Microsoft
From: https://www.cnblogs.com/anech/p/microsoft-kernelmemory-subject.html

相关文章

  • 习题选做索引
    这是我平时自学时候对一些书籍的习题的部分解答,方便的时候传到本站.一些早年做的可能以tex的形式公开在我的GitHub上,也不再特意花时间搬到这里了.可能有错误,如果你找到了可以尝试联系我,不过出于精力有限或者忘了学了啥,不一定会修复错误()《拓扑学》(Topology......
  • 索引的用法
    s='hellowrold'foriinrange(0,len(s)):#len()是计算序列s的长度函数,即h-d的字母个数print(i,s[i],end='\t\t')#第一个i是索引从0开始,到len(s)计算的个数结束;#s[i]是便利s序列中每个对应的元素,0是h,1是e以此类推......
  • SqlServer索引原理分析
     中小企业MIS系统的管理基本上由两大部份组成,一是前台的可视化操作,二是后台的数据库管理。网管对前台的管理和维护工作包括保障网络链路通畅、处理MIS终端的突发事件以及对操作员的管理、培训等,这是网管们日常做得最多、最辛苦的功课;然而MIS系统架构中同等重要的针对数据库的管......
  • 序列和索引
    序列是一个用于储存多个值的连续空间,每个值都对应一个整数的编号,称为索引。索引分为两种一种正向递增索引一种反向递减索引 正向递增索引:从左往右,从0开始,0,1,2,3,4,5,6.....以此类推反向递减索引:从右往左,从从-1开始,-n,-n+1,-n+2........-3-,2,-1  切片操作#序列[sta......
  • 数组直接通过索引修改属性值不能触发watch
    下面说法错误的是()Awatch监听对象必须设置deep:trueB数组直接通过索引修改属性值,能触发watch方法Cwatch内部可以写异步方法Dimmediate:true可以开启首次赋值监听正确答案:B因为没有getter和setter方法,所以数组直接通过索引修改属性值不能触发watchvue无法监听数组......
  • NLP技术如何为搜索引擎赋能
    在全球化时代,搜索引擎不仅需要为用户提供准确的信息,还需理解多种语言和方言。本文详细探讨了搜索引擎如何通过NLP技术处理多语言和方言,确保为不同地区和文化的用户提供高质量的搜索结果,同时提供了基于PyTorch的实现示例,帮助您更深入地理解背后的技术细节。关注TechLead,分享AI......
  • NLP技术如何为搜索引擎赋能
    在全球化时代,搜索引擎不仅需要为用户提供准确的信息,还需理解多种语言和方言。本文详细探讨了搜索引擎如何通过NLP技术处理多语言和方言,确保为不同地区和文化的用户提供高质量的搜索结果,同时提供了基于PyTorch的实现示例,帮助您更深入地理解背后的技术细节。关注TechLead,分享AI全......
  • IT服务台与Microsoft集成
    MicrosoftTeams旨在通过创建一个共享工作区,使组织中的协作更加轻松,用户可以在其中聊天、开会、共享文件和访问业务应用。为了实现这些数字工作空间的最大效率,这一点很重要,当出现问题时,IT服务台团队始终在前沿。ServiceDeskPlus的云版本现在可以与MicrosoftTeams集成,利用Micro......
  • 搜索引擎使用技巧
    使用引号:如果您想搜索一个确切的短语,可以将短语放在引号中,搜索引擎将只返回包含该短语的结果。排除特定词语:如果您希望搜索结果中不包含特定词语,可以在搜索词前加上减号“-”,搜索引擎将排除包含该词语的结果。使用站点限定符:通过在搜索词后加上"site:",您可以限定搜索结果来自......
  • Innodb索引数据结构灵魂拷问
    问题1:Innodb数据结构为什么要用B+树,如果比红黑树要好的话,为什么JavaHashMap不用B+树而用红黑树?如果数据全在内存的话,红黑树要比B+树好,查找次数比B+树要少很多,B+树适合磁盘IO,因为一次IO可以加载很多节点数据,查找次数虽多但IO次数少。红黑树是瘦长的,B+树是矮胖的。IO的次数取决于......