构建知识图谱
为您的知识库生成知识图谱。
为了增强多跳问答能力,RAGFlow 在数据提取和索引之间增加了一个知识图谱构建步骤,如下图所示。此步骤会从您指定的切块方法生成的现有块中创建额外的块。
从 v0.16.0 版本开始,RAGFlow 支持在知识库上构建知识图谱,允许您在知识库内的多个文件之间构建一个统一的图谱。当新上传的文件开始解析时,生成的图谱将自动更新。
构建知识图谱需要大量的内存、计算资源和 token。
使用场景
知识图谱对于涉及嵌套逻辑的多跳问答特别有用。当您对书籍或具有复杂实体和关系的作品进行问答时,它们比传统的提取方法表现更优。
RAPTOR(Recursive Abstractive Processing for Tree Organized Retrieval,树状组织检索的递归摘要处理)也可用于多跳问答任务。详情请参阅启用 RAPTOR。您可以使用其中一种方法或两种都用,但请确保您了解所涉及的内存、计算和 token 成本。
前提条件
系统默认的聊天模型用于生成知识图谱。在继续之前,请确保您已正确配置聊天模型。
配置
实体类型 (必需)
从您的知识库中提取的实体类型。默认类型为:组织 (organization)、人物 (person)、事件 (event) 和 类别 (category)。请根据您的具体知识库添加或删除类型。
方法
用于构建知识图谱的方法
- 通用 (General):使用 GraphRAG 提供的提示词来提取实体和关系。
- 轻量 (Light):(默认)使用 LightRAG 提供的提示词来提取实体和关系。此选项消耗更少的 token、内存和计算资源。
实体解析
是否启用实体解析。您可以将其视为一个实体去重开关。启用后,大语言模型(LLM)将合并相似的实体——例如,'2025' 和 '2025年',或 'IT' 和 '信息技术'——以构建一个更有效的图谱。
- (默认)禁用实体解析。
- 启用实体解析。此选项会消耗更多的 token。
社群报告生成
在知识图谱中,社群(community)是由关系连接的实体集群。您可以让大语言模型为每个社群生成摘要,称为社群报告。更多信息请参阅此处。此选项决定是否生成社群报告。
- 生成社群报告。此选项会消耗更多的 token。
- (默认)不生成社群报告。
操作步骤
-
在您的知识库的**配置**页面,打开**提取知识图谱**开关或根据需要调整其设置,然后点击**保存**以确认您的更改。
- 您的知识库的默认知识图谱配置现已设置完成,此后上传的文件在解析时将自动使用这些设置。
- 在此更新之前解析的文件将保留其原有的知识图谱设置。
-
您的知识库的知识图谱只有在新上传的文件被解析后才会自动更新。
一旦创建了知识图谱,**配置**下会出现一个**知识图谱**条目。
-
点击**知识图谱**以查看生成图谱的详细信息。
-
要使用已创建的知识图谱,请执行以下任一操作:
- 在您的**对话配置**对话框中,点击**助手设置**选项卡以添加相应的知识库,然后点击**提示词引擎**选项卡以打开**使用知识图谱**开关。
- 如果您正在使用 Agent,请点击**检索** Agent 组件以指定知识库,并打开**使用知识图谱**开关。
常见问题
我可以为我的知识库中的不同文件设置不同的知识图谱吗?
是的,可以。每个知识库只生成一个图谱。在图谱提取过程结束时,您文件的较小图谱将被合并成一个大的统一图谱。
当我删除相关文件时,知识图谱会自动更新吗?
不会。知识图谱只有在新上传的文档被解析后才会自动更新。
如何删除已生成的知识图谱?
要删除已生成的知识图谱,请删除知识库中所有相关文件。尽管**知识图谱**条目仍然可见,但图谱实际上已被删除。
创建的知识图谱存储在哪里?
创建的知识图谱的所有块都存储在 RAGFlow 的文档引擎中:Elasticsearch 或 Infinity。
如何导出已创建的知识图谱?
目前不支持导出已创建的知识图谱。如果您仍然认为此功能至关重要,请提交一个 issue,解释您的使用场景及其重要性。