Skip to content

[Bug]: WeKnora连接MinerU的分块预览效果劣于直接导入MinerU解析的Markdown,且 MinIO + MinerU 场景下图片无法在分块预览中展示 #1393

@M1dnightSUN

Description

@M1dnightSUN

Affected Component

Backend Service & API

Bug Description

相关组件

文档解析服务 / MinerU 集成 / 知识导入链路

问题描述

我在使用 WeKnora + MinerU + MinIO 的过程中遇到两个相关问题:

  1. WeKnora 直接调用 MinerU 解析 PDF 后的分块预览效果,明显不如手动将 MinerU 解析出的 Markdown 文件上传到知识库后的分块预览效果。
    • 同一个 PDF,先让 MinerU 单独解析生成 .md,再把该 .md 上传到知识库,分块预览结果更清晰、结构更完整、排版更稳定。
    • 但如果直接走 WeKnora 自己的“PDF -> MinerU -> 导入 -> 分块”链路,分块文本会更乱,预览效果更差。
    • 根据观察,在分块的时候可能并没有走自动分块策略中的”按标题分块“。

上传MinerU解析的Markdown效果:
Image

上传直连WeKnora 自己的“PDF -> MinerU -> 导入 -> 分块”链路的分块效果:

Image
  1. 在使用 MinIO 作为文件存储、MinerU 作为文档解析时,分块预览中无法展示图片。
    • MinerU 后端 outputs 目录中可以确认已经解析出了图片。
    • 但 MinIO 中只有原始上传的 PDF,没有对应的图片对象。
    • 在分块预览中,chunk 内容里可以看到类似 ![](images/xxx.jpg) 的图片引用,以及图片后的 OCR / 描述文本,但图片本身无法显示。
    • 这说明图片引用进入了 Markdown / chunk 文本,但没有被进一步落库存储并替换为可访问资源。

已有 issue / PR 的关系

我已查看以下内容:

根据我的理解,现有方案解决的是:

  • 手动上传图片文件夹 + Markdown 文件
  • 再通过本地图片路径(如 images/pic.png)去关联同知识库中已上传的图片文件

但这没有覆盖 MinerU 直接解析 PDF 的场景:

  • MinerU 解析出来的图片存在于其 outputs 中
  • 这些图片并不会自动作为独立文件写入 WeKnora 知识库 / MinIO
  • 因此最终 chunk 中仍保留 images/xxx.jpg 这类本地相对路径,前端无法展示图片

补充信息

  • MinerU 后端 outputs 目录可以确认已经生成了解析图片
  • MinIO 中仅有原始 PDF,没有对应的图片对象
  • 这说明问题更像出在 WeKnora 的知识导入 / 图片持久化 / Markdown 引用重写链路,而不是 MinerU 本身未解析出图片

使用场景

该问题影响使用 MinerU 批量 OCR 处理复杂 PDF 文档的场景。
当前如果想让图片在 Markdown 中正确展示,需要手动整理图片文件夹并与 Markdown 一起上传,无法满足实际批量处理需求。

环境信息

  • WeKnora version: 0.5.2
  • Deployment: Docker Compose
  • Storage: MinIO
  • Parser: MinerU self-hosted

Steps to Reproduce

  1. 配置 WeKnora 使用 MinIO 作为文件存储
  2. 配置 MinerU 作为文档解析引擎
  3. 上传包含图片 / OCR 内容的 PDF
  4. 查看分块预览:
    • 可以看到图片引用 ![](images/xxx.jpg)
    • 可以看到图片后面的 OCR / 描述文本
    • 但图片本身不显示
  5. 对同一个 PDF,先使用 MinerU 单独导出 .md
  6. 再将该 .md 手动上传到知识库
  7. 对比两种方式的分块预览效果,后者明显更好

Expected Behavior

希望 WeKnora 在直接调用 MinerU 解析文档时:

  1. 尽量保留与 MinerU 导出 Markdown 一致的文本结构和分块效果

    • 使 “WeKnora 直接调用 MinerU” 与 “手动上传 MinerU 生成的 Markdown” 的分块预览效果尽量一致。
  2. 自动处理 MinerU 解析出的图片

    • 将 MinerU outputs / image refs 中的图片自动保存到配置的存储后端(如 MinIO)
    • 自动将 Markdown 中的 images/xxx.jpg 本地引用替换为可访问的存储引用
    • 使图片能够在分块预览中正常显示,而不需要用户手动整理图片文件夹再上传

Actual Behavior

  1. 分块预览效果有差异,直接使用MinerU解析->分块,可能并没有走自动分块策略中的按标题分块
  2. 无法在预览中看到文档中的图片

WeKnora Version

0.5.2

Deployment Method

Docker Compose

Operating System

Windows11

Relevant Logs

Confirmation

  • I have searched existing issues and confirmed this is a new one

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions