腾讯优图实验室打造的RAG技术栈,融合了语义检索、结构化表检索和图检索三大能力,为产业智能化升级提供了全栈解决方案。本教程将带你逐步解析其核心技术的设计思路与实践方法,从基础模型训练到复杂查询推理,帮助你全面理解并应用这一前沿技术。
一、语义检索:Embedding与Reranker模型
语义检索是RAG系统的基础,其核心在于Embedding模型将文本转化为向量,以及Reranker模型对检索结果进行精排。下面我们深入剖析其训练策略与优化技巧。
1.1 Embedding模型:多阶段训练与数据工程
我们采用多阶段训练策略,从弱监督到有监督,逐步提升向量模型的判别能力。
1.1.1 训练策略
- 弱监督对比学习训练:通过批次内负样本共享和跨设备负样本共享技术,每个查询文本对应多达6万个负样本,极大增强向量模型的判别能力。
- 有监督对比学习训练:
- 优化数据采样方法,使跨设备共享的负样本来源于同一个子数据集,保证难负样本的质量和难度一致性。
- 在输入文本中加入特定任务的指令词,进行指令感知的对比学习,使模型能根据不同任务调整语义匹配策略,提升动态检索能力。
1.1.2 精细化数据工程
训练数据的规模和质量对模型效果至关重要。我们通过以下流程构建高质量训练数据:
- 数据构造流程:
- 构建(问题,相关文档)的文本对:收集开源问答对数据,或利用大语言模型为文档生成高质量问题。
- 挖掘难负样本:构建两千万规模的文本语料库,通过扩大语料库、构建特定行业语料库、利用LLM识别假负样本,优化负样本质量。
- 数据质量控制(见图1.2):借助Reranker模型对训练语料进行筛选和重组:
- 剔除相关性分数极低的伪正例。
- 基于相关性分布,过滤简单负样本。
- 识别强负例挖掘过程中的潜在正样本并进行替换。
小提示:数据质量控制中的Reranker评分会应用于编码器的更新过程,实现label层面的知识蒸馏,这是提升模型上限的关键一步。
图1.2 质量控制逻辑示意图
1.1.3 多任务均衡配置
为解决不同任务属性和领域数据之间的冲突,我们设计了联合训练方案:
- 数据统一化:将语料划分为IR(信息检索)和STS(文本语义相似性)两大类,采用统一格式混合加载。
- 动态采样器:保证一次迭代中多个GPU获取的样本严格出自同一数据集,并支持差异化batch size以平衡更新次数。
- 任务特定指令及损失:为STS和IR两类任务设计不同损失函数,同时配置个性化指令以灵活应对下游任务。
- 模型融合策略:精调结束后,选取不同训练轨迹得到的模型,通过权重融合进一步增强网络表现。
1.1.4 任务定制损失
损失函数需贴近任务评价指标:
- STS任务:采用Spearman相关系数,引入顺序性损失(逆序对、分数差异性)捕获细粒度语义区别。
- IR任务:采集充分多的负样本,同时扩大query和所有正样本之间的相似度分数,增强判别能力。
1.1.5 模型效果
我们的apd-embedding-2b模型在C-MTEB基准测试中,中文IR和STS任务均取得SOTA结果。以2B参数量超越竞品4B、8B模型,具体数据见下表:
(注:实际测试数据已在原文图表中展示)
常见问题:
Q:为什么需要多任务联合训练?
A:不同任务(如检索STS与检索IR)对向量分布的要求不同,单独训练可能导致模型偏科。多任务联合训练通过动态采样器与任务特定损失,让模型同时学会细粒度区分和高位优先排序,避免强制适配时的性能损失。
1.2 Reranker模型:基于LLM的重排序与蒸馏
向量模型无法直接捕捉查询与文档间的微妙关联,需要Reranker模型进行精排。我们将Reranker升级为LLM,并引入分层知识蒸馏。
1.2.1 升级为LLM模型
传统Reranker(如BGE-Reranker-large)参数量小、输入长度有限。改用LLM后,能够发挥对复杂问题和文档的理解能力,支持更长的文本(8k及以上),并可通过指令适应不同场景。
业务数据评测显示,LLM基座的Reranker效果显著提升。
1.2.2 分层知识蒸馏损失
除了对比学习损失,我们使用更强大的LLM作为教师模型,对Reranker的多个Transformer层输出添加约束,构建分层知识蒸馏损失。这种策略强化模型在不同深度层给出较一致的查询-文档相似度分数,用户可选择不同层输出以权衡性能与速度。
图1.4 分层知识蒸馏损失策略
1.2.3 高质量业务训练数据构造
针对特定业务场景缺乏标注数据的问题,我们构建了自动化数据构造流程:
- Query预处理(可选):对复杂问题拆解,进行第一轮文档检索,去除无效Query。
- Query实体识别:识别有效实体(客观实体、时间实体)。
- 文档实体召回:判断文档是否包含Query中的实体,给出打分(0或1)。
- 文档初筛:筛除实体召回均为0的文档(作为简单负例)。
- 文档精评分:用LLM对初筛后的文档结合Query给出相关性打分。
- 分数校准:根据实体召回评分校准,缓解LLM幻觉。
- 自适应正负例筛选:按分数分布选取正例(高分突出时≤10个,高分均衡时取最大分),按比例确定负例,保留难负例。
图1.5 高相关性数据筛选流程
该流程已针对业务场景精调验证,效果显著优于线上版本。
二、结构化信息检索:Text2SQL与多源融合
结构化数据(如数据库表、表格文件)蕴含巨大商业价值。我们基于经典RAG框架融合Text2SQL技术,将自然语言问题转化为精准的SQL查询。
2.1 技术简介
结构化数据具有固定格式和明确语义,便于计算机快速处理。传统方法需要技术人员编写SQL,我们通过“理解-检索-生成”模式,让非技术人员也能轻松访问数据。
2.2 方案总览
2.2.1 多源数据检索
支持DB数据库表、表格文件等多种数据源。设计基于文本切片检索的RAG与Text2SQL融合方案,将文本切片和Text2SQL查询结果送给下游阅读理解模型,生成包含精确数据和上下文解释的综合回答。
图2.1 不同数据源载入问答系统
2.2.2 Text2SQL核心技术
- 自动化数据合成和增强:自动生成多语言数据库表结构、自然语言问题及带推理过程的SQL答案对,快速适配新场景,降低人工成本。
- 基于Agent的Text2SQL框架(MAC-SQL,COLING 2025):由三个Agent协作:
- 筛选器(Selector):从众多表中选择相关表和列。
- 分解器(Decomposer):将复杂问题分解为子问题逐步解决。
- 优化器(Refiner):执行SQL并获取反馈优化错误。
该框架配合7B模型,执行准确率超过ChatGPT-3.5;配合GPT-4达到SOTA水平。
2.3 关键技术细节
2.3.1 表格文件场景
- 非结构化表格解析:将表格文件解析为结构化数据。
- 灵活语义窗口切分:支持可选窗口大小的切分策略,通过表头属性与内容组合保留语义。
- 双引擎SQL查询:存入Elasticsearch(ES)和MySQL组成双引擎。ES处理模糊查询提升召回(例如“一次性售卖与租赁模式”模糊匹配到“一次性售卖模式”和“租赁模式”)。性能提升明显。
2.3.2 通用DB场景
- 表拼接与链接:提供DDL和SimpleDDL两种schema提示词范式。表链接引入语义向量,通过Schema Linking和Value Linking提升SQL生成准确率。
- 改写信号拆解与融合:复杂查询拆分为多个简单查询;多轮交互场景采用编辑矩阵表示改写信号,与表格-文本链接矩阵融合,提升上下文理解能力。
- SQL查询与计算:支持多维度查询、智能条件处理、语义理解与扩展。
2.4 问答推理与润色
通过阅读理解模型进行答案推理与润色,提升可读性:
- 精准性与语义理解统一:Text2SQL提供精确字段,文本切片提供语义匹配。
- 复杂问题高效处理:同时利用精确查询结果和关联描述内容,生成综合回答。
小提示:在双引擎查询中,如果MySQL直接查询结果为空,可以尝试启用ES的模糊匹配,常能意外找到相关记录。这在售卖模式、名称等字段中尤其有效。
三、GraphRAG:知识图谱驱动的复杂推理
GraphRAG通过知识图谱组织信息,擅长处理多跳推理问题。我们自研了GraphRAG Benchmark和框架,大幅提升构图效率与推理能力。
3.1 自研GraphRAG-Benchmark
业界缺少统一评测数据集。我们发布了GraphRAG-Bench,涵盖多个领域复杂推理数据,从四个维度评价:
- 构图成本:时间与token消耗。
- 检索效率:每次查询的平均时长。
- 回复准确率:不同类别任务下的准确性。
- 推理能力:生成正确理由的概率。
3.2 自研GraphRAG框架
目前主流方法分为两类:知识图谱方案(如GraphRAG、LightRAG)和树结构方案(如RAPTOR)。我们融合两者优点,构建知识树结构,既有图的细粒度推理,又有树的层次化摘要。
3.2.1 领域图谱构建的质量和效率提升
- 知识树组织:构建属性、知识图(三元组)、关键词、社区四级知识粒度,实现精确多级整合。
- 创新社区检测算法S2Dual-perception:利用稀疏邻接矩阵的拓扑结构和子图语义相似度,克服传统Leiden算法强制按连接性划分、效率低下的问题。效率提升近100%。
- 图Schema自适应优化:预置人物、事件、概念三大类中英文领域Schema,结合大模型动态补充,减少人工干预。
3.2.2 优化复杂Query的理解和推理
- 复杂Query理解(AgenticGraphQ):首次将图Schema应用于Query理解,通过Agent挖掘{Entity}/{Relation}/{Attribute}之间的隐式关系,分解多跳查询为单跳子任务,降低对推理模型的依赖。
- 高效多路检索:包括主题词匹配、Query-Triple三元组向量匹配(取代传统单一向量匹配)、基于路径的DFS邻居检索。
3.2.3 框架效果
- 构图成本:在hotpotQA等数据集上,优图GraphRAG的大模型调用成本低至百万级(微软GraphRAG为亿级,LightRAG为千万级)。
- 检索效果:对比微软GraphRAG提升200%+,对比LightRAG提升20%~100%。
常见问题:
Q:GraphRAG与普通RAG有什么区别?
A:普通RAG依赖文本切片的向量检索,难以处理多跳推理(如“张三的朋友李四的公司在哪里”)。GraphRAG通过知识图谱存储实体间的显式关系,可以沿着图路径进行推理,准确率更高。但构图成本也更高,需要权衡。
四、未来展望:Agentic RAG与精细化低成本
目前,我们的RAG技术已在汽车、文旅、金融等多个行业落地,助力腾讯云智能客服、QQ浏览器等产品。未来发展方向:
- Agentic RAG:引入智能体,实现复杂问题的自动化分解和多步骤推理,结合动态规划、实时反馈和工具调用。
- 精细化与低成本:以GraphRAG为代表,优化构图成本和计算效率,通过动态增量更新、轻量化建模降低部署门槛。
未来的RAG将发展为“规划-决策-检索-验证-推理”一体化闭环智能系统,我们期待与更多伙伴共同探索创新应用,推动产业智能化升级。
