大模型 RAG 优化之预生成qa对
1. 写在前面
检索增强生成 (Retrieval-Augmented Generation, RAG) 是一种将检索 (Retrieval) 和生成 (Generation) 相结合的技术,它利用检索到的相关信息来增强大型语言模型 (LLM) 的生成能力。传统的 RAG 系统通常直接使用用户输入的 query 在文档库中进行检索 (query-doc 检索),然后将检索到的文档作为上下文提供给 LLM 进行生成。
然而,这种直接的 query-doc 检索方式可能存在一些问题:
- 用户 query 表达能力有限:用户输入的 query 可能不够准确或完整,无法有效地表达其信息需求。
- query 和 doc 之间的语义鸿沟:用户 query 和文档之间可能存在语义鸿沟,即使是语义检索模型也难以完全弥合。
为了解决这些问题,我们可以采用一种新的检索策略:预生成候选 query 和 answer,将 query-doc 检索转换为 query-query 检索。
2. 预生成候选 query 和 answer 的方法
该方法的核心思想是:预先为文档库中的每个文档生成多个候选 query 和对应的 answer,然后将这些 query 和 an