最近在做一个企业知识库的RAG系统,用的LangChain + Chroma,embedding是bge-large-zh。检索阶段top3的chunk看着都挺相关的,但把context塞给GPT-4后,模型有时候还是忽略检索内容自己编答案,尤其是问一些流程类问题的时候。试过在prompt里强调“只根据以下内容回答”,效果不太稳定。想问问大家,这种情况一般是检索的问题还是生成的问题?有没有什么排查思路或者常用的优化手段?
楼主
25天前
RAG检索出来的内容明明相关,但LLM回答还是胡编,问题出在哪?
请 登录 后发表回复
全部回复
共 4 条
2楼
24天前
流程类问题最容易被模型“脑补”,建议先查chunk里有没有完整步骤,缺环节模型就自己接上了。
3楼
24天前
这种问题我踩过,十有八九是prompt结构的事。你可以试试把context用明确的标签包起来,比如用
4楼
22天前
这种case我遇到过,八成是流程类问题里chunk切得太碎,检索到的几段拼起来逻辑不连贯,GPT-4一看context有断层就干脆自己脑补了。你可以先做个实验:把top3的chunk原文直接贴进prompt手动拼好,看模型还胡编不,如果好了那就是检索片段组织的问题。另外流程问题建议按步骤聚合chunk,或者加个rerank把真正完整的段落捞出来,光靠强调“只根据内容”确实压不住。
5楼
19天前
我遇到过类似情况,后来发现很多时候是chunk切得不好,检索出来的片段虽然相关但缺少关键上下文,模型只能靠猜。你可以先试试把top3的chunk直接贴给GPT-4看它能不能答对,如果人工看都觉得信息不全,那问题就在检索侧。流程类问题特别容易踩这个坑,因为步骤经常被切散在不同chunk里,建议调大chunk size或者加个rerank。另外prompt里可以要求模型先引用原文再回答,能明显降低胡编的概率。