
ValueError: not find model file path /workspace/ragflow/rag/res/deepdoc/det.onnx
快速结论:此报错通常出现在RAGFlow解析文档(Parsing)阶段卡住时,后台日志中可能伴随出现模型文件缺失错误。优先确认RAGFlow版本是否为v0.19.0,并检查任务执行器(Task Executor)是否正常运行。
问题场景
用户通过OpenAI-API-Compatible接口将本地部署的Embedding模型接入RAGFlow,但文档解析(Parsing)流程持续卡住,Embedding服务未收到任何请求。后台日志中显示模型文件路径错误。
报错原文
ValueError: not find model file path /workspace/ragflow/rag/res/deepdoc/det.onnx
原因分析
可能原因:
- RAGFlow v0.19.0版本已知Bug:该版本存在一个Bug,导致部分自定义模型(包括通过OpenAI-API-Compatible接入的Embedding模型)无法正常工作,解析过程卡住。此问题已在后续版本中修复。
- Embedding模型注册/配置问题:Embedding模型可能未正确注册在
conf/llm_factories.json中,或后端无法识别该模型。模型标识符必须符合<model_name>@OpenAI-API-Compatible格式,且两部分均为非空字符串。 - 任务执行器(Task Executor)异常:Task Executor进程可能未运行或心跳异常,导致解析任务无法分发。
- 网络连通性问题:在Docker容器中运行RAGFlow时,使用
127.0.0.1或localhost可能无法访问宿主机上的Embedding服务,需使用宿主机的内部IP地址(如172.17.0.1:your_port)。
环境排查
- RAGFlow版本号:确认是否为v0.19.0(通过Web界面或
docker logs查看启动日志)。 - Task Executor状态:在Web UI的“系统”页面检查Task Executor的健康状态,或查看日志中是否有“reported heartbeat”心跳信息。
- Embedding模型配置:检查
conf/llm_factories.json中是否正确添加了模型条目,并核对base_url是否可访问。 - 网络连接:在RAGFlow容器内测试能否访问Embedding服务的地址和端口(例如使用
curl命令)。
解决步骤
- 升级RAGFlow版本(如为v0.19.0):优先尝试将RAGFlow升级到v0.19.0之后的版本。
- 检查并注册Embedding模型:
- 确认模型条目已存在于
conf/llm_factories.json中。 - 确保模型标识符格式为
<model_name>@OpenAI-API-Compatible。
- 确认模型条目已存在于
- 修复Task Executor:
- 在Web UI的“系统”页面检查Task Executor状态。如果显示异常,重新启动RAGFlow服务或容器。
- 查看容器日志,确认Task Executor发出的心跳信息是否正常。
- 修正网络地址:如果RAGFlow运行在Docker容器中,将Embedding服务的
base_url从127.0.0.1或localhost改为宿主机内部IP(如172.17.0.1),或使用host.docker.internal。 - 手动补丁(临时方案,可优先尝试):若无法升级版本,可手动编辑Docker容器内的
api/utils/api_utils.py文件,添加自定义模型配置,然后重启容器。
验证方法
修改后,重新尝试上传文档进行解析。确认解析流程不再卡住,Embedding服务正常收到请求,且后台日志中不再出现ValueError: not find model file path /workspace/ragflow/rag/res/deepdoc/det.onnx错误。



