详细解释
知识图谱(Knowledge Graph,KG) 最出名的亮相是 2012 年 Google 在搜索里推出 Google Knowledge Graph(搜”爱因斯坦”右侧出一张结构化卡片:生卒年、国籍、相对论、配偶……)。到 AI RAG 时代,KG 找到了新定位:把”非结构化文档里的结构化关系”显式抽出来存成图,用来补向量检索的两个硬伤——多跳推理、实体歧义。
核心数据结构:三元组(Triple)= (头实体 S, 谓词/关系 P, 尾实体 O),例如:
- (唯元智创, 创始人, 张三)
- (张三, 毕业于, 清华大学)
- (清华大学, 位于, 北京)
实体 + 关系一起组成一张图,每个节点(实体)有一堆属性(别名、类型、描述),每条边(关系)有方向+权重。
知识图谱在 LLM / RAG 里解决什么痛点
向量检索的硬伤是:“你问的文档里没直接写,但靠 2–3 跳关系能推出来”的问题,它经常答不出来。KG 刚好就是”关系机器”。
| 痛点场景 | 纯向量检索的表现 | + Knowledge Graph 之后 |
|---|---|---|
| 多跳推理:“唯元智创创始人的毕业院校在哪个城市?” | 如果没有文档直接一句话”张三毕业于清华,清华在北京”,向量检索可能只能召回 2 段分散文档,LLM 拼不起来,直接 幻觉 | 从 KG 上跑:(唯元智创→创始人→张三→毕业于→清华→位于→北京),路径清晰。LLM 可以拿到”路径证据”,回答准确率 +20 至 40% |
| 实体消歧:用户说”苹果发布新手机了” | 向量库可能同时召回”苹果(水果)营养文档”和”苹果公司 iPhone”文档,Top-K 里混进噪音 | KG 里有实体类型 + 别名:(Apple Inc., 别名, 苹果公司) + (Apple Inc., 类型, 科技公司) + (Malus domestica, 别名, 苹果),结合上下文先做消歧 → 再检索 |
| 隐含关系补全:新客户资料里写了”A 公司被 B 收购”,之前文档没提 | 向量检索要等下次重刷索引才知道 | KG 直接加一条 (B, 收购了, A) 三元组,立即可查;还能做链路预测”A 的竞争关系现在归到 B 了” |
| 合规溯源:用户问”A 药品治什么病?“要求回答必须能追溯到药品说明书原文 | 向量检索能给原文片段,但不知道”原文里 A 对应的治疗病症”这句话里的实体关系对不对 | KG 里把药品-适应症、成分、禁忌症、不良反应抽成三元组,每条回答都挂三元组的 SPO ID,直接溯源到原文第几句 |
构建企业知识图谱的 4 步流水线(标准做法)
非结构化文档/PDF/网页
↓
① 文档切片(Chunking + [Semantic Chunking](/support/glossary/semantic-chunking/))
↓
② 实体与关系抽取(LLM + IE Prompt / 专用信息抽取模型)
输出:[{Entity: 唯元智创, Type: 公司}, {Entity: 张三, Type: 人物}, ...]
[(唯元智创, 创始人, 张三), ...]
↓
③ 实体对齐(Entity Alignment)+ 消歧
把"张三 / 张总 / ZS / zhangsan@weimeta.cn"全部对齐到同一个实体节点
↓
④ 存入图数据库(Neo4j / NebulaGraph / Amazon Neptune)
同时把每个实体 + 关系的描述做 [Embedding](/support/glossary/embedding/),存到 [Vector Database](/support/glossary/vector-database/) 里做混合检索
企业落地推荐组合:图数据库(存结构)+ 向量数据库(存语义)+ Rerank 重排,三者联手。唯元智创 企业版 RAG 支持”文档一键抽 KG”,第①②步开箱就能跑。
知识图谱 vs 纯向量 RAG 成本对比(10 万文档级知识库)
| 维度 | 纯向量 RAG | + 知识图谱 |
|---|---|---|
| 搭建成本(人周) | 1–2 人周(上 Chroma / pgvector 即可) | 5–10 人周(抽取 Schema 设计 + 实体对齐 + 图数据库运维) |
| 召回准确率(单跳事实) | 85% | 87%(提升不大) |
| 召回准确率(2 跳以上推理) | 55% | 85%+(大幅提升) |
| 幻觉率 | 高(20% 左右) | 低(5% 以下)(可追溯 SPO) |
| 适用行业 | 通用文档问答 | 医疗(药品/病症)、金融(股权/关联交易)、法律(合同/条款关系)、制造(设备/BOM 关系) |
常见问题
我们公司文档 1 万篇都不到,需要上 KG 吗?
LLM 能直接抽三元组吗,还是必须买信息抽取商业模型?
2025 年基本都用 LLM 抽了。做法:给 LLM 一段文档 + 一份关系类型 Schema(白名单)(比如只能抽”公司/人/产品”三类实体,只能有”创始人/投资/位于”等 15 种关系)+ 3 条 Few-Shot 示例 → 用 Structured Output 强制输出 JSON 数组。gpt-4o-mini 这个级别的模型,抽取 F1 通常能到 85–90%,人工抽查 10% 做质检就够了。商用抽取模型(百度信息抽取、阿里云 NLP)能到 92–95% 但贵很多,一般先用 LLM + 结构化输出,跑通了再看要不要上专用模型。
Neo4j 之外还有什么适合企业的图数据库?
按规模选:小型(100 万三元组以内):Neo4j Community 免费版 / Apache AGE(PG 扩展,有 PG 就直接用);中型(1 亿级):NebulaGraph(国产开源,字节/美团等大厂在用,社区活跃)/ Amazon Neptune(托管版,AWS 用户方便);超大规模(10 亿+):Neo4j Enterprise / TigerGraph / 阿里 GDB;2025 年新趋势:Vector + Graph 融合数据库(如 pgvector + AGE 同一张表、Neo4j 5.x 内置向量索引),不用两套系统跨库 join。