详细内容或原文请订阅后点击阅览
Agentic RAG:让代理搜索
一个最小的 OpenAI Agents SDK 实现,其中检索成为搜索-读取-决定循环Agentic RAG:让代理搜索首先出现在 Towards Data Science 上。
来源:走向数据科学应用程序是一个 RAG 应用程序。
秘诀很简单:分块、嵌入、检索,然后回答。
纸面上看起来很干净。但一旦你在实际案例中使用它,事情很快就会变得混乱:相似性搜索找到相似的措辞,但不一定是有用的块,正确的证据永远不会出现在检索到的上下文中,因为它的排名太低,或者重要的上下文可能会跨块边界分割。
由于背景不足,法学硕士几乎没有恢复的空间。
那么,我们让检索迭代怎么样?如果模型可以搜索、读取、判断是否有足够的证据,并在需要时再次搜索,会怎么样?也许我们一开始就不需要向量嵌入。
这就是代理 RAG 的前提。
在这篇文章中,我们将使用 OpenAI Agents SDK 构建一个迷你代理 RAG 工作流程。我们将研究代理如何迭代地搜索、读取和确定其答案。
最后,我们将退后一步,简要讨论构建实用的代理 RAG 解决方案的注意事项。
1. 案例研究:使用 Agentic RAG 回答政策问题
对于我们的案例研究,我们将基于公司策略文档集合构建一个策略 RAG 代理。
1.1 整理文档集
在这里,我创建了六个综合公司政策文档。它们都是 Markdown 文件。每一项都有标题、生效日期、简短摘要和政策文本。
实际上,这些文档涵盖了 6 个常见的公司政策领域:
1.2 定义代理
在较高层次上,代理就是这样:
