> 技术文档 > 蚂蚁 KAG 框架开源:知识图谱 + RAG 双引擎

蚂蚁 KAG 框架开源:知识图谱 + RAG 双引擎


引言:从RAG到KAG,专业领域知识服务的技术突破

在大语言模型(LLM)应用落地过程中,检索增强生成(RAG) 技术通过引入外部知识库有效缓解了模型幻觉问题,但在专业领域仍面临三大核心挑战:向量检索的\"似是而非\"(语义相似但逻辑错误)、开放信息抽取的\"噪声污染\"(实体关系提取不准确)、复杂场景的\"多跳推理难题\"(无法处理超过3跳的逻辑链路)。为解决这些问题,蚂蚁集团联合浙江大学推出知识增强生成(KAG:Knowledge Augmented Generation)框架,并于2024年10月正式开源(GitHub地址:https://github.com/OpenSPG/KAG)。

KAG框架创新性地融合知识图谱的逻辑符号推理向量检索的语义相似性,在政务问答场景中将准确率从传统RAG的66%提升至91%,医疗垂直领域指标解读任务准确率突破90%,多跳问答任务F1分数较SOTA方法提升19.6%-33.5%。本文将从技术架构、核心特性、性能对比、安装实践、应用场景五个维度,全面解析这一专业领域知识服务框架。

技术架构:三模块协同,构建知识增强闭环

KAG框架采用模块化设计,由KAG-Builder(知识构建)、KAG-Solver(推理求解)、KAG-Model(模型增强)三部分组成,形成\"知识构建-推理检索-生成优化\"的完整闭环。

1. KAG-Builder:LLM友好的知识表示与互索引构建

传统知识图谱构建面临\"强Schema约束导致数据稀疏\"与\"开放抽取引入噪声\"的矛盾,KAG-Builder通过LLMFriSPG框架(LLM-Friendly Semantic-enhanced Programmable Graph)解决这一问题:

  • 知识分层表示:基于DIKW模型(数据-信息-知识-智慧)将知识分为三层:

    • 知识层(KGcs):严格遵循领域Schema约束(如政务事项的\"办理流程\"、\"申请材料\"等预定义关系),确保逻辑严谨性;
    • 信息层(KGfr):通过开放信息抽取(OpenIE)提取实体与关系,支持动态属性扩展;
    • 原始块层(RC):保留语义分块后的文本片段,与知识层/信息层建立双向索引。
  • 互索引机制:在知识图谱节点与文本块之间建立关联,例如\"增值税申报\"实体节点关联政策文件中对应的段落,既支持基于图结构的精确检索,又保留文本上下文的完整性。

2. KAG-Solver:逻辑符号引导的混合推理引擎

KAG-Solver是框架的核心创新,通过逻辑形式(Logical Form) 将自然语言问题转化为可执行的符号推理步骤,支持四种推理模式集成:

  • 规划(Planning):将复杂问题分解为子任务,例如\"2023年杭州市GDP同比增速\"→拆解为\"获取杭州2022年GDP→获取2023年GDP→计算增速\";
  • 推理(Reasoning):执行知识图谱多跳推理,如通过\"企业→控股子公司→行业分类\"链路判断同业竞争;
  • 检索(Retrieval):融合向量检索(语义相似)与图检索(实体关系),召回相关文本块与知识三元组;
  • 计算(Calculation):支持数值运算(如求和、比较)与逻辑判断(如矛盾检测)。

示例:在\"某新能源车企近三年研发投入是否超过行业平均\"问题中,KAG-Solver先检索企业财报数据与行业报告,再通过内置算子计算均值并对比趋势,最终生成结论。

3. KAG-Model:增强LLM的领域适配能力

KAG-Model通过三项优化提升LLM在专业领域的表现:

  • 自然语言理解(NLU):基于2万+领域指令数据集微调,提升实体识别与关系抽取精度;
  • 自然语言推理(NLI):构建概念推理数据集,增强语义对齐能力(如\"心肌梗塞\"与\"心梗\"的同义关联);
  • 自然语言生成(NLG):通过K-Lora技术注入知识图谱结构,使生成内容符合领域规范(如医疗报告的\"症状-诊断-治疗\"逻辑链)。

核心特性:四大创新突破传统RAG局限

1. Schema约束与开放抽取的双向兼容

KAG允许用户定义领域专属Schema(如医疗领域的\"疾病-症状-药品\"关系),同时支持无Schema的开放抽取。例如在政务知识库中,既可以通过Schema约束提取\"行政许可\"的标准化属性,又能从政策解读文本中抽取动态热点信息,兼顾专业性与灵活性。

2. 多跳推理与逻辑严谨性保障

传统RAG依赖向量相似度检索,难以处理\"某企业的子公司是否涉及环保处罚\"这类多跳问题。KAG通过逻辑符号拆解图路径搜索,支持最长6跳的推理链路,推理深度较GraphRAG提升3倍。在法律合同审查场景中,KAG可自动检测条款间的逻辑冲突(如\"合同有效期\"与\"付款截止日\"的时间矛盾)。

3. 知识对齐与噪声过滤机制

针对开放信息抽取引入的噪声(如实体歧义、关系错误),KAG通过概念语义推理实现知识对齐:

  • 实体消歧:通过上下文判断\"苹果\"是\"水果\"还是\"科技公司\";
  • 术语归一化:将\"增值税专票\"、\"增值税专用发票\"统一为标准术语;
  • 冲突检测:基于领域知识规则修正错误三元组(如\"糖尿病→病因→病毒感染\"的医学常识错误)。

4. 多模态知识管理与双向索引

KAG支持PDF、Word、Excel等多格式文档解析,将表格数据(如企业财务报表)、文本段落(如政策条文)、结构化数据(如数据库表)统一纳入知识图谱,并建立\"文档→实体→关系\"的双向索引。用户查询时,既能看到答案引用的原始文本片段,也能可视化知识图谱中的推理路径,提升可解释性。

性能对比:从实验室到业务场景的全面领先

1. 基准数据集性能

在多跳问答权威数据集上,KAG显著优于传统RAG与GraphRAG:

指标 传统RAG GraphRAG KAG(本文) 提升幅度 HotpotQA F1 68.2% 75.3% 89.4% +19.6% 2Wiki F1 56.7% 62.1% 83.0% +33.5% 推理速度(跳/秒) 1.2 2.5 4.8 +92%

2. 真实业务场景效果

在蚂蚁集团内部业务验证中,KAG展现出专业领域的高适配性:

  • 政务问答:某省政务服务平台接入KAG后,政策解读准确率从66%提升至91%,用户满意度提升42%;
  • 医疗诊断支持:病历分析任务中,KAG对\"症状-疾病\"关联的推理准确率达82.3%,较传统RAG降低37%的误诊风险;
  • 金融风控:企业股权关系多跳推理准确率达90.5%,成功识别3起多层控股的同业竞争案例。

快速上手:两种部署方式与核心代码示例

1. 产品版(Docker一键部署)

适合快速体验,支持可视化知识库管理:

# 1. 下载docker-compose.ymlcurl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/master/dev/release/docker-compose.yml -o docker-compose.yml# 2. 启动服务(包含Neo4j、MySQL、KAG-Server)docker compose -f docker-compose.yml up -d# 3. 访问Web界面(默认账号:openspg/openspg@kag)http://localhost:8887

2. 开发者模式(源码部署)

适合二次开发,支持自定义Schema与推理算子:

# 1. 创建虚拟环境conda create -n kag-demo python=3.10 && conda activate kag-demo# 2. 克隆代码git clone https://github.com/OpenSPG/KAG.git && cd KAG# 3. 安装依赖pip install -e .# 4. 验证安装knext --version # 输出:knext, version 0.8.0

3. 核心代码示例:构建医疗知识库

from kag import KnowledgeBuilder# 1. 定义医疗领域Schemamedical_schema = { \"疾病类型\": [\"症状\", \"治疗方案\", \"相关检查\"], \"药品\": [\"适应症\", \"禁忌症\", \"相互作用\"]}# 2. 初始化构建器builder = KnowledgeBuilder(schema=medical_schema)# 3. 添加文档(支持PDF/Word/Markdown)builder.add_document(\"糖尿病诊疗指南.pdf\")# 4. 构建知识图谱kg = builder.build()# 5. 多跳查询:\"糖尿病患者出现视力模糊应做哪些检查?\"result = kg.query(\"糖尿病患者出现视力模糊应做哪些检查?\")print(result)# 输出:根据知识图谱推理,建议进行眼底检查、血糖监测、糖化血红蛋白检测...

应用场景:从政务到医疗的深度落地

1. 政务服务:政策解读与事项办理

KAG已应用于某省级政务服务平台,支持:

  • 多条件组合查询:如\"杭州市西湖区企业办理食品经营许可证需要哪些材料\";
  • 流程推理:自动生成\"企业注册→税务登记→社保开户\"的跨部门办理指南;
  • 动态更新:政策文件发布后24小时内完成知识图谱更新,确保回答时效性。

2. 医疗健康:病历分析与诊断支持

在医疗场景中,KAG可:

  • 症状关联:从病历文本中提取\"高血压+蛋白尿+水肿\"症状,推理可能病因;
  • 治疗方案推荐:结合患者病史(如药物过敏)筛选合适的降压药;
  • 医学文献整合:将最新临床研究与指南纳入知识库,辅助医生决策。

3. 金融风控:企业关系与风险识别

金融机构利用KAG构建企业知识图谱,实现:

  • 股权穿透:识别\"母公司→子公司→孙公司\"的多层控股关系;
  • 风险传导:当某企业出现债务违约时,自动评估关联企业的担保风险;
  • 合规审查:检测融资项目是否符合\"绿色金融\"政策要求。

未来展望:开源生态与技术演进

KAG框架目前已迭代至v0.8.0版本,后续将重点推进:

  • KAG-Model开源:逐步开放针对知识增强优化的LLM权重与微调工具;
  • 多模态支持:引入图像、表格知识的结构化表示(如医疗影像报告的图文关联);
  • 社区生态:发布领域Schema模板库(政务、医疗、法律等),降低开发者使用门槛。

结语

KAG框架通过\"知识图谱+向量检索\"的深度融合,为专业领域知识服务提供了新范式。其91%的政务问答准确率不仅是技术指标的突破,更意味着LLM在医疗、金融、法律等高风险领域的落地成为可能。对于开发者而言,KAG的开源特性(MIT许可证)与模块化设计,使其既能快速集成到现有系统,又支持按需扩展自定义功能。

如需进一步探索,可参考:

  • GitHub仓库:https://github.com/OpenSPG/KAG
  • 技术论文:https://arxiv.org/pdf/2409.13731

随着KAG的持续演进,我们期待看到更多\"高精度、可解释、强逻辑\"的专业领域AI应用落地,推动大模型从通用对话向行业决策的深度渗透。