BYOKG-RAG:用于知识图谱问答的多策略图检索

发表
Costas MavromatisCostas Mavromatis 提交
作者: Costas Mavromatis, Soji Adeshina, Vassilis N. Ioannidis, Zhen Han, Qi Zhu, Ian Robinson, Bryan Thompson, Huzefa Rangwala, George Karypis

摘要

由于输入图谱在结构和语义上存在差异,知识图谱问答(KGQA)面临着巨大的挑战。现有工作依赖大语言模型(LLM)智能体进行图遍历和检索;这种方法对遍历初始化很敏感,容易出现实体链接错误,并且可能无法很好地泛化到自定义(“自带”)知识图谱上。我们推出了 BYOKG-RAG,这是一个通过将大语言模型与专门的图检索工具协同结合来增强知识图谱问答的框架。在 BYOKG-RAG 中,大语言模型生成关键的图构件(问题实体、候选答案、推理路径和 OpenCypher 查询),而图工具则将这些构件链接到知识图谱并检索相关的图上下文。检索到的上下文使得大语言模型能够在最终生成答案之前,迭代地优化其图链接和检索过程。通过从不同的图工具中检索上下文,BYOKG-RAG 为自定义知识图谱上的问答提供了一个更通用、更鲁棒的解决方案。通过在涵盖多种知识图谱类型的五个基准上进行实验,我们证明了 BYOKG-RAG 的性能比次优的图检索方法高出 4.5 个百分点,同时在自定义知识图谱上表现出更好的泛化能力。BYOKG-RAG 框架已在 https://github.com/awslabs/graphrag-toolkit 开源。
查看 arXiv 页面查看 PDF

评论

Costas MavromatisCostas Mavromatis
论文提交者

BYOKG-RAG 是一种新颖的知识图谱问答(KGQA)方法,它将大型语言模型(LLMs)的强大功能与结构化知识图谱相结合。该系统允许用户引入自己的知识图谱并对其执行复杂的问答。

主要特性 🔑
  • 多策略检索:结合多种检索策略:

    • 用于动态图探索的智能体检索
    • 基于评分的检索用于相关性排序
    • 基于路径的检索用于多跳推理
    • 基于查询的检索用于直接图查询
  • LLM驱动的推理:利用最先进的LLM进行问题理解和答案生成

系统组件 ⚙️
  1. 图存储 (src/graphragtoolkit/byokgrag/graphstore)
  • 管理知识图谱数据结构

  • 提供图遍历和查询的接口

  1. KG链接器 (src/graphragtoolkit/byokgrag/graph_connectors)
  • 将自然语言查询链接到图实体和路径

  • 使用LLM理解问题意图

  • 提取相关实体和关系模式

  1. 实体链接器 (src/graphragtoolkit/byokgrag/graph_retrievers)
  • 将文本中的实体与图节点匹配

  • 处理实体名称的变化

  • 使用模糊字符串匹配进行鲁棒的实体解析

  1. 三元组检索器 (src/graphragtoolkit/byokgrag/graph_retrievers)
  • 从图中检索相关三元组

  • 从链接的实体开始遍历图

  • 以自然语言格式表达三元组

  1. 路径检索器 (src/graphragtoolkit/byokgrag/graph_retrievers)
  • 在图中查找实体之间的路径

  • 遵循元路径模式进行结构化遍历

  • 通过中间节点连接实体

  1. 查询引擎 (src/graphragtoolkit/byokgrag/byokgqueryengine.py)
  • 协调所有组件

  • 处理自然语言问题

  • 根据检索到的信息生成答案

性能 📈

我们的结果显示,BYOKG-RAG 在多个知识图谱基准测试中优于现有方法:

KGQA命中率 (%) Wiki-KG Temp-KG Med-KG 智能体 77.8 57.3 59.2 BYOKG-RAG 80.1 65.5 65.0

注:包含详细方法和结果的完整论文即将发布! 📄

开始使用 🚀

您可以使用pip安装byokg-rag:

```

pip install https://github.com/awslabs/graphrag-toolkit/archive/refs/tags/v3.10.1.zip#subdirectory=byokg-rag

```

论文https://arxiv.org/abs/2507.04127

代码https://github.com/awslabs/graphrag-toolkit