Complete RAG PipelineRetrieve → Augment → Generate 完整全流程详解RAG Retrieval-Augmented Generation检索增强生成用来解决大模型知识过时、幻觉、私有资料无法读取三大痛点。 标准流水线固定三段式Retrieve检索→ Augment上下文增强→ Generate生成回答结合你上面那段 Python 代码同步讲解。一、总流程逻辑用户提问 → 向量数据库召回相关文档片段 → 把文档拼进 Prompt 作为参考上下文 → 交给 LLM 依据参考资料输出答案 核心目的不让模型凭空编造所有回答严格依托私有知识库。1. Retrieve 检索阶段召回资料作用把用户自然语言问题转换成向量在向量库中匹配相似度最高的知识库片段拿到参考素材。分步执行Embedding 向量化使用嵌入模型如 all-MiniLM将用户问题文本转为浮点向量数组python运行query_embedding model.encode(user_question).tolist()向量库语义检索ChromaDB向向量集合发起查询返回 Top-N 最相似片段示例取 3 条python运行results collection.query( query_embeddings[query_embedding], n_results3 )query_embeddings接口要求向量数组单向量需套[]n_results3召回 3 段相关性最高的文档块分离文本与元数据python运行retrieved_chunks results[documents][0] # 检索到的文本内容 metadatas results[metadatas][0] # 文档来源、章节等信息阶段产出若干段和用户问题强相关的知识库文本 每段文档的来源标记用于文末引用2. Augment 上下文增强阶段构造限定 Prompt作用把上一步检索到的文档格式化拼接进提示词给大模型提供专属参考上下文同时设置规则约束模型输出。两步构成System Prompt User Prompt1System Prompt 系统指令全局约束规则固定规则全程控制模型行为python运行system_prompt You are TechCorps helpful AI assistant. Answer ONLY based on the provided context. If the answer is not in the context, say: I dont have that information in the provided documents.核心约束仅能使用下文给出的文档作答无对应信息禁止编造统一固定话术回复杜绝幻觉2拼接上下文文本标准化格式化检索片段区分不同文档方便模型阅读python运行context_text Context from TechCorp documents:\n\n for i, chunk in enumerate(retrieved_chunks, 1): context_text f[Document {i}]\n{chunk}\n\n输出格式示例plaintextContext from TechCorp documents: [Document 1] 员工数据安全规范... [Document 2] 公司存储权限规则...3组装完整用户输入 Prompt把上下文、用户原始问题合并引导模型输出答案python运行user_prompt f{context_text}\nQuestion: {user_question}\n\nAnswer:阶段产出一套完整、带私有知识库参考、带行为约束的对话 Prompt3. Generate 生成阶段调用大模型输出答案作用将 system user 两段提示词封装为标准对话消息调用 LLM 生成依托文档的回答最后附加文档来源引用。分步执行组装 OpenAI 标准对话消息格式python运行messages [ {role: system, content: system_prompt}, {role: user, content: user_prompt} ]调用大模型客户端推理python运行response client_llm.invoke(messages) answer response.content文档来源去重、添加引用标注python运行sources [meta[source] for meta in metadatas] unique_sources list(set(sources)) # set自动去重 final_response f{answer}\n\n Sources: {, .join(unique_sources)}阶段产出最终完整回答模型答案 参考文档来源列表方便溯源校验三、三段式流水线核心价值对比表格阶段解决什么问题关键输出Retrieve海量知识库快速找到和问题相关内容降低上下文长度相关文档片段 chunksAugment规范输入格式、约束模型强制模型以知识库为依据带参考资料的完整 PromptGenerate基于给定资料生成通顺、合规、可溯源的回答带引用的最终答案四、整体优缺点优势支持私有知识库企业文档、本地文件、内部手册不依赖模型训练数据实时更新资料无需微调模型成本低大幅降低大模型幻觉可标注文档来源便于核对局限检索质量决定最终效果召回无关文档会误导模型存在上下文长度限制检索过多片段会超出 LLM 窗口上限五、简易调用演示python运行# 调用整条RAG流水线 result rag_pipeline(Whats the company data storage rule?) print(result)控制台完整输出流程打印用户问题打印检索日志展示召回的文档名称与章节打印上下文构建完成提示调用模型生成答案输出回答 文末引用来源