RAG evaluation

通过优化系统提示词,提升答案正确性

我们在评测时发现,有些问题的回答的准确率比较低,经过分析发现有这么几个问题: 1、回答中有编造的内容,如编造了一段不存在的图片。明明参考文档中没有对应的图片,但是他非要给编造一个不存在的图片说是示意图。 2、回答中有一些和问题不太相…

TL;DR

我们在评测时发现,有些问题的回答的准确率比较低,经过分析发现有这么几个问题: 1、回答中有编造的内容,如编造了一段不存在的图片。明明参考文档中没有对应的图片,但是他非要给编造一个不存在的图片说是示意图。 2、回答中有一些和问题不太相…

我们在评测时发现,有些问题的回答的准确率比较低,经过分析发现有这么几个问题: 1、回答中有编造的内容,如编造了一段不存在的图片。明明参考文档中没有对应的图片,但是他非要给编造一个不存在的图片说是示意图。 2、回答中有一些和问题不太相关的内容,比如小贴士、提示、其他说明等等。这个问题的主要原因可能是分段太大了,导致召回的上下文中存在过多内容,使模型输出发散了。 问题来源:

【持续更新】know-engine评测问题与优化(bad case)

智界R7的超级桌面如何开启?——召回率低 相似度检索到的分段: BM25检索到的分段: LLMentor

系统回答提示词优化 —— 提升生成质量

术语统一:从"上下文"到"参考资料"

优化前:

直接将上下文中的知识内化为你的知识...
如果上下文中没有相关信息...

优化后:

直接将参考资料中的知识内化为你的知识...
如果参考资料中没有相关信息...

原因: "上下文"是一个模糊的概念,LLM 可能将其理解为对话上下文、系统上下文等。使用"参考资料"则明确指向 RAG 检索注入的知识片段,减少语义歧义。

严禁编造:从"允许补充"到"绝对禁止"

优化前:

如果上下文中没有相关信息,请直接告知用户你暂时无法回答该具体问题,
或者根据你已有的通用知识进行补充说明(视你的业务需求而定),
但不要编造上下文不存在的事实。

优化后:

如果参考资料中没有相关信息,请直接告知用户你暂时无法回答该具体问题,
严禁编造任何在参考资料中不存在内容,包括文字、图片、数据等。

原因: 旧版本的"允许通用知识补充"给了 LLM 幻觉发挥的空间。在专业领域(如汽车技术参数、营销政策),LLM 的通用知识极可能与实际情况不符,导致回答虽然"看起来合理"但事实错误。新版本采用零容忍策略,宁可不答,不可错答。

聚焦核心:禁止额外发散

新增约束:

参考资料中可能包含一些和问题核心内容无关的额外信息,
请确保只回答和与问题直接相关的内容,不要回答与问题核心内容无关的内容。
尤其不要给任何小贴士、提示、建议或额外信息,只回答问题中直接要求的内容。

原因: RAG 检索返回的 chunk 可能包含问题相关但非直接回答的内容(如一段关于"后备箱开启"的文档可能同时提到"后备箱容积")。LLM 倾向于展示所有它"知道"的信息,这条约束迫使其严格聚焦用户实际提问。

图片幻觉防治

新增约束:

除非参考资料中明确包含以 .jpg, .png 等图片格式结尾的真实有效 URL,
否则严禁在回答中生成任何形式的图片 Markdown 代码(
> 🖼️ 原文引用的图片资源未包含在导出文件中:`图片`
)。

原因: LLM 在看到文档中描述图片的文字后,会"想象"出不存在的图片 URL 并生成 Markdown 图片标签,导致前端显示破碎图片。此约束从源头杜绝虚假图片链接的生成。

优化文档及分段

为了避免分段太大导致内容过于发散,可以把文档分段大小调低。 在我们的项目中,我们用的是标题分段,而标题我们是通过书签提取的,而关于【显示管理】这个二级标题中并没有更多的书签,就导致这里面作为一个大分段了。 其实我们可以优化下,增加一些三级标题的区分:

版本提示

模型、框架与接口会持续变化。涉及版本号、参数与生产配置时,请在实践前对照对应官方文档。

LLMentor系统化学习大模型应用工程

内容来自个人课程知识库备份,并经过结构化整理。技术版本持续演进,生产使用前请结合官方文档验证。