跳到主要内容

构建知识图谱

为您的知识库生成知识图谱。


为了增强多跳问答能力,RAGFlow 在数据提取和索引之间添加了知识图谱构建步骤,如下图所示。此步骤从通过您指定的分块方法生成的现有块中创建额外的块。

Image

从 v0.16.0 开始,RAGFlow 支持在知识库上构建知识图谱,允许您在知识库内的多个文件中构建统一的图谱。当新上传的文件开始解析时,生成的图谱将自动更新。

警告

构建知识图谱需要大量的内存、计算资源和 token。

应用场景

知识图谱对于涉及嵌套逻辑的多跳问答特别有用。当您对具有复杂实体和关系的书籍或作品进行问答时,它们优于传统的提取方法。

提示

RAPTOR(树状组织检索的递归抽象处理)也可以用于多跳问答任务。详情请参阅启用 RAPTOR。您可以使用其中一种方法或两种方法都使用,但请确保您了解所涉及的内存、计算和 token 成本。

前提条件

系统的默认聊天模型用于生成知识图谱。在继续之前,请确保您已正确配置了聊天模型:

Image

配置

实体类型(必需

从知识库中提取的实体类型。默认类型有:组织人员事件类别。根据您的特定知识库添加或删除类型。

方法

用于构建知识图谱的方法:

  • 通用:使用 GraphRAG 提供的提示词来提取实体和关系。
  • 轻量级:(默认)使用 LightRAG 提供的提示词来提取实体和关系。此选项消耗更少的 token、内存和计算资源。

实体解析

是否启用实体解析。您可以将其视为实体去重开关。启用后,LLM 将合并相似的实体 - 例如,'2025' 和 'the year of 2025',或 'IT' 和 'Information Technology' - 来构建更有效的图谱。

  • (默认)禁用实体解析。
  • 启用实体解析。此选项消耗更多 token。

社区报告生成

在知识图谱中,社区是通过关系连接的实体集群。您可以让 LLM 为每个社区生成摘要,称为社区报告。更多信息请参见此处。这表示是否生成社区报告:

  • 生成社区报告。此选项消耗更多 token。
  • (默认)不生成社区报告。

操作步骤

  1. 在知识库的配置页面上,开启提取知识图谱或根据需要调整其设置,然后点击保存确认更改。

    • 现在已设置知识库的默认知识图谱配置,从此时起上传的文件将在解析期间自动使用这些设置。
    • 在此更新之前解析的文件将保留其原始知识图谱设置。
  2. 知识库的知识图谱不会自动更新,直到新上传的文件被解析。

    一旦创建了知识图谱,配置下将出现知识图谱条目。

  3. 点击知识图谱查看生成图谱的详细信息。

  4. 要使用创建的知识图谱,请执行以下任一操作:

    • 聊天配置对话框中,点击助手设置选项卡添加相应的知识库,然后点击提示引擎选项卡开启使用知识图谱开关。
    • 如果您使用的是智能体,请点击检索智能体组件指定知识库并开启使用知识图谱开关。

常见问题

对于知识库中的不同文件可以有不同的知识图谱设置吗?

可以的。每个知识库只生成一个图谱。您文件的较小图谱将在图谱提取过程结束时合并为一个大的统一图谱。

当我删除相关文件时,知识图谱会自动更新吗?

不会。知识图谱不会自动更新,直到新上传的文档被解析。

如何删除已生成的知识图谱?

要删除生成的知识图谱,请删除知识库中所有相关文件。尽管知识图谱条目仍然可见,但图谱实际上已被删除。

创建的知识图谱存储在哪里?

创建的知识图谱的所有块都存储在 RAGFlow 的文档引擎中:Elasticsearch 或 Infinity

如何导出创建的知识图谱?

不支持导出创建的知识图谱。如果您仍然认为此功能必需,请提出 issue 解释您的用例及其重要性。