AI驱动的免费文档解析工具Docling

简介

什么是 Docling ?

Docling 是一个开源的 python 文档处理库,由 IBM 开发,用于将 PDFDOCXPPTXXLSX、图像、HTML 等文档转换为结构化的 MarkdownJSON 格式,为构建 AI 驱动的 RAG/QA 应用提供了高效、便捷的解决方案。

什么是 Docling Serve ?

Docling Serve 是一个将 Docling 作为 API 服务运行的项目。

主要特点

  • 多格式支持:支持读取和转换多种文档格式,让你无需担心不同格式的兼容性问题。
  • PDF 文档理解:不仅能够提取 PDF 文档的文字内容,还能解析页面布局、阅读顺序和表格结构,提供深入的信息,完美还原数据。
  • 统一格式:使用统一的 DoclingDocument 格式来表示文档内容,方便后续处理和分析。
  • 本地执行能力:在处理敏感数据或在隔离环境中执行时,支持本地运行。
  • 即插即用的集成:可以轻松集成 LlamaIndex 和 LangChain 等工具,实现强大的 RAG / QA 应用。
  • OCR支持:支持 OCR 技术,可以处理扫描的 PDF 文件。
  • 简单易用:提供简单的 CLI 命令行界面,用户快速使用。
  • 音频支持:支持与自动语音识别(ASR)模型的集成,处理音频内容。

应用场景

  • 文档处理:企业和组织可以使用 Docling 来自动化文档处理流程,提高效率。
  • 学术研究:研究人员可以解析和提取研究文献中的重要信息,便于分析和引用。
  • 内容创建:内容创作者可以快速转换和格式化文档,以便于发布和分享。
  • 数据提取:数据科学家和分析师可以使用 Docling 从各种文档中提取结构化数据,支持数据分析工作。

Docling 是一个功能强大且灵活的工具,适合需要高效文档处理和生成式 AI 集成的用户。

安装

在群晖上以 Docker 方式安装。

Docling Serve 有多个镜像,可用于在不同硬件配置下运行,老苏选择了基础镜像

镜像 描述 架构 大小
ghcr.io/docling-project/docling-serve
quay.io/docling-project/docling-serve

从官方 PyPI 索引安装的所有包的基础映像
linux/amd64
linux/arm64
4.4 GB (arm64)
8.7 GB (amd64)
ghcr.io/docling-project/docling-serve-cpu
quay.io/docling-project/docling-serve-cpu

仅限 CPU 变体,使用 PyTorch CPU 索引中的 torch
linux/amd64
linux/arm64
4.4 GB
ghcr.io/docling-project/docling-serve-cu126
quay.io/docling-project/docling-serve-cu126

CUDA 12.6 使用torch cu126 索引构建
linux/amd64 10.0 GB
ghcr.io/docling-project/docling-serve-cu128
quay.io/docling-project/docling-serve-cu128

CUDA 12.8 使用torch cu128 索引构建
linux/amd64 11.4 GB

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
# 运行容器
docker run -d \
--restart unless-stopped \
--name docling-serve \
-p 5015:5001 \
-e DOCLING_SERVE_ENABLE_UI=1 \
-e GRADIO_MCP_SERVER=True \
quay.io/docling-project/docling-serve
  • DOCLING_SERVE_ENABLE_UI=1:表示启用 Web UI
  • GRADIO_MCP_SERVER=True:表示启用 MCP Server

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
version: '3'

services:
docling-serve:
image: quay.io/docling-project/docling-serve
container_name: docling-serve
restart: unless-stopped
ports:
- "5015:5001"
environment:
- DOCLING_SERVE_ENABLE_UI=1
- GRADIO_MCP_SERVER=True

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 docling-serve 和 子目录
mkdir -p /volume1/docker/docling-serve

# 进入 docling-serve 目录
cd /volume1/docker/docling-serve

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5015 就能看到主界面

找了篇旧文的 pdf

上传文件,选项保存默认即可

开始处理

处理完成后

有点小的排版问题,整体看起来还是相当不错的

参考文档

docling-project/docling: Get your documents ready for gen AI
地址:https://github.com/docling-project/docling

docling-project/docling-serve: Running Docling as an API service
地址:https://github.com/docling-project/docling-serve

Docling - Docling
地址:https://docling-project.github.io/docling/