文档转换工具 docling 新增直接提取 PDF 内图片的功能,以及适用于 Apple 芯片的语音识别引擎。将文档转换自动化的开发者可以选择新的处理方式,过去在命令行中被忽略的错误模型配置,现在也会以错误或警告的形式呈现。

1. 只需指定模型即可选择处理路径

2026年11月8日发布的这一版本会在指定视觉语言模型后,自动选择对应的处理路径。视觉语言模型用于读取页面图像并将其转为文本。此前,若不单独选择处理路径,模型设置就会被忽略;现在,同时指定与模型不匹配的路径会报错。不提供任何选项时,仍使用标准路径。

对于混合多种格式的文件夹,可以指定两类模型,无需另外选择处理路径。此时,PDF 和图片使用视觉语言模型,音频使用语音模型。为 PDF 指定语音模型时,会继续执行原有转换并给出警告;若向语音专用路径仅输入 PDF,则会报错,提示该格式不受支持。

新规则能更早暴露错误组合,但也可能改变现有自动化流程所依赖的隐式行为。使用命令行自动化时,需要检查流水线与输入格式的组合。

2. PDF 图片项可选择使用内嵌图像

标准 PDF 转换通常先将页面转为图像,再裁剪图片区域。启用新的可选功能后,若区域内存在一张可安全提取的图像,就会直接提取内嵌图像。由于保留了原始像素尺寸,可以避免页面渲染(即将页面转为图像)及裁剪过程中的画质损失。实际执行转换的后端组件 pypdfium2 和 docling_parse 均支持此功能。

系统通过检查图像与图片区域是否相互重叠 80% 以上来进行匹配。作者说明,这一阈值是自行设定的,在测试中效果良好。对于混有文字或矢量图形(以线条和色块表示的图形等)、难以直接提取的区域,仍采用原有方式裁剪;此次变更针对的是图片项。

3. 在 Apple 芯片上使用 mlx-audio 进行语音识别

新的 mlx-audio 后端可在 Apple 芯片上无需 Torch 即可运行语音识别。部分受支持模型会根据设备、已安装的软件包、转换后模型的可用性及设备设置,自动选择该引擎。若不满足自动切换条件,这些模型会使用 Transformers;此外还新增了固定使用原有引擎的预设。

Granite 语音模型不直接返回时间信息,因此两个引擎现在都会在停顿处分割录音,划分为约 30 秒、范围为 20~40 秒的片段,并为每段附加时间。此次还修复了 Transformers 的生成上限作用于整段录音、导致文本被截断的问题。

根据变更提案,在原有生成 token 上限为 256 时,Granite Speech 5.0 2B 对一段 3 分钟录音约 3,300 字的内容仅保留了 1,227 字,却仍报告成功。新的默认上限提高至 1024,并分别应用于每个片段。这项修复旨在减少处理长录音时的输出缺失。

选择增多的代价是 docling[asr] 的安装体积变大,且在 Apple 芯片上要求 macOS 14 或以上版本。如果只需要格式支持,docling[audio] 也可在 macOS 13 上安装。

命令 docling models 会显示各模型的引擎列表,以及当前设备上自动选择的引擎。引入新引擎前,可用它确认实际执行路径。

4. 在视觉语言路径中新增 OCR 专用模型

新预设接入了用于识别英文和中文文档文字的 13 亿参数模型 MiniCPM-OCR 1.0。它返回整页文本和 Markdown,而非单词或行的位置坐标,因此被集成到视觉语言模型路径中。

预设还包含取自模型卡的防重复设置。变更提案说明,未使用该设置时,文字密集的测试页面会反复生成相同文本;应用后,同一份两页 PDF 能正常完成处理。本地运行需要 Transformers 5.21.0 或以上版本。

在 Python 中,可如下将预设转为选项,再连接到转换器。

from docling.datamodel.pipeline_options import VlmConvertOptions, VlmPipelineOptions

pipeline_options = VlmPipelineOptions(
    vlm_options=VlmConvertOptions.from_preset("minicpm_ocr"),
)

5. 同时修复文档解析器的转换错误

Markdown 只解析以分号结尾的有效字符引用,即将符号转换为字符的表示法。使用反斜杠表示特殊字符的字符串,也会与周围文字保留在同一项中。

对于学术文档格式 JATS,会保留以图片形式嵌入的表格及其说明,并关联普通表格的脚注。

HTML 会将图片说明附加到对应图片,并合并同一块内被拆分的代码标签。通过保留文档结构,减少说明或代码被单独拆开的情况。

这一版本的实用价值在于让模型选择真正作用于处理路径,并更完整地保留图片原图和长录音的文本。