跳到主要内容

3 篇博文 含有标签「information-retrieval」

查看所有标签

多语言 RAG 检索鸿沟:为什么跨语言查询会悄无声息地破坏你的向量搜索

· 阅读需 14 分钟
Tian Pan
Software Engineer

一个团队构建了一个 RAG 系统。英语检索召回率达到了 94%。他们发布了产品。三个月后,来自法国和德国用户的支持工单堆积如山——聊天机器人不断返回无关结果或根本没有结果。工程师们查看他们的监控仪表盘。整体召回率:91%。看起来一切正常。

语料库是英语。嵌入模型(Embedding model)仅支持英语。用户则不然。每一个法语查询都被嵌入到一个向量空间中,而这个空间的设计初衷从未考虑过与它所检索的英语文档共享坐标。余弦相似度并不低——但它们在几何上毫无意义。而且因为聚合指标掩盖了分布问题,在用户大声抱怨之前,这个问题是不可见的。

这就是多语言 RAG 检索差距,也是服务于非英语受众的生产级 AI 系统中最常见的静默失败模式之一。

重排序才是核心:为什么检索系统的瓶颈从来不在索引

· 阅读需 12 分钟
Tian Pan
Software Engineer

构建 RAG 系统的团队几乎普遍都会遇到同样的瓶颈:他们花一周时间调整 HNSW 索引参数,添加乘积量化(product quantization),将 recall@100 从 0.81 提高到 0.87 —— 然后发现 LLM 的输出质量几乎没有任何改观。投入数月努力所基于的假设是:更好的索引等于更好的回答。事实并非如此。瓶颈从来不在索引上。

真正的卡点在于候选集与上下文窗口(context window)之间的重排序(ranking)步骤。你喂给 LLM 的内容决定了它的输出,而重排序的工作就是确保那些真正相关的文档,而不仅仅是语义上最相似的文档,能够进入上下文。这种区别比你调整的任何 HNSW 配置都更重要。

大规模语料库策展:为什么你的 RAG 质量上限取决于你的文档质量下限

· 阅读需 12 分钟
Tian Pan
Software Engineer

在大多数 RAG 架构中都存在这样一种信念:如果检索返回了正确的区块(chunks),LLM 就会生成正确的答案。团队在嵌入模型选择、混合检索策略和重排序流水线方面投入了巨资。然而,在部署到生产环境三个月后,回答质量悄然下降——这不是因为模型变了,也不是因为查询模式发生了剧变,而是因为底层的语料库腐烂了。

企业级 RAG 的实施失败率约为 40%,而从业者最容易低估的失败模式既不是幻觉,也不是检索召回率低,而是文档质量。一项分析发现,通过引入文档质量评分,一个实施方案在不改变嵌入模型或检索算法的情况下,将搜索准确率从 62% 提高到了 89%。语料库是唯一的变量。语料库一直都是变量。