什么是 RAG?
RAG(Retrieval Augmented Generation,检索增强生成)是一种让大模型在回答问题时,先从外部知识库中检索相关信息,然后基于检索到的内容来生成答案的技术架构。
为什么需要 RAG?
大模型虽然知识丰富,但有两个根本性局限:
- ·知识截止日期:模型训练数据只到某个时间点,之后的新知识它不知道
- ·幻觉问题:对于不确定的信息,模型可能会编造答案
- ·缺乏私有知识:模型没有训练过企业的内部文档、个人数据
RAG 通过让模型在回答时"查资料"来解决这些问题。
RAG 的工作流程
第一步:知识库构建。将文档切分成小块,每块通过 Embedding 模型转换成向量,存入向量数据库。
第二步:检索。用户提问时,将问题也转换成向量,在向量数据库中搜索最相似的文档片段。
第三步:增强生成。将检索到的相关文档片段和用户问题一起组装成 Prompt,交给大模型生成回答。模型有了参考资料,回答就更准确、更可验证。
RAG 的应用场景
- ·企业知识库问答:将公司文档、制度、产品手册建库,员工随时提问
- ·客服系统:基于产品文档和 FAQ 库,提供准确的客户服务
- ·法律文书辅助:基于法律法规库,检索相关法条辅助分析
- ·学术研究:基于论文库,检索相关文献辅助写作
RAG vs 微调
RAG 适合需要频繁更新知识或依赖特定文档库的场景,而微调更适合让模型学习特定的输出风格和行为模式。在实际应用中,RAG 和微调经常组合使用。