--- title: "Generation" type: concept tags: [RAG, LLM, 问答生成] sources: [rag从入门到精通系列1-基础rag] last_updated: 2025-01-16 --- ## Definition Generation(生成阶段)是 RAG 管道的第三阶段,将用户问题与检索到的相关文档块组合成 Prompt,输入 LLM 生成带事实依据的答案。 ## Core Process ``` 问题 + Top-k 文档块 → PromptTemplate 组装 → LLM 生成 → 返回答案 ``` 1. **组装上下文**:将问题(Question)和检索到的文档块(Context)放入预定义的字典结构 2. **Prompt 模板**:通过 PromptTemplate 将问题+上下文组合成完整的 Prompt String 3. **LLM 生成**:将 Prompt 输入 LLM,LLM 基于检索到的知识生成回答 4. **可选链式组合**:使用 LangChain/LlamaIndex 的 Chain 将 Retrieval 和 Generation 串联为统一管道 ## Key Prompt Pattern ``` 你是一个问答助手。请根据以下参考资料回答用户问题。 如果参考资料中没有相关信息,请如实说明。 参考资料: {context} 用户问题:{question} 回答: ``` ## LangChain Chain LangChain 和 LlamaIndex 提供了 `RetrievalQA Chain` 等开箱即用的链,可将检索和生成过程自动化串联,避免手动拼装 Prompt。 ## Connections - [[Generation]] ← part_of ← [[RAG]] - [[Generation]] ← receives_input ← [[Retrieval]] - [[Generation]] ← uses ← [[Large-Language-Model]] - [[Generation]] ← uses ← [[Prompt]] ## Aliases - Answer Generation - RAG Generation - LLM Response Generation - 答案生成