使用 Foundry、Azure AI Search 和 C... 笔记

使用 Foundry、Azure AI Search 和 Cosmos DB 构建基于上下文的搜索代理,并通过 Docker 进行容器化部署,利用 Grafana 进行观测

为何“搜索”已不再足够一个简单的 RAG 流水线——对查询进行嵌入、检索向量索引、将前 k 个片段填入提示词——对于单轮 FAQ 机器人而言尚能胜任。但一旦需要以下能力,该方案便会失效:多轮对话记忆(例如“上个季度怎么样?”需要系统理解“上个季度”的具体指代) 是否执行搜索的决策(某些问题属于结构化数据查询,而非文档检索) 用户可验证的引用来源本文构建了一个虽小但完整的基于事实的搜索智能体:通过 Microsoft Foundry 调用 Azure OpenAI 以决定何时调用搜索工具,何时调用结构化数据工具;Azure AI Search 负责在非结构化文档上执行检索与语义排序;Azure Cosmos DB 则用于存储对话状态及结构化订单/客户元数据。该智能体利用 OpenAI 函数调用机制在两个数据源之间进行路由,并始终返回引用来源。