RAG模型
一,RAG模型的3个核心
1.Retriever第一阶段
(1)语义检索:
负责从数据集中检索出与查询相关的数据,如关键词匹配,相似度等查询。
支持模糊查询和长尾问题,例如:“治疗糖尿病的最新药物是什么?”
(2)高效索引:
使用向量数据库(如FAISS、Pinecone、Milvus)构建文档索引,支持快速最近邻搜索(ANN),在毫秒级返回相关文档。
(3)混合检索策略:
结合稀疏检索(如BM25,基于关键词统计)和稠密检索(基于语义向量),平衡精度与效率。
2.Generator第二阶段
负责基于Retriever检索到的相关信息,生成自然、连贯且知识丰富的文本,用于计算查询与文档的匹配分数。
(1)信息融合:
接收Retriever返回的多个相关文档片段,整合信息生成答案。
处理矛盾或重复内容(如不同来源的冲突信息)。
(2)可控生成:
通过提示词(prompt)或控制令牌(control tokens)引导生成方向(如指定回答长度、风格)。
支持生成结构化文本(如JSON、表格)。
(3)上下文建模:
理解对话历史或长文本上下文,生成符合场景的回复。
(4)混合检索策略:
结合稀疏检索(如BM25,基于关键词统计)和稠密检索(基于语义向量),平衡精度与效率。
3.Ranker第三阶段
负责对Retriever返回的多个相关文档或段落进行精细排序,以便Generator能够基于最相关、最权威的信息生成答案。
(1)相关性排序:
对Retriever返回的候选文档按与查询的相关性从高到低排序。
区分文档质量(如学术论文的引用次数、新闻的时效性)。
(2)上下文理解:
评估文档间的逻辑关系和互补性(如多个文档是否覆盖查询的不同方面)。
避免信息重复或矛盾(如不同来源的冲突数据)。
(3)动态调整:
根据用户反馈或生成结果优化排序策略(如多轮对话中的上下文累积)。。