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 |
|