![[Question]: Failed to build knowledge graph](https://www.chat-gpts.plus/wp-content/uploads/2026/06/6886-32ff5dfd.jpg)
[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_variables的entity_types赋值逻辑。 - 确认自定义实体类型描述是否清晰、不重叠(如 ORGANIZATION 与 PERSON 的区别)。
解决步骤
- 打开
graph_extractor相关源代码(通常在 RAGFlow 的图谱提取模块中)。 - 定位
_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)} - 将上述代码修改为:
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(即用户传入的自定义实体类型列表)。 - 保存修改并重启 RAGFlow 服务。
- 重新执行知识图谱构建,使用包含自定义实体类型的配置。可优先尝试添加一个简单的自定义实体类型(如 ORGANIZATION)进行验证。
验证方法
在 RAGFlow 知识图谱页面查看构建结果,确认自定义实体类型对应的实体、关系已正常显示。如果之前无结果,修改配置后再构建应有内容输出。



