KAG 技术实践分享|信创环境下实现高效知识图谱抽取

本文来自社区用户的投稿,如果你也在使用 KAG,欢迎参与社区有奖征文活动

作者:蒋涛,原出版总署内容科技国家重点实验室技术负责人,中宣部首批组团式援藏组组长。政务图谱实施专家,累计实施十余医院、军队、政府、档案、制造图谱项目。

知识图谱和图计算这几年的热度可能仅次于大模型。团队本身在这几年累计实施医院、军队、政府、档案、制造等图谱项目十几个。

做过图谱的朋友都知道,三大难题:原始内容处理、数据治理、知识抽取。

其中知识抽取是难上加难。

如果运气好遇到原始数据就是结构化知识的项目,难度几乎可以忽略不计;遇到从千奇百怪内容中抽取知识并治理的项目,能不能交付全凭业主单位有没有足够同情心。

今年是这个领域技术爆炸的一年。

在今年之前,基本只有两类知识抽取方式:一是写程序,二是机器学习。

机器学习知识抽取

机器学习抽取知识以浙大 deepke 等为典型代表:标注数据、训练模型、预测三部曲。

但我们都知道,机器学习的本质是用数学计算因果关系。搞人脸、语音识别这样特征明显、因果可信的领域还行;用机器学习来搞语言中的知识,复杂度完全跟不上的,不然怎么会诞生大语言模型?不然维特根斯坦最著名的名言为什么是“语言即世界”?想想很有道理:宇宙的上限是数学、人类的上限是语言。

你说语言得有多复杂?不知道维特根斯坦是不是偷偷读过《道德经》:“道可道,非常道”:第一个“道”是数学,第二个“道”是语言。传统机器学习用在知识抽取,我们前些年深受其害,业主想来个高大上的“人工智能”,但交付的都是“人工智障”。后来我们尽量不提这个事,系统上的“文档抽取”“抽取模型”菜单也都偷偷删掉了。

写程序知识抽取

可信的只剩下写程序这一个选择,我们这几年也是逼出了各种花样:用正则、用字典枚举、用锚点加 xy 坐标定位、再用他们各种花样组合、再加各种逻辑判断。但这些都要求知识有明显结构特征。再不行我们上海量规则、上制造海量规则的工具、再加算法挑最可信的(相当于机器学习是从果推因,我们是从因遍历)。但不管怎么折腾使用场景都局限于文字结构必有特征。

今年大模型起来后,这个局限终于打破!

大模型知识抽取

一开始是直接上提示词,试过有朋友都知道,明显要人工再审核。

大模型组合其他技术知识抽取

今年 7 月我们结合向量计算、结合事前约束、事后判断第一次实现了免审核可信抽取!

不过在政府、军队等项目中,上面的技术突破没有太大实际意义。因为涉密环境没法调用第三方在线大模型服务,而自己搭建72b参数模型完成全套抽取,至少要 8 张 4090 卡组成的计算集群,信创环境下就别想了,国产 gpu 目前最多跑跑 ocr。

敢想的单位我们也一直劝阻,怕他们看到 1 万瓦的服务器功率,再配套四台柜式空调 24 小时散热,成为国家电网大客户而骂我们。两个项目都陷入这种僵局。国产服务器最多装 3B 大模型,这么小的参数量能抽取什么效果,大家都能想象到。所以当上月 KAG 推出时,我抱着“不可能,绝对不可能!”的心态体验一把,当场沉默了。

然后立即模拟国产服务器的性能组装了一套服务器,试了更多考虑项。

然后第二天清空后备箱拉上服务器、分别拉到两个城市和业主演示 KAG,商量全面更换技术路线。业主赞不绝口,困扰几个月的 4090 卡执念终于放下了,电费也保住了。

蚂蚁 KAG 分析

蚂蚁 KAG 有两点对我们特别有用,一是信创环境下,用 3B 大模型就能抽取出一般用 72B 才能达到的效果。二是除了按预先设计好的图数据库结构抽取,也经常存在无法提前设计图结构的抽取场景,只有 KAG 能支持。

另外预测将来可能会有用的一点:当使用场景为某个专业领域、通用知识抽取无法达到要求时,大模型微调成本是无法接受的,至少一套 h100 服务器两百多万,关键效果奇差,可以理解成玩天黑请闭眼,微调是天黑学到的东西,抽取是天亮开口辩论,天黑(微调)的事是不能直接说的,只能根据被抽取内容本身(天亮后的线索)来进行抽取。

而 KAG 提供了更低成本、更好效果的特定领域解决方案,过两个月我应该会遇到这种需求去学习 knext 等。向蚂蚁知识图谱团队无私奉献、开源分享致敬!对于我们团队来说,这两个月已经有两个无法交付的政府图谱项目,由于 KAG 项目的推出而柳暗花明,也由衷感谢蚂蚁知识图谱团队近期在低参数大模型抽取可信、国产服务器队列优化等细节中给我们提供很多专业指导,让我们能够在这些项目中迅速调整整体技术路线。

最近太忙还没来的及研究 KAG 实现路径,从直觉上来感觉:此前主流的大模型抽取技术路线是各种措施增加大模型负担。蚂蚁 KAG 是各种措施减轻大模型负担。比如向量数据库直接省略了,向量化数据直接成为图数据一个属性。与此属性并列还生成了“desc”属性存储概括这个实体的一段文本。大模型推理、向量计算、文本 ES 检索、图计算、符号逻辑判断,六神合体。

KAG 共建

目前 KAG 还处于早期阶段,诚邀对知识服务和知识图谱技术感兴趣的用户和开发者加入我们,共建新一代 AI 引擎框架。我们建立了 OpenSPG 技术交流群,欢迎大家添加小助手微信加入:jqzn-robot。

GitHub

OpenSPG 是一个语义增强的可编程知识图谱:

https://github.com/OpenSPG/openspg

KAG是一个知识增强生成的专业领域知识服务框架,KAG 依赖 OpenSPG 提供的引擎依赖适配、逻辑推理执行等能力:

https://github.com/OpenSPG/KAG

<think>好的,我现在需要帮助用户了解如何部署KAG(Knowledge Acquisition Gateway)。根据用户提供的引用内容,首先我要从这些引用中提取有关KAG部署的息。引用[1]提到了KAG的开源项目地址和论文,引用[2]详细介绍了KAG技术架构和功能,引用[3]则提到了产品模式和开发者模式,以及代码拷贝和功能测试的步骤。 首先,用户需要部署教程或指南。根据引用[3],部署KAG需要下载代码、安装依赖、配置环境、构建知识库和启动服务。我需要将这些步骤详细化,确保用户能够按照步骤操作。例如,代码下载部分需要指导用户到GitHub仓库克隆项目,安装依赖可能涉及Python包管理工具如pip。配置环境可能包括设置数据库连接、API密钥等,这部分需要具体说明配置文件的路径和必要参数。 另外,引用[2]提到KAG支持图结构与原始文本的互索引机制,因此在部署过程中可能需要配置图数据库,比如Neo4j或其他兼容的存储系统。需要检查是否在引用中有提到具体的数据库要求,如果没有的话,可能需要提醒用户参考官方文档。 还有,用户可能遇到的问题,比如依赖安装失败、配置错误或服务启动失败,需要给出常见解决方法。例如,确保Python版本符合要求,或者检查配置文件中的路径是否正确。 最后,生成相关问题时要围绕部署过程中可能涉及的方面,如环境准备、配置优化、监控方法等,确保问题对用户有实际帮助。 总结步骤: 1. 环境准备:安装Python、数据库等。 2. 代码获取:从GitHub克隆仓库。 3. 依赖安装:使用pip安装requirements.txt。 4. 配置调整:修改配置文件,设置数据库和API密钥。 5. 知识库构建:导入数据,运行处理脚本。 6. 服务启动:运行主程序,测试API。 7. 验证部署:进行功能测试,检查日志。 需要确认引用中的息是否足够覆盖这些步骤,如果有缺失,可能需要提示用户参考官方文档或社区资源。</think>### KAG知识库部署分步指南 根据KAG开源项目技术文档和实操演示[^1][^3],部署流程主要分为以下核心步骤: $$ \text{部署流程图:} \quad \text{环境准备} \rightarrow \text{代码获取} \rightarrow \text{依赖安装} \rightarrow \text{服务启动} $$ 一、基础环境搭建 1. Python环境:需Python 3.8+,建议使用Anaconda建虚拟环境 ```bash conda create -n kag_env python=3.8 conda activate kag_env ``` 2. 数据库支持:需安装PostgreSQL 12+(存储知识图谱)和Redis 6+(缓存服务) 3. 向量引擎:推荐安装FAISS或Milvus用于向量检索 二、代码部署流程 1. 克隆项目仓库 ```bash git clone https://github.com/OpenSPG/KAG.git cd KAG ``` 2. 安装依赖包(注意需包含LLM接口) ```python pip install -r requirements.txt # 包含SPG框架、大模型接口等核心组件 ``` 3. 配置文件调整 ```yaml # config/kag_config.yaml 关键参数 knowledge_graph: storage: postgresql://user:pass@localhost:5432/kag_db llm_integration: api_key: sk-xxxxxxxx # 对接GPT或国产大模型的认证密钥 ``` 三、知识库初始化 1. 执行数据迁移命令 ```bash python manage.py migrate # 生成知识图谱存储结构[^2] ``` 2. 导入初始知识数据 ```python from kag_loader import DataImporter DataImporter.import_from_csv('knowledge_base/domain_data.csv') # 支持结构化/非结构化数据 ``` 四、服务启停管理 1. 启动API服务 ```bash gunicorn -w 4 kag_api:app -b 0.0.0.0:8000 # 启动RESTful API服务 ``` 2. 验证服务状态 ```bash curl http://localhost:8000/api/healthcheck # 应返回{"status":"OK"} ``` 五、部署验证(开发者模式) 1. 运行测试用例 ```bash pytest tests/integration/ # 包含知识检索、推理验证等测试项 ``` 2. 查看管理界面 通过浏览器访问 `http://部署IP:8000/admin` 可查看知识图谱可视化界面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值