1.6 KiB
1.6 KiB
title, type, tags, last_updated
| title | type | tags | last_updated | |||||
|---|---|---|---|---|---|---|---|---|
| Generation | concept |
|
2025-01-16 |
Definition
Generation(生成阶段)是 RAG Pipeline 的第三步,将用户问题与 Retrieval 阶段检索到的相关文档块组合为 Prompt,输入 LLM 生成最终答案。
Process
- Context Assembly:将用户问题(Question)与 Top-k 个相关文档块(Context)放入字典结构:
{"question": ..., "context": ...} - Prompt Templating:通过 PromptTemplate 将 Question 和 Context 组合为结构化的 Prompt String
- LLM Inference:将 Prompt 输入 LLM,LLM 严格基于上下文中提供的信息生成答案
- Output Parsing:从 LLM 输出中提取纯字符串结果
Key Requirements for Generation
- Source Grounding:LLM 必须严格基于检索到的上下文生成,不能凭空发挥
- Answer Attribution:理想情况下应提供答案的来源引用(哪些文档块支持该答案)
In RAG Pipeline
- 上游:接收 Retrieval 阶段返回的文档块作为上下文
- 下游:输出最终答案给用户
Frameworks Simplify This
LangChain 和 LlamaIndex 将 Retrieval + Generation 封装为 RAG Chain(如 RetrievalQA Chain),只需几行代码即可完成端到端 Pipeline。
Related Concepts
- RAG — Generation 是 RAG Pipeline 的第三阶段
- Retrieval — Generation 的上游,提供上下文
- PromptTemplate — 组装 Question + Context 的模板技术
- Chain — LangChain 中串联 Retrieval 和 Generation 的抽象
- Large Language Model — 实际执行生成任务的模型