大模型相关知识记录
RAG(Retrieval-Augmented Generation)笔记
一、基本知识
-
定义
RAG(检索增强生成)是一种结合信息检索与文本生成的技术,通过从外部知识库中检索相关上下文,辅助大模型生成更准确、可靠的答案,尤其适用于私有数据或动态更新的知识场景。 -
核心组件
- 检索器(Retriever):从外部知识库中快速定位与问题相关的文档片段(如 FAISS、BM25、ElasticSearch)。
- 生成器(Generator):基于大语言模型(LLM),结合检索到的上下文生成最终答案(如 ChatGPT、Llama3)。
- 知识库:预先构建的向量化文档库(如 800+ 制度文档的 FAISS 数据库)。
-
核心优势
- 无需重新训练模型:直接利用外部知识,避免微调成本。
- 动态知识更新:仅需更新知识库,即可反映最新数据。
- 减少幻觉:通过明确的上下文约束生成结果,提高可信度。
二、典型流程
-
知识库构建阶段
- 文档预处理:清洗、分块(如按段落或固定长度切分)、去重。
- 向量化存储:使用 Embedding 模型(如 BERT、Sentence-BERT)将文档块编码为向量,并存入向量数据库(如 FAISS)。
-
检索阶段
- 用户输入问题后,通过检索器(如 FAISS 向量检索 + BM25 关键词检索)从知识库中召回 Top-K 相关文档片段。
- 可选:对检索结果进行重排序(如使用 Cross-Encoder 提升相关性排序)。
-
生成阶段
- 将检索到的文档内容与用户问题拼接为提示词(Prompt),输入大模型生成答案。
- 示例 Prompt 模板:
请基于以下文档内容回答问题: [检索到的文档内容] 问题:[用户输入]
-
后处理阶段(可选)
- 答案验证:检查生成内容是否符合检索文档中的事实。
- 答案精简:去除冗余信息,提升可读性。
三、可优化方向
-
检索优化
- 混合检索:结合语义检索(FAISS)与关键词检索(BM25),弥补单一方法的局限性。
- 分块策略:
- 使用滑动窗口分块(如 500 token 块大小 + 50 token 重叠),避免上下文断裂。
- 针对长文档,采用“段落级 + 章节级”多粒度检索。
- 重排序(Re-ranking):
- 使用 Cross-Encoder 模型(如 BERT-based 双塔模型)对 Top-K 结果二次排序。
-
生成优化
- Prompt 工程:
- 明确指令约束(如“仅基于提供的文档内容回答,若无相关信息则说明”)。
- 添加格式化模板(如 JSON、Markdown)。
- 模型选择:针对领域知识选择适配的 LLM(如领域微调模型)。
- Prompt 工程:
-
知识库优化
- 增量更新:设计自动化流程,实时/定期更新向量数据库。
- 去重与过滤:清理低质量或冗余文档,提升检索效率。
-
评估与监控
- 评估指标:
- 检索准确性:Recall@K、MRR(Mean Reciprocal Rank)。
- 生成质量:BLEU、ROUGE、人工评分(相关性、正确性)。
- 日志记录:跟踪用户问题、检索结果、生成答案,用于后续分析优化。
- 评估指标:
四、总结
RAG 是解决大模型知识边界限制和动态更新需求的关键方案,适用于企业知识库问答、政策解读、医疗咨询等场景。其核心价值在于通过“检索 + 增强生成”的流程,低成本实现个性化、可信的答案输出。优化时需关注检索精度、生成可控性、知识库维护三大方向,结合具体场景灵活调整技术细节。
示例场景:
- 输入问题:公司报销制度中,差旅费的审批流程是什么?
- RAG 处理:
- 从 FAISS 检索出制度文档中关于“差旅费审批”的段落。
- 将段落内容与问题输入 LLM,生成结构化流程描述。
- 输出答案:“根据《财务报销制度》第3.2条,差旅费需经部门主管审批后提交至财务部审核。”

浙公网安备 33010602011771号