|
RAG (Retrieval-Augmented Generation),检索增强生成 一、RAG架构核心组成
| |
|---|
| Retriever(检索器) | 负责从外部知识库中查找与用户问题相关的文档或片段(如向量数据库中的Top-k检索)。 | | Generator(生成器) | 通常是大型语言模型(如GPT、T5),利用检索到的信息生成最终回答。 | | Index(索引) | 检索系统的核心数据结构,用于快速查找文档。一般为向量索引。 | | Knowledge Base / Corpus(知识库 / 文档库) | 存储结构化或非结构化知识的内容集合,RAG系统会从中检索相关信息。 |
二、Embedding与向量检索
| |
|---|
| Embedding(嵌入表示) | | | Dense Retrieval(稠密检索) | 使用语义向量(如DPR、BERT)进行文本检索,优于传统TF-IDF方法。 | | Vector Store(向量数据库) | 用于存储文档向量的数据库,如FAISS、Pinecone、Milvus、Weaviate等。 | | ANN(Approximate Nearest Neighbor) | 一种高效查找相似向量的算法,常用于大规模向量检索。 |
三、检索技术
| |
|---|
| DPR(Dense Passage Retrieval) | Facebook提出的稠密检索方法,训练了Query Encoder和Passage Encoder。 | | BM25 | 一种经典的基于词频的稀疏文本检索算法,传统搜索引擎常用。 | | Hybrid Retrieval(混合检索) | 同时结合稀疏检索(如BM25)和稠密检索(如DPR)结果,提高召回率。 |
四、生成与上下文控制
| |
|---|
| Context Window(上下文窗口) | | | Chunking(分块) | 将长文档切分为小块(chunks)以适应检索与上下文窗口限制。 | | Top-k Retrieval | | | Prompt Engineering | 设计提示词,以更好地引导语言模型利用检索内容生成答案。 | | Grounding | 保证生成内容基于真实检索结果,而非幻想(hallucination)。 |
五、相关技术与模式
| |
|---|
| Reranking(重排序) | | | Query Expansion(查询扩展) | | | Multi-hop Retrieval | | | Fusion-in-Decoder(FiD) | Google提出的一种生成架构,融合多个检索文档到decoder中。 | | Retriever-Reader Architecture | |
六、RAG部署相关
| |
|---|
| Cold Start | | | Latency(延迟) | | | Caching | | | Incremental Indexing | |
|