[Bug]: Unable to know of the use of Deepdoc when creating dataset via API

该报错发生在通过 API 创建数据集(Dataset/Knowledge Base)后,在 WebUI 中查看该数据集配置时,解析器(Parser)和分块方法显示为空或始终为“naive”,无法确认 DeepDoc 是否被使用。优先排查后端数据库中 parser_id 字段是否被固定写为 "naiv

快速结论:该报错发生在通过 API 创建数据集(Dataset/Knowledge Base)后,在 WebUI 中查看该数据集配置时,解析器(Parser)和分块方法显示为空或始终为“naive”,无法确认 DeepDoc 是否被使用。优先排查后端数据库中 parser_id 字段是否被固定写为 "naive",并直接通过 API 响应中的 parser_config 对象确认 layout_recognize 是否为 "DeepDOC"

适用环境:RAGFlow v0.17.1(Docker 部署,含 Ollama 集成,运行于 AWS 虚拟机);通过 HTTP API 创建数据集后,在 WebUI 查看配置。

最快修复方案:暂无确认的一步修复方案。此问题在 Issue 讨论中被标记为已知未解决问题(关联 #6043),尚未有官方修复补丁。可优先尝试:通过 API 请求数据集详情,检查返回的 parser_config 对象中 layout_recognize 字段值,若为 "DeepDOC" 则说明后端实际已使用 DeepDoc 解析,只是 UI 显示异常。

注意事项:此方案仅能确认后端实际行为,无法修复 UI 显示问题。UI 组件(如 ChunkMethodDialogChunkMethodModal)依赖后端返回的 parser_id 字段来决定显示内容;如果后端始终返回 "naive",则 UI 无法显示 DeepDoc。该问题在最新信息中仍未解决。

问题场景

用户在 RAGFlow v0.17.1 中通过 HTTP API 创建数据集(Dataset/KB),创建时未显式指定解析器或在 parser_config 中设置了分块参数。随后在 WebUI 中打开该数据集的配置页面,发现“分块方法”(Chunking method)和“解析器”(Parser)字段为空或显示为“naive”,无法确认 DeepDoc 是否被使用,导致用户对实际生效的解析逻辑产生困惑。

报错原文

[Bug]: Unable to know of the use of Deepdoc when creating dataset via API

原因分析

可能原因有两层:

1. 后端默认逻辑:当通过 API 创建数据集且未显式指定 layout_recognize 时,API 默认将其设置为 "DeepDOC",因此后端在布局识别和解析任务中确实使用了 DeepDoc。

2. 已知 UI/后端不一致问题:仓库存在一个已知问题(关联 #6043),即数据库中的 parser_id 字段始终被固定为 "naive",无论实际解析配置如何。这导致 UI 在读取配置时无法显示真实使用的解析器(如 DeepDoc),即使后端已按配置运行。

环境排查

  • 确认 RAGFlow 版本是否为 v0.17.1(或相关已知问题存在的版本)。
  • 确认部署方式为 Docker 容器,并记录 ragflow_server 容器日志中与数据集创建相关的 API 请求。
  • 检查数据集创建的 API 请求 body,确认 parser_config 中是否显式设置了 layout_recognize 字段。
  • 通过 API 查询已创建数据集的详细信息,对比返回的 parser_idparser_config.layout_recognize 字段值。

解决步骤

  1. 通过 API 调用获取数据集详情,例如 GET /api/v1/datasets/{dataset_id},检查响应 JSON 中的 parser_idparser_config.layout_recognize 字段。
  2. parser_config.layout_recognize"DeepDOC",确认后端已使用 DeepDoc 进行解析,即使 parser_id 返回 "naive"
  3. 检查数据库(如 MySQL 或 PostgreSQL,取决于 RAGFlow 配置)中该数据集的 parser_id 字段值,确认是否为 "naive"
  4. 若确认为已知问题(#6043),可尝试在创建数据集时显式在 parser_config 中声明其他解析参数,观察 UI 显示是否变化。
  5. 关注官方仓库的 Issue #6043 和 #5998,等待补丁或版本更新修复 UI 显示问题。

验证方法

通过 API 创建数据集后,立即调用数据集详情接口,确认返回的 parser_config.layout_recognize 字段值为 "DeepDOC"。即使 UI 中解析器显示为空或“naive”,只要 API 响应中该字段为 "DeepDOC",即可确认后端实际使用了 DeepDoc 解析。此验证不依赖 UI 显示。

参考来源

infiniflow/ragflow #5998

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 19630

发表回复

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