[Question]: why Entities extraction of chunk 0 1/1 done, 0 nodes, 0 edges

用户在 RAGFlow 中上传文档(推测为 8 页的 PDF 或被分割为 28 个 chunk 的文档),在文档解析(OCR、布局分析、关键词/问题/Meta 生成、Embedding)均成功完成后,触发 GraphRAG 知识图谱构建任务。构建过程中出现 Entities extraction o

[Question]: why Entities extraction of chunk 0 1/1 done, 0 nodes, 0 edges

[Question]: why Entities extraction of chunk 0 1/1 done, 0 nodes, 0 edges

快速结论:该报错说明在 RAGFlow 的 GraphRAG 知识图谱构建过程中,大语言模型(LLM)未能从文档的 chunk 中提取出任何实体和关系。优先排查 LLM 是否正常工作、文档语言与模型是否匹配,以及模型输出格式是否符合预期。

问题场景

用户在 RAGFlow 中上传文档(推测为 8 页的 PDF 或被分割为 28 个 chunk 的文档),在文档解析(OCR、布局分析、关键词/问题/Meta 生成、Embedding)均成功完成后,触发 GraphRAG 知识图谱构建任务。构建过程中出现 Entities extraction of chunk 0 1/1 done, 0 nodes, 0 edges 的日志,最终知识图谱构建结束且未生成任何子图。

报错原文

[GraphRAG] build_subgraph doc:91195a88186711f1b291efd20e28a986 start (chunks=1, timeout=10000000000s)
Entities extraction of chunk 0 1/1 done, 0 nodes, 0 edges, 20426 tokens.
Entities and relationships extraction done, 0 nodes, 0 edges, 20426 tokens, 152.68s.
Entities merging done, 0.01s.
Relationships merging done, 0.01s.
generated subgraph for doc 91195a88186711f1b291efd20e28a986 in 152.72 seconds.
[GraphRAG] build_subgraph doc:91195a88186711f1b291efd20e28a986 empty
[GraphRAG] kb:6bb3302a186711f1b291efd20e28a986 no subgraphs generated successfully, end.
Knowledge Graph done (152.85s)

原因分析

根据 Issue 评论中的官方排查线索,此问题最可能的原因包括:

  • LLM 工作异常:这是已知的常见原因。RAGFlow 内部在实体提取失败时会有警告日志(参考代码中的逻辑:“Didn’t extract any entities and relationships, maybe your LLM is not working”),即 LLM 未能按预期返回实体和关系。
  • 语言不匹配:若文档内容为中文,但使用的 LLM 对中文优化不足,可能导致模型无法正确识别和提取实体。
  • LLM 响应格式问题:模型输出的 JSON 或其他结构化格式与 RAGFlow 的解析器不匹配,导致无法成功解析出实体。
  • 文档内容不包含默认实体类型:默认的实体类型为 organization、person、geo、event、category。若文档中不涉及这些类型的实体,提取结果也可能为空。

注意:该 Issue 并未完全确认具体原因,以上分析为基于官方评论的推断。

环境排查

  • 确认当前使用的 LLM 模型:例如模型名称、是否通过 API 或本地部署。
  • 确认文档的语言:中文、英文或其他语言。
  • 确认 RAGFlow 版本(建议使用最新版本)。
  • 确认并发/资源相关配置:是否设置了 GRAPH_EXTRACTOR_MAX_WORKERSMAX_CONCURRENT_CHATS

解决步骤

以下步骤的优先级根据 Issue 证据排列,其中第一步为已知官方建议,可优先尝试:

  1. 切换 LLM 模型:如果当前模型对文档语言支持不佳,尝试更换一个 LLM,特别是对所用文档语言有更好实体识别能力的模型。更换后务必重新解析文档(reparse)。
  2. 检查 LLM 配置:确认模型连接正常,能正常返回响应。可以先用一个简单的提示词测试模型是否能正确返回实体提取结果。
  3. 降低并发数(如果资源受限):在环境变量中设置 GRAPH_EXTRACTOR_MAX_WORKERS=2MAX_CONCURRENT_CHATS=2,以减少并发压力,避免因资源限制导致提取失败。
  4. 检查文档内容与实体类型匹配:确认文档中是否包含 organization、person、geo、event、category 等默认实体类型。如果文档内容较特殊,可能需要自定义实体类别。

验证方法

触发 GraphRAG 知识图谱构建任务后,观察日志中是否仍出现 Entities extraction of chunk 0 1/1 done, 0 nodes, 0 edges 的报错。若日志显示实体和边数大于 0,且最终生成的子图不为空(不再提示 [GraphRAG] build_subgraph ... empty),则表示问题已修复。

参考来源

infiniflow/ragflow #13411

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 13918

发表回复

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