Skip to content

RAG 设计问答 ​

Q:RAG 和微调的区别是什么? ​

RAG 通过检索外部知识来增强模型回答,不需要修改模型参数。微调需要训练模型,成本更高。

选择 RAG 的场景:

  • 知识频繁更新
  • 需要引用来源
  • 数据量大
  • 需要快速迭代

选择微调的场景:

  • 需要改变模型行为风格
  • 特定领域术语
  • 输出格式固定

Q:如何设计分块策略? ​

需要平衡块大小和语义完整性:

  • 太小(<100 字):语义不完整,检索到也没用
  • 太大(>1000 字):噪音多,精准度下降
  • 适中(200-500 字):通常是最佳范围

常用方法:

  • 按段落切分:保留自然语义边界
  • 滑动窗口:保证块之间有重叠
  • 语义切分:根据语义相似度判断切分点

Q:如何评估 RAG 效果? ​

核心指标:

  1. 检索准确率:检索到的内容是否相关
  2. 回答相关性:生成的回答是否解答了问题
  3. 幻觉率:回答中是否有检索内容不支持的信息
  4. 引用准确率:引用来源是否正确

评估方式:人工评估和自动评估结合。

Q:如何处理检索不到相关内容的情况? ​

需要设计兜底策略:

  1. 返回"根据现有知识库无法回答"
  2. 引导用户换一种问法
  3. 降级到模型通用知识回答(标注来源为模型知识)
  4. 推荐相关文档