[Question]: Failed to build knowledge graph

用户在使用 RAGFlow 时,在知识图谱(Knowledge Graph)配置中添加自定义实体类型(Entity types),随后运行图谱构建流程,但构建结果为空,知识图谱页面无任何实体或关系显示。

[Question]: Failed to build knowledge graph

[Question]: Failed to build knowledge graph

快速结论:该报错出现在 RAGFlow 用户自定义实体类型后知识图谱构建失败,知识图谱页面无内容。优先排查 graph_extractor 配置中是否覆盖了默认 entity_types 变量。

问题场景

用户在使用 RAGFlow 时,在知识图谱(Knowledge Graph)配置中添加自定义实体类型(Entity types),随后运行图谱构建流程,但构建结果为空,知识图谱页面无任何实体或关系显示。

报错原文

When I add some Entity types, I failed to build knowledge graph, it's nothing in Knowledge graph.

无显式 Python 异常栈,表现为功能失败:知识图谱构建后无输出。

原因分析

可能原因:graph_extractor 模块的 _prompt_variables 仍使用了 DEFAULT_ENTITY_TYPES 硬编码变量,未正确引用用户传入的 entity_types。这导致自定义实体类型未参与图谱提取过程,即使配置添加了新类型,实际提取时仍按默认类型执行,最终输出为空。

环境排查

  • 确认 RAGFlow 版本(建议保持最新 stable 版本)。
  • 检查 graph_extractor 配置文件中 _prompt_variablesentity_types 赋值逻辑。
  • 确认自定义实体类型描述是否清晰、不重叠(如 ORGANIZATION 与 PERSON 的区别)。

解决步骤

  1. 打开 graph_extractor 相关源代码(通常在 RAGFlow 的图谱提取模块中)。
  2. 定位 _prompt_variables 的初始化代码。查找如下原始代码:
    self._prompt_variables = {"entity_types": entity_types, self._tuple_delimiter_key: DEFAULT_TUPLE_DELIMITER, self._record_delimiter_key: DEFAULT_RECORD_DELIMITER, self._completion_delimiter_key: DEFAULT_COMPLETION_DELIMITER, self._entity_types_key: ",".join(DEFAULT_ENTITY_TYPES)}
  3. 将上述代码修改为:
    self._prompt_variables = {self._tuple_delimiter_key: DEFAULT_TUPLE_DELIMITER, self._record_delimiter_key: DEFAULT_RECORD_DELIMITER, self._completion_delimiter_key: DEFAULT_COMPLETION_DELIMITER, self._entity_types_key: ",".join(entity_types)}
    关键修改:移除 "entity_types": entity_types 这一项,并将 self._entity_types_key 的值从 DEFAULT_ENTITY_TYPES 改为 entity_types(即用户传入的自定义实体类型列表)。
  4. 保存修改并重启 RAGFlow 服务。
  5. 重新执行知识图谱构建,使用包含自定义实体类型的配置。可优先尝试添加一个简单的自定义实体类型(如 ORGANIZATION)进行验证。

验证方法

在 RAGFlow 知识图谱页面查看构建结果,确认自定义实体类型对应的实体、关系已正常显示。如果之前无结果,修改配置后再构建应有内容输出。

参考来源

infiniflow/ragflow #6886

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 8083

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注