Dify本地化部署,它默认不内置文档解析引擎的吗?

以下是问答环节的总结:

问题
用户 zhouciming 无法在 Dify 工作流中使用文档提取器节点扫描版PDF中提取文本。尽管部署了本地 Unstructured 服务并在 .envdocker-compose.yaml 中配置了 ETL_TYPE=Unstructured(以及 OCR 环境变量),但输出仍然为空。

诊断
社区成员 kurokobo 阐明了原生配置的局限性:

  1. 设置范围: .env 中的 ETL_TYPE=Unstructured 设置主要用于知识库索引(数据集上传),而不是工作流中的运行时“文档提取器”节点。
  2. PDF处理: 即使在知识库中,Dify 也经常默认使用 pypdfium2 处理 PDF,无论 ETL_TYPE 设置如何,这意味着 Unstructured 服务(及其 OCR)未被调用。
  3. 文档与实际情况: 用户指出 .env 注释中提到了 Unstructured 对“针对 pptx 的文档提取器节点”的支持,这证实了其在工作流节点中对其他文件类型(如 PDF)的应用默认不受支持。

解决方案 / 变通方法
若要在工作流中对扫描版PDF执行OCR:

  • 建议: 不要使用原生文档提取器节点,而应使用 Unstructured 插件(可在 Dify 应用市场中获取)或其他社区创建的 OCR 工具。
  • 原因: 插件允许明确配置处理策略(例如,启用 OCR),而原生节点不通过全局环境变量暴露或遵守这些策略。