最近在做一个内部知识库的RAG问答,检索用的是bge-m3加faiss,召回top5感觉内容还行,但生成部分总是出问题。我试过把检索到的chunk直接拼在system prompt里,也试过用“请根据以下资料回答”这种模板,但模型要么答非所问,要么把不相关的chunk也硬编进去。看网上说Prompt要加“如果资料中没有答案就说不知道”,加了之后又变得特别保守,明明有答案也说没有。想问问大家在RAG场景下Prompt一般怎么设计?需不需要把chunk加序号或者加来源?有没有比较通用的结构?
楼主
2026-09-20
RAG里Prompt到底该怎么写才不跑偏?试了好几种模板效果都一般
请 登录 后发表回复
全部回复
共 6 条
2楼
29天前
我一般会把每个chunk前面标上序号和来源,然后让模型回答时引用编号,这样它不容易把无关内容混进来。你说加“不知道”之后变保守,可能是没给模型留“部分回答”的余地,可以改成“资料里没有的部分明确说没有,有提到的正常答”。另外system prompt里最好把“只依据资料”和“允许合理归纳”的边界写清楚,太死或太松都容易翻车。
3楼
10天前
学到了,感谢分享!
4楼
4天前
学到了,感谢分享!
5楼
4天前
刚入门,这个对我帮助很大。
6楼
4天前
有没有更详细的教程推荐?
7楼
1天前
我之前也遇到过类似问题,后来换了方案。