[Bug]: [ERROR][Exception]: Exceptions from Trio nursery

用户使用 RAGFlow v0.22.1,上传包含 10,382 个文件的知识库进行大规模解析,并点击生成知识图谱(Knowledge Graph)。在嵌入节点处理到约 1809/1894 步时,服务返回 500 错误,解析任务中断且无法通过界面按钮继续。

快速结论:该报错在 RAGFlow v0.22.1 大规模(上万文件)解析和生成知识图谱时,常由并发嵌入节点时超时、资源耗尽或后端子线程死锁引发。优先排查 LLM 超时设置、并发数限制以及上下文长度是否超出模型限制。

问题场景

用户使用 RAGFlow v0.22.1,上传包含 10,382 个文件的知识库进行大规模解析,并点击生成知识图谱(Knowledge Graph)。在嵌入节点处理到约 1809/1894 步时,服务返回 500 错误,解析任务中断且无法通过界面按钮继续。

报错原文

00:12:09 [ERROR][Exception]: Exceptions from Trio nursery (2 sub-exceptions) --
Error code: 500 - {'error': {'message': 'Request processing failed due to an unknown error.', 'type': 'bad_response_status_code', 'param': '', 'code': 'bad_response_status_code'}}

原因分析

可能原因包括:

  • 任务并发过多导致资源耗尽: 大规模嵌入节点时,大量并发任务涌入,导致 Trio nursery(异步任务管理器)抛出异常。
  • LLM 请求超时: 默认超时时间不足以完成大规模批次的嵌入请求。
  • 模型上下文长度溢出: 分块(chunk)大小超出了所用模型的上下文窗口限制。
  • 后端死锁或子线程挂起: 大量并行嵌入操作可能触发 Python 或其他后端的死锁状态。

以上均为已知 issue 中的推测,在 v0.22.1 中尚无明确根因修复。

环境排查

  • RAGFlow 版本:v0.22.1
  • 提交 ID(commit):26d3480e
  • 硬件:Intel E5-2637v4,64GB 内存,Synology NAS
  • 需检查的配置项:
    • LM_TIMEOUT_SECONDS(LLM 超时设置,默认值可能偏小)
    • GRAPH_EXTRACTOR_MAX_WORKERS(知识图谱提取最大并发数)
    • 所使用的嵌入模型及其上下文长度
    • 分块(chunk)大小设置

解决步骤

  1. 调整超时与并发设置
    可优先尝试在环境变量或配置文件中增大 LM_TIMEOUT_SECONDS=1200,并降低 GRAPH_EXTRACTOR_MAX_WORKERS=2
  2. 关闭影响性能的功能
    在大规模解析期间,建议暂时关闭以下功能(如有开启):reranker、RAPTOR、auto-keyword 和 auto-question。
  3. 检查分块大小
    确保分块(chunk)大小不超过所用嵌入模型的上下文长度限制,并确认所选解析器(parser)遵守 chunk size 设置。
  4. 重新触发解析
    因为当前版本没有提供“继续解析”按钮,失败的任务需要手动重新触发。可通过修改文档的解析器(例如临时改为其他解析器再改回),使文档状态变为“未处理”,然后重新开始解析。此操作可通过 API 编写脚本批量完成,但官方未提供标准文档。
  5. 收集关键日志
    向开发者提供以下日志以进一步诊断:

    • ragflow-server 容器日志,特别聚焦于报错发生时间点附近
    • 任何带有 [ERROR][Exception] 及 Trio nursery 错误的任务执行日志
    • 任务执行器日志(rag/svr/task_executor.py),关注嵌入和分块步骤

验证方法

执行上述调整后,重新运行解析流程,观察是否能稳定完成所有文档的嵌入过程,不再出现 [ERROR][Exception]: Exceptions from Trio nursery 和 HTTP 500 错误。同时检查所有文档的解析状态是否标记为成功。

参考来源

infiniflow/ragflow #12545

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 16094

发表回复

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