RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构。
大模型需要 RAG 进行检索优化,是因为大模型存在一些缺点:
1. 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。
2. 知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。
3. 输出难以解释和验证,存在内容黑盒、不可控及受幻觉问题干扰的情况。
4. 容易泄露隐私训练数据。
5. 规模大,训练和运行成本高。
RAG 具有以下优点:
1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。
2. 数据库的数据更新敏捷,可解释且不影响原有知识。
3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。
4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。
5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。
RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt 中,提交给大模型,此时大模型的回答会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。
RAG 由一个“检索器”和一个“生成器”组成,检索器从外部知识中快速找到与问题相关的信息,生成器利用这些信息来制作精确和连贯的答案,非常适合处理需要广泛知识的任务,如问答系统,能够提供详细而准确的回答。
2024-12-19