跳到主要内容

3 篇博文 含有标签「retrieval」

查看所有标签

生产环境中的 GraphRAG:当向量检索遇到瓶颈时

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的向量搜索在基准测试中表现出色,但用户依然感到沮丧。

失败模式非常微妙:用户询问“我们的哪些供应商卷入了影响与 Martinez 账户所在地区相同客户的事件?”你的嵌入模型检索到了事故记录。它们检索到了供应商合同。它们检索到了客户账户。但它们是以相互孤立的文档形式检索出来的,LLM 必须在上下文中理清这些关系——而这些关系横跨了实体图(entity graph)中的三个跳数(hops)。当每个查询涉及五个或更多实体时,如果没有关系结构,准确性会降至接近零。而有了关系结构,性能则保持稳定。

这正是知识图谱增强检索——GraphRAG——旨在解决的瓶颈。它不是向量搜索的直接替代品。它是一个具有不同成本结构、不同失败模式、以及在特定类别查询中具有压倒性优势的不同系统。

生产级检索技术栈:为什么纯向量搜索会失败以及应对策略

· 阅读需 15 分钟
Tian Pan
Software Engineer

大多数 RAG 系统在部署时都配备了向量数据库、几千个 embeddings,并假设语义相似度已经足够接近正确性。事实并非如此。这种“语义相似”与“实际正确”之间的差距,正是 73% 的 RAG 系统在生产环境中失败的原因,而且几乎所有这些失败都发生在检索阶段 —— 甚至在 LLM 生成任何文字之前。

“对文档进行嵌入、使用余弦相似度查询、将 top-k 传递给 LLM”的 standard playbook 在演示中有效,是因为演示查询是经过设计的。生产环境的查询则不然。用户搜索的是产品 ID、发票号码、监管代码、拼错的竞争对手名称,以及单个 embedding 向量在几何上无法满足的多重约束问题。稠密向量搜索并没有错 —— 只是它并不完整。构建一个在生产环境中真正起作用的检索栈,需要理解其中的原因,并层层加入能够弥补这些缺陷的组件。

Agentic RAG:当你的检索流水线需要一颗大脑时

· 阅读需 12 分钟
Tian Pan
Software Engineer

2024 年,90% 的智能体 RAG(Agentic RAG)项目在生产环境中失败了。原因并非技术本身存在缺陷,而是工程师们仅仅将向量搜索、提示词(prompt)和大语言模型(LLM)组合在一起,称之为检索管道并直接发布——却忽略了从查询到回答之间每一层累积的失败成本。

经典的 RAG 是一个确定性函数:嵌入查询 → 向量搜索 → 填充上下文 → 生成。它单向运行一次,没有反馈循环。当查询是针对分块良好的语料库进行简单的单步查找时,这种方式很有效。但当用户询问“比较这五份合同中的责任条款”或“总结自第三季度事故以来我们的基础设施配置发生了哪些变化”,或者任何需要先综合多份文档中的证据才能形成答案的问题时,它就会惨遭失败。