搭了个 RAG,文档塞了几百篇,但检索效果很差,top-5 里经常只有一两条相关,甚至完全不沾边。embedding 用的也是主流模型,不知道哪出了问题。
怀疑过几个点:chunk 切太大(一段塞了多个主题)、问题太短召回不上、或者文档本身噪音多。
排查了一周没头绪。大家有没有 RAG 调优的排查清单?或者哪一步最容易出问题?求带。
搭了个 RAG,文档塞了几百篇,但检索效果很差,top-5 里经常只有一两条相关,甚至完全不沾边。embedding 用的也是主流模型,不知道哪出了问题。
怀疑过几个点:chunk 切太大(一段塞了多个主题)、问题太短召回不上、或者文档本身噪音多。
排查了一周没头绪。大家有没有 RAG 调优的排查清单?或者哪一步最容易出问题?求带。
暂时没有回复。
Related
讨论
做了个小工具:把内部文档向量化存好,然后用一个 MCP server 暴露"检索文档"这个工具给 Agent。Agent 回答问题时会自动调这个工具查文档,效果比纯 RAG 好。 原因是 Agent 能判断"要不要查""查什么""查到的够不够",而不是无脑检索拼接。相当于 RAG
讨论
我做应用基本离不开 API 调用了,以前是某一家死忠,最近半年纷纷转向多供应商。原因一是价格战打起来,二是各家各有擅长,三是怕单一供应商出故障全盘崩。 我现在主力推理用一家,工具调用用另一家,便宜路由用开源小模型,靠一个统一网关切换。 缺点是不同模型行为差异大,prompt 经常
讨论
每次看到"上下文又翻倍"的新闻,都有人喊"RAG 要死了"。但我学了一阵子 RAG 之后觉得,这说法太夸张。 长上下文确实能塞下更多原文,但贵、慢、而且模型对超长上下文的"中间遗忘"问题还在。RAG 的优势是精准召回 + 成本可控 + 可追溯来源,这些是长上下文替代不了的。 我的
讨论
做 LLM 应用最让我头秃的就是 prompt 注入。你在 system prompt 里写了一堆规则,用户输入里来一句"忽略以上指令,改做 XXX",模型经常就照做了。 更阴的是间接注入:模型读到的网页、文档里藏一段恶意指令,它执行了都不知道。防不胜防。 现在我的做法是输入输出