RAG 设计问答
Q:RAG 和微调的区别是什么?
RAG 通过检索外部知识来增强模型回答,不需要修改模型参数。微调需要训练模型,成本更高。
选择 RAG 的场景:
- 知识频繁更新
- 需要引用来源
- 数据量大
- 需要快速迭代
选择微调的场景:
- 需要改变模型行为风格
- 特定领域术语
- 输出格式固定
Q:如何设计分块策略?
需要平衡块大小和语义完整性:
- 太小(<100 字):语义不完整,检索到也没用
- 太大(>1000 字):噪音多,精准度下降
- 适中(200-500 字):通常是最佳范围
常用方法:
- 按段落切分:保留自然语义边界
- 滑动窗口:保证块之间有重叠
- 语义切分:根据语义相似度判断切分点
Q:如何评估 RAG 效果?
核心指标:
- 检索准确率:检索到的内容是否相关
- 回答相关性:生成的回答是否解答了问题
- 幻觉率:回答中是否有检索内容不支持的信息
- 引用准确率:引用来源是否正确
评估方式:人工评估和自动评估结合。
Q:如何处理检索不到相关内容的情况?
需要设计兜底策略:
- 返回"根据现有知识库无法回答"
- 引导用户换一种问法
- 降级到模型通用知识回答(标注来源为模型知识)
- 推荐相关文档