start
为了增强多跳问答,RAGFlow在数据提取和索引之间增加了一个知识图谱构建步骤,如下面所示。这一步骤会从您指定的分块方法生成的现有块中创建额外的块。
从v0.16.0版本开始,RAGFlow支持在知识库上构建知识图谱,允许你在知识库内的多个文件之间构建统一的图谱。当新上传的文件开始解析时,生成的图谱会自动更新。
WARNING
构建知识图谱需要大量内存、计算资源和tokens。
Scenarios
知识图谱在涉及嵌套逻辑的多跳问答中特别有用。当在具有复杂实体和关系的书籍或作品上进行问题回答时,它们比传统的提取方法表现更佳。
注意:RAPTOR(递归抽象处理用于树状组织检索)也可以用于多跳问答任务。详情请参见启用RAPTOR。您可以使用任一方法或两者结合,但确保理解涉及的内存、计算和标记成本。
Prerequisites
系统的默认聊天模型用于生成知识图谱。在继续之前,请确保已正确配置聊天模型。
Configurations
Entity types (Required)
要从知识库中提取的实体类型。默认类型为:组织、人员、事件和类别。您可以添加或删除类型以适合您的特定知识库。
Method
构建知识图谱的方法:
• 通用:使用GraphRAG提供的提示来提取实体和关系。 https://github.com/microsoft/graphraghttps://github.com/microsoft/graphrag
• 轻量级:(默认)使用LightRAG提供的提示来提取实体和关系。此选项消耗更少的令牌、内存和计算资源。
https://github.com/HKUDS/LightRAGhttps://github.com/HKUDS/LightRAG
Entity resolution
是否启用实体解析。你可以将其视为一个实体去重开关。当启用时,LLM将合并相似的实体——例如,'2025'和'2025年',或'IT'和'信息技术'——以构建更有效的图谱。
•(默认)禁用实体解析。
•启用实体解析。此选项会消耗更多token。
Community report generation
在知识图谱中,社区是一组通过关系连接的实体。您可以让大语言模型为每个社区生成摘要,称为社区报告。更多信息请参见此处。 这表示是否生成社区报告GraphRAG: Improving global search via dynamic community selection - Microsoft Research:
• 生成社区报告。此选项会消耗更多令牌。
• (默认)不生成社区报告。
Procedure
1、在知识库的配置页面,打开提取知识图谱或根据需要调整其设置,并点击保存以确认更改。
默认情况下,从现在开始上传的文件在解析时将自动使用这些知识图谱设置。
在此之前解析的文件将保留原有的知识图谱设置。
2、知识库的知识图谱不会自动更新,直到新上传的文件被解析。一旦创建了知识图谱,它将在配置下显示。
3、点击知识图谱查看生成的图谱详情。
4、要使用创建的知识图谱,请执行以下任一操作:
在聊天配置对话框中,点击助手设置选项卡添加相应的知识库,并点击提示引擎选项卡打开使用知识图谱开关;
如果您使用的是代理,点击检索代理组件指定知识库并打开使用知识图谱开关。
Frequently asked questions
1、在我的知识库中,我可以为不同的文件设置不同的知识图谱吗?
是的,你可以。每个知识库只会生成一个图。在提取图的过程结束时,你的文件中的较小图会合并成一个大的统一图。
2、知识图谱在删除相关文件时不会自动更新,
直到新上传的文档被解析才会更新。
3、如何删除生成的知识图谱?
要删除生成的知识图谱,请删除知识库中所有相关文件。尽管知识图谱条目仍然可见,但图谱实际上已被删除。
4、创建的知识图谱存储在哪里?
创建的知识图谱的所有片段都存储在RAGFlow的文档引擎中:Elasticsearch或Infinity。
原文地址:
Construct knowledge graph | RAGFlow