30

RAG系统的检索质量如何优化?有哪些提升Recall和Precision的技巧?

RAG检索增强生成困难

📋 面试问题

RAG系统的检索质量如何优化?有哪些提升Recall和Precision的技巧?

✅ 期望回答

提升Recall(召回更多相关内容):
  • 混合检索:Dense(Embedding)+ Sparse(BM25关键词)结合,互补语义匹配和关键词匹配
  • 多通道检索:Query并行搜索多个知识库(文档库、FAQ库、API文档库),合并去重
  • Query改写/扩展:用LLM将简短Query改写为多个子Query(Multi-Query),或HyDE(先假设答案再用答案检索)
  • 父文档检索:用小粒度块做检索,返回大粒度父文档块作为上下文

提升Precision(减少无关内容):
  • Reranker:粗召回后加精排(Cohere Rerank、BGE-Reranker交叉编码器),从Top-50中选出Top-5最相关的
  • 元数据过滤:检索时按时间、类别、来源、标签过滤(Qdrant/Milvus支持)
  • 多向量表示:对文档的不同部分(标题、摘要、正文)用不同权重或单独的Embedding
  • 上下文压缩:用LLM压缩检索到的文档(去除无关信息后拼接),减少不相关信息的干扰

工程实践:建立RAG评估数据集 -> 记录每次改动的Recall@k -> 持续监控
#RAG优化#Recall#Precision