RAG——检索增强生成(执行流程) 一、什么是RAGRAGRetrieval-Augmented Generation检索增强生成的基本思想为将传统的生成式大模型和实时信息检索技术相结合为大模型补充来自外部的相关数据和上下文来帮助大模型生成更加准确可靠的内容而非仅仅依赖训练知识。主要解决大模型幻觉问题。二、应用场景企业内部知识库问答公司规章制度、合同文档、技术手册、员工入职手册、运维文档员工对话机器人输入问题自动检索内部资料给出合规准确答复不用翻文件夹。智能客服产品说明书、常见故障排查、退换货规则、套餐业务资料入库用户提问自动检索对应话术机器人精准回复降低人工客服压力。文档阅读与总结助手MarkDown / Word / PDF / 网页 / 批量上传支持长文档摘要、重点提取针对整篇文件定向提问比如 “帮我找出这份合同里的违约条款”多份资料交叉对比、信息归纳。垂直行业专业领域问答法律法条、判例、合同模板检索AI 辅助写起诉状、合同审查医疗病历、诊疗指南、药品说明书检索辅助问诊与医嘱参考金融研报、财报、监管文件抓取入库智能投研、风险合规审查。等等三、执行流程典型的RAG有两个主要阶段索引阶段离线和检索阶段在线1、索引阶段加载文档。文档加载器类型Text File 纯文本文件。支持格式TXT、MD、HTML、PDFStructured Data 结构化数据。支持格式CSV、JSON、ExeclWeb Loaders 网页抓取加载器。定向爬取网页页面自动剔除广告、导航栏只提取正文内容。常配合Tavily搜索使用作为联网 RAG 的数据源入口。chunk 文档切分经过文档加载器解析原始文件提取各类文件中的有效正文内容统一转换为mdMarkdown格式标准文档针对格式化后的 MD 文档采用递归字符策略完成文本分片切割。一般这样切分[\n\n,\n,,。,,]分隔符按优先级从高到低依次为\n\n段落切分、\n单行切分、逗号切分、。句号切分、问号切分和兜底空字符切分切分过程配置两大核心参数chunk_size每个块的最大字符长度、chunk_overlap相邻块的重叠长度。Embedding 向量化使用bge-3等向量模型逐条对切分后的chunk文本进行语义编码把文字转换成计算机能够计算的形式将一段文本映射为一组高维浮点数向量通过计算向量空间距离判断两段文本语义相似度。向量存储将向量化后得到的高维向量、对应的 Chunk 原文片段、文档溯源元数据一同存入向量数据库并构建检索索引完成索引阶段全部离线预处理工作。常用向量数据库Milvus、Chroma、LlamaIndex2、检索阶段prompt 向量化用户输入问题后使用和索引阶段完全一致的bge-3向量模型对用户提问文本做语义编码生成查询向量。相似度匹配检索拿着生成好的查询向量在向量数据库中对比库内所有向量计算向量空间距离筛选出语义最相近的一批候选 chunk 片段。取出匹配度 Top-N 的 chunk按照相似度从高到低排序截取排名靠前的多条文档分片作为初步召回结果。Reranker 重排在初步检索完成后对候选结果进行二次排序优化。其目标不是扩大召回范围而是在已有候选集内提升排序质量和结果相关性。常用重排技术权重的重排归一化后再计算权重和 RRF 排名器1 / (k稠密向量的排名) 1 / (k稀疏向量的排名)生成最终Prompt提示词把经过重排筛选后的参考 chunk 上下文和用户原始提问按照固定模板拼接形成约束性 Prompt限定大模型只能依据提供的资料作答。LLM大模型生成回答将 Prompt 送入大语言模型流式输出最终答案返回给用户。