![[Bug]: Division by zero error with knowledge graph](https://www.chat-gpts.plus/wp-content/uploads/2026/07/11961-c35783a6.jpg)
[Bug]: Division by zero error with knowledge graph
快速结论:在 RAGFlow v0.22.1 生成知识图谱时,无论使用哪种解析方法、实体类型或文档格式,都可能触发 division by zero 错误。优先建议升级到最新镜像版本;若无法升级,可尝试手动修补分块分页逻辑。
问题场景
用户在 RAGFlow v0.22.1 中,通过 DeepDOC 解析 TXT 或 PDF 文档后,尝试生成知识图谱(Knowledge Graph)。报错发生在以下多种配置组合下:
- 方法:Light / General
- 实体类型:最少 2 种(如 organization, person)
- 分辨率:关闭
- 社区发现:关闭
- 文件类型:TXT、PDF
- 文件大小:30KB 至 6.5MB
- LLM 模型:Mistral-Small-3.2-24B、llama-3-70B(通过 DeepInfra)
报错原文
2025-12-16 03:25:41,369 INFO 29 set_progress(...), progress: None, progress_msg: 03:25:41 [GraphRAG] build_subgraph doc:... FAILED: ExceptionGroup('Exceptions from Trio nursery', [Exception('Maximum error count (3) reached. Last errors: division by zero'), ...])
2025-12-16 03:25:41,382 INFO 29 set_progress(...), progress: None, progress_msg: 03:25:41 [GraphRAG] kb:... no subgraphs generated successfully, end.
原因分析
该问题是一个已知的、在多个版本中反复出现的错误,可能原因有两个:
- 可能原因 1(可优先尝试):RAGFlow 的分块分页逻辑存在 Bug,对于大文档可能导致分块处理不完整,进而使图谱构建失败。相关信息见 #11687。
- 可能原因 2:在 RAPTOR 组件中,如果所有相关性分数(relevance scores)完全相同,归一化步骤中
max_rank - min_rank为 0 时会触发除零错误。相关信息见 #6685。
注意:截至 Issue 关闭时,没有合并的 PR 直接修复 v0.22.1 中的知识图谱除零错误。
环境排查
- 确认 RAGFlow 镜像版本:用户当前版本为
v0.22.1 - 确认工作区提交 ID:
7ca3e11 - 确认操作系统:Linux
解决步骤
- 升级镜像版本(推荐):拉取最新版 RAGFlow 镜像,因为较新的代码已包含 RAPTOR 归一化的修复(参考 #6685)。
- 手动修补分页逻辑(临时方案,可优先尝试):
- 编辑
rag/nlp/search.py文件,修补分块分页逻辑。 - 或在调用分页的位置增大
max_count参数值。具体补丁步骤参考 #11687。
- 编辑
验证方法
使用之前失败的相同文档和配置,在应用上述任一步骤后重新生成知识图谱。如果日志中不再出现 division by zero 错误且子图成功构建,则说明问题已解决。



