作者小头像 Lv.1
51 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
45
6
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2026/10/23 03:05:50 最后回复 yd_297632924 2026/10/23 04:07:27 版块 华为开发者大赛
14 2 0
发布时间 2026/10/22 16:04:10 最后回复 yd_233443243 2026/10/23 09:38:15 版块 开发者空间
29 10 0
他的回复:
先说结论:RAG 减少幻觉,靠的不是"接了个向量库"这一步,而是把生成的依据从模型参数里挪到了上下文里,并且在"检索不到"时敢于拒答。前者解决"无中生有",后者决定"编得有多像真的"。下面把链路拆开说,顺带讲几个容易被忽略的坑。一、完整链路里真正起作用的是哪几步切块(chunk):按语义结构切(按标题/章节/条目),并把来源、章节标题、更新时间一起存成元数据。切得不好,后面全废——固定长度硬切会把一句话劈成两半,检索出来的是半句话。召回(retrieve):向量检索解决"语义相近但用词不同",BM25/关键词解决"专有名词、型号、错误码"这类精确匹配。工程上通常做混合召回,只用向量的话,型号、参数名这种 token 很容易召不回。重排(rerank):召回阶段追求"别漏"(取 top-50),重排阶段才追求"要准"(取 top-3~5)。用 cross-encoder 重排,收益往往比换更大的生成模型还明显。上下文组装:条数、顺序、去重都影响结果。长上下文有"中间遗失"问题——最相关的片段排在中间时,模型容易忽略它。把最相关的放开头和结尾,比塞满 20 个片段更有效。生成(generate):Prompt 里明确"仅依据给定材料作答,材料不足时回答『知识库中没有相关信息』",并要求逐句标注引用编号。这一条能显著压掉"检索到了但模型没用"的幻觉。二、RAG 自己也会产生幻觉,这才是很多人"上了 RAG 还是乱编"的原因:检索为空时模型仍会编:query 没命中任何片段,模型面对空上下文依然会按语言概率续写。必须加"无依据拒答"的门槛(相似度阈值、召回条数下限、或先让模型判断证据是否充分)。召回了但不相关:语义漂移,比如问"如何配置安全组",召回的是"安全组概述"。重排 + 阈值过滤能挡掉大部分。知识库本身有错或已过期:RAG 会把错误忠实地放大,甚至让错误看起来更有依据。所以知识库的版本、更新时间和责任人和检索链路同样重要。三、把幻觉率真正压下去的工程动作建一个带标注的问答评测集(几十到几百条就够起步),每次改切块策略、换模型、改 Prompt 都跑一遍回归,指标看 faithfulness(有据性) 和 answer relevancy,别只看"回答像不像"。加一道后置校验:把生成的答案与它引用的片段做一致性比对,对不上就打回重试或转人工,而不是直接返回。给答案附引用链接,让用户能自己核验——可核验本身就是降低"乱编"感知的最强手段。对高频问题做缓存/兜底:命中固定答案的直接返回,不进生成链路。四、在华为云上怎么落地检索侧可以用云搜索 CSS 的向量检索能力,或 GaussDB / RDS 的向量扩展;生成侧用 MaaS 的知识库(把文档切片、向量、检索、配好的 Prompt 一起管理);重排与离线评测可以放在 ModelArts 上跑流水线,把评测集、批量推理、指标对比做成常态化的模型迭代流程;线上问答的日志再回灌到 DLI 做效果分析,闭环迭代。一句话总结:RAG 把"闭卷考试"变成"开卷考试",但开卷也会翻错书。决定幻觉率的是召回和重排的质量,以及"没有依据时敢不敢拒答"的工程约束——只接一个向量库然后放任模型自由发挥,幻觉不会消失,只是换了个更容易被发现的形态。