AI 纪元 追踪人工智能最新进展,深度解读前沿技术

GraphRAG 不必取代向量检索,混合架构更实用

向量检索擅长找相似文本,却不擅长还原持股、任职、诉讼等多跳关系。更稳妥的做法不是全量切到 GraphRAG,而是按问题分流:事实查询走向量,关系查询走图,混合问题双路召回,并让每条图路径回到原始证据。

0 次阅读 约 4124 字 8 分钟 AI 生成
Abstract visualization of a knowledge graph structure
Abstract visualization of a knowledge graph structure

把混合检索叫作 RAG 3.0,并不能帮团队做架构决定。先看错误发生在哪里。

用户问“这份公告讲了什么”,向量检索通常够用。问题变成“A 公司与 B 公司通过哪些主体发生关联”,系统需要的不只是相似文本,还要识别实体、关系方向和连接路径。

同一名董事的任职记录和持股记录可能出现在相近的文本里,Embedding 也很接近,但两者对应的法律关系并不是一回事。在金融、法律等容错率较低的场景中,最麻烦的情况不是系统拒绝回答,而是它引用了真实文档,却拼出了一条错误的关系链。

tianpan.co 一篇标注日期为 2026 年 4 月 19 日的文章称,截至 2025 年,只有不到 15% 的企业在生产环境中部署了基于图的检索。文章还把常见的架构反应滞后概括为“晚了六个月”[1]。这一数字来自单篇技术文章,适合作为风险提示,不宜当成统一口径的市场统计。

先分清系统错在哪

向量 RAG 解决的是语义相似问题。文档经过切片和 Embedding 后,Milvus、Pinecone 等向量数据库负责找出与问题最接近的文本。它适合定义查询、条款定位、单点事实和 FAQ,也适合从大量材料中快速缩小范围。

GraphRAG 处理的是另一类问题。IBM 对它的定义是:在传统 RAG 基础上引入知识图谱等图结构数据,利用实体之间的关系进行检索[2]。文档中的公司、人物、合同和案件被建成节点,持股、任职、担保和诉讼关系则成为边。

两者不是简单的升级替代关系。

查询类型 更合适的入口 原因
“什么是量子计算” 向量检索 重点是找到语义相关的解释文本
“制度中哪一条规定了审批权限” 向量检索配合元数据过滤 需要定位原文和出处
“A 公司股东是谁” 图检索 答案依赖明确的实体关系
“A 公司与 B 公司过去三年有哪些共同诉讼” 图检索配合时间过滤 需要跨实体、跨文档聚合关系
“给出股权路径并附上公告原文” 图与向量双路检索 图负责路径,向量负责证据片段

GraphRAG 也不会自动带来更可靠的答案。实体抽取错误、公司别名没有合并、关系方向写反,都会把错误固化进图谱。问题里如果带有“过去三年”这类时间条件,图中的边还要保留有效时间或来源日期,否则路径正确,时间范围仍可能答错。

混合架构的核心是分流

混合检索不是每次查询都同时跑两套系统。这样做会增加延迟和调用成本,也会让结果融合变得更难。真正需要的是 Query Router:先判断问题类型,再决定走哪条检索链路。

可以从几类清晰的规则开始:

  • 定义、摘要、条款和来源定位,进入向量检索。
  • 控制、任职、持股、共同诉讼和关系路径,进入图检索。
  • 既要关系结论,又要原始依据,启动双路召回。
  • 路由结果不确定时,再触发另一条链路作为补充。

路由器可以是规则分类器,也可以使用模型判断意图。早期更重要的不是分类器有多复杂,而是拿真实查询逐条检查:它是否把关系问题错送给了向量库,又是否把普通事实查询送进了成本更高的图路径。

图检索占总流量的比例也不该预先写成固定数字。企业 FAQ、制度库和投研资料库的查询分布完全不同,合理占比只能从实际日志中得出。

索引时先把证据链留住

混合架构通常有两条索引管道,但底层文档标识必须统一。

  • 向量管道:文档切片后生成 Embedding,写入 Milvus 或 Pinecone,并保留 document_id、chunk_id、来源和更新时间。
  • 图管道:从文档中抽取实体与关系,完成别名归一和实体消歧,再写入 NebulaGraph 等图数据库。
  • 证据回链:每个节点和每条边都要能指回原始文本片段,而不是只保存一段模型生成的关系描述。
  • 增量更新:文档新增、修改或删除后,向量索引和图谱要同步处理,避免一边已经更新,另一边仍保留旧关系。

证据回链尤其重要。知识图谱不是事实本身,而是从事实材料中抽取出来的索引。如果一条“某公司控制另一家公司”的边无法指回公告、合同或制度条款,用户就很难核验,系统也无法解释关系从何而来。

Microsoft GraphRAG 可以承担实体关系抽取、索引编排和社区摘要生成。社区摘要适合处理跨文档的整体性问题,但不应替代原文证据。生成答案时,图路径仍要回到具体文档片段。

工具能拼起来,接口要自己对齐

Microsoft GraphRAG 的项目可以从 CLI 初始化开始。具体参数需要按所用版本核对:

pip install graphrag
graphrag init --root ./my_rag_project

把 Microsoft GraphRAG、NebulaGraph 和 Milvus 放进同一套系统时,仍要处理数据映射和调用接口,不能把它理解成只改一份 settings.yaml 就能自动完成的组合。

各组件的职责可以这样划分:

  • Microsoft GraphRAG 负责文档索引、实体关系抽取和摘要生成。
  • NebulaGraph 负责实体、关系及路径查询。
  • Milvus 或 Pinecone 负责文本片段的向量召回。
  • BGE-Reranker-v2-m3 或 Cohere Rerank 可用于候选结果排序。

NebulaGraph 团队公开分享过 Fusion GraphRAG 的组合实践[3]。AI-Compass 的整理页还收录了 Microsoft GraphRAG、KAG、LightRAG 和 Fast-GraphRAG 等工具[4]。可选框架不少,但生产选型仍要回到数据格式、更新方式和可观测性。

查询端可以保留一个简单、清晰的控制层:

def hybrid_search(query):
    route = query_router.classify(query)

    if route == 'vector':
        return milvus.search(query)

    if route == 'graph':
        paths = nebula_graph.traverse(query)
        return attach_source_chunks(paths)

    vector_hits = milvus.search(query)
    graph_paths = nebula_graph.traverse(query)
    graph_hits = attach_source_chunks(graph_paths)

    candidates = merge(vector_hits, graph_hits)
    return reranker.rank(candidates, query)

这段伪代码里,attach_source_chunks 比 reranker 更值得关注。重排序模型只能调整候选结果的顺序,修复不了一条抽取错误的图关系。图检索返回路径后,必须补齐对应的原始文本,才能交给模型生成答案。

性能比较别只看一张总表

脱离数据集讨论统一准确率没有太大参考价值。单点事实查询中,向量检索可能更直接;多跳关系查询中,高质量图谱更容易给出完整路径。混合架构的表现,则取决于路由和证据融合是否可靠。

对比项 向量检索 GraphRAG 混合架构
索引工作 切片和 Embedding 实体抽取、关系抽取、消歧和建图 同时维护两套索引及映射
在线链路 向量召回,路径较短 实体定位、图遍历和证据回链 单路时接近对应检索,双路时增加融合开销
擅长问题 语义匹配、单点事实 关系路径、跨文档关联 同时要求关系结论与原始依据的问题
常见错误 相似实体混淆、证据碎片化 错误关系、旧关系和断链 路由错误、两路证据冲突
维护重点 切片、Embedding 和元数据 实体消歧、关系更新和来源追踪 索引同步、路由监控和结果融合

评测时应按问题类型拆开统计,至少分别观察单点事实、关系路径、跨文档聚合和带时间条件的查询。除了答案是否正确,还要记录证据是否完整、路由是否正确、中位数与尾部延迟、索引更新耗时以及单次查询成本。

如果只看一个汇总准确率,很容易掩盖真实问题:向量检索在简单问题上的优势,会冲淡关系查询的失败;图检索在复杂问题上的收益,也可能被大量普通 FAQ 稀释。

什么情况下先别上图

知识库主要由新闻、博客、产品说明或简单 FAQ 构成时,先优化切片、元数据过滤和重排序通常更合适。如果错误来自 OCR 质量、文档缺失或权限过滤,增加知识图谱也不会解决问题。

出现以下信号时,再认真评估 GraphRAG:

  • 系统频繁混淆名称相似的公司、人物或产品。
  • 答案依赖两层以上的关系路径。
  • 用户需要查看股权、任职、担保或诉讼关系的来源。
  • 同一问题必须跨多份文档拼接证据。
  • 仅调整切片、Top-k 和重排序后,关系错误仍然存在。

还要确认团队是否有能力维护图谱。企业数据持续变化,新增关系要写入,失效关系要撤回,别名和合并实体也要同步处理。只建设、不更新的图谱,很快会成为新的错误来源。

真正的分界线是错误类型

GraphRAG 的价值从“关系本身就是答案”时开始。它不是向量检索的替代品,也不该成为所有查询的默认入口。

如果系统错在没有找到相关文本,先检查切片、Embedding、元数据和重排序;如果文本找到了,实体之间的路径仍然拼错,再引入图结构。生产环境里的混合架构,本质上就是把不同问题交给合适的索引,再让所有结论回到可核验的原始证据。

参考资料

[1] GraphRAG vs. 向量 RAG:团队往往过晚才做的架构决策,tianpan.co,页面标注 2026-04-19。

[2] What is GraphRAG?,IBM。

[3] GraphRAG vs DeepSearch?GraphRAG 提出者给你答案,NebulaGraph。

[4] AI-Compass GraphRAG,GitHub。

相关阅读

A conceptual still life comparing a complex network of nodes and lines with a simpler, linear flowchart. 技术应用
0 阅读

企业知识库该不该上 GraphRAG

GraphRAG 并非万能解药。对于多数企业,混合检索才是起步最优解。只有当业务涉及复杂实体关系和多跳推理时,才考虑引入知识图谱。选型需基于数据形态与维护成本,而非技术热点。

阅读全文