一、核心定位
在Microsoft Agent Framework(MAF)中,TextSearchProvider 是官方预定义的开箱即用RAG上下文提供器,属于AIContextProvider体系的核心实现,专门用于为ChatClientAgent快速接入检索增强生成能力,无需从零搭建RAG管道。
二、架构原理
ChatClientAgent的执行管道中,AIContextProvider中间件层专门负责输入增强,RAG作为典型的输入增强场景,正是通过TextSearchProvider在LLM调用前注入检索到的外部上下文,解决LLM知识固化、无法获取实时/私有数据的问题。
三、核心使用方式
配置检索时机:通过TextSearchProviderOptions设置SearchTime为BeforeAIInvoke,让每次AI调用前自动执行检索逻辑。
接入自定义检索逻辑:传入自定义的SearchAdapter方法,实现对接向量数据库、本地知识库等不同数据源的检索能力。
挂载到Agent:将TextSearchProvider实例添加到ChatClientAgent的AIContextProviders列表中,即可完成RAG能力的挂载。
四、运行模式
它支持两种运行模式:
每次Agent运行时结合对话历史自动执行检索,直接将结果注入上下文
对外暴露搜索工具函数,支持Agent按需主动触发检索操作
你可以参考完整实现教程:
[MAF预定义AIContextProvider-01]TextSearchProvider——RAG在MAF中的实现
MAF教学系列 #4:用 RAG 把“幻觉”关进笼子,让 AI 学会“引经据典”
需要我为你提供可直接运行的C#完整示例代码,帮你快速在MAF中接入RAG功能吗?