1️⃣ 描述一下问题
知识库上传csv文件 知识库文档处理到95%位置时报错 页面持续弹出failed to fetch
base.js:40 GET http://0.0.0.0:5173/api/knowledge/databases/kb_rbas8xlor8/documents?page=1&page_size=100&status=all&recursive=false net::ERR_INSUFFICIENT_RESOURCES
2️⃣ 报错日志
请运行以下命令,并提供部分相关日志:
make logs 的输出:
06-26 10:58:20 ERROR task_service.py:277: Task 5e6eb92262f34fac937da3d21d3c0685 failed: 文件处理完成,失败 1 个
raise RuntimeError(message)
└ '文件处理完成,失败 1 个'
RuntimeError: 文件处理完成,失败 1 个
3️⃣ 相关截图
#️⃣ 其他相关信息
ai分析结果:
结论
-
这次你看到的 95% 报错,主因已经定位并修掉了。
-
根因不是文件真的解析失败,而是后端在汇总结果时把 error: null 也算进了失败数,导致成功解析的文件被误判成“失败 1 个”,见 knowledge_router.py:L800-L817 。
我改了什么
-
在 knowledge_router.py:L800-L817 加了最小观测日志,记录每个文件的 status/error 汇总值。
-
同时把失败判定从“只要有 error 字段就算失败”改成了“ status == failed 或 error 有实际内容才算失败”。
-
补了一个回归测试,覆盖“ parsed + error=None 不应算失败”的场景,见 test_knowledge_router_cleanup.py:L470-L510 。
验证
-
我从任务表里确认到,原来的失败任务确实是这种误判:
- 任务报 文件处理完成,失败 1 个
- 但 result.items[0] 同时是 status = parsed 且 error = null
✅ 如果问题与模型调用相关,请尝试切换到其他在线模型
1️⃣ 描述一下问题
知识库上传csv文件 知识库文档处理到95%位置时报错 页面持续弹出failed to fetch
base.js:40 GET http://0.0.0.0:5173/api/knowledge/databases/kb_rbas8xlor8/documents?page=1&page_size=100&status=all&recursive=false net::ERR_INSUFFICIENT_RESOURCES
2️⃣ 报错日志
请运行以下命令,并提供部分相关日志:
3️⃣ 相关截图
#️⃣ 其他相关信息
ai分析结果:
结论
这次你看到的 95% 报错,主因已经定位并修掉了。
根因不是文件真的解析失败,而是后端在汇总结果时把 error: null 也算进了失败数,导致成功解析的文件被误判成“失败 1 个”,见 knowledge_router.py:L800-L817 。
我改了什么
在 knowledge_router.py:L800-L817 加了最小观测日志,记录每个文件的 status/error 汇总值。
同时把失败判定从“只要有 error 字段就算失败”改成了“ status == failed 或 error 有实际内容才算失败”。
补了一个回归测试,覆盖“ parsed + error=None 不应算失败”的场景,见 test_knowledge_router_cleanup.py:L470-L510 。
验证
我从任务表里确认到,原来的失败任务确实是这种误判:
✅ 如果问题与模型调用相关,请尝试切换到其他在线模型