乐于分享
好东西不私藏

文档提取太痛苦?这个被低估的开源工具,Docker 一跑直接解放双手

文档提取太痛苦?这个被低估的开源工具,Docker 一跑直接解放双手

一、Docling介绍

1.1 Docling项目简介

Docling 是一个强大的开源文档处理工具,专注于解析多种格式的文档(尤其是具备深度理解能力的 PDF),并提供与生成式 AI 生态系统的无缝集成,支持本地运行以保障数据安全。

1.2 Docling主要特点

  • 多格式解析
    :支持 PDF、DOCX、PPTX、XLSX、HTML、音频(WAV、MP3)、字幕(VTT)、图像(PNG、TIFF、JPEG 等)等多种文档和媒体格式的解析。
  • 高级 PDF 理解
    :精准识别 PDF 的页面布局、阅读顺序、表格结构、代码块、数学公式及图像类型,还原文档语义结构。
  • 统一文档表示
    :采用结构清晰、表达力强的 DoclingDocument 格式,统一不同来源文档的内部表示。
  • 灵活导出选项
    :可导出为 Markdown、HTML、DocTags 或无损 JSON 等多种格式,便于下游应用处理。
  • 本地化执行
    :支持完全离线运行,适用于处理敏感数据或在无网络连接(air-gapped)环境中使用。
  • AI 生态集成
    :开箱即用支持 LangChain、LlamaIndex、Crew AI 和 Haystack 等主流 AI 框架,轻松构建智能文档代理。
  • 强大 OCR 能力
    :内置对扫描版 PDF 和图像中文本的高精度光学字符识别(OCR)支持。
  • 视觉语言模型支持
    :兼容多种视觉语言模型(如 GraniteDocling),提升图文混合文档的理解能力。
  • 音频转文本
    :集成自动语音识别(ASR)模型,可将 WAV、MP3 等音频文件转换为可处理的文本内容。
  • MCP 服务器集成
    :通过 MCP(Model Control Protocol)服务器,可与任意 AI Agent 连接,实现动态文档处理工作流。
  • 便捷命令行工具
    :提供简单易用的 CLI,快速完成文档解析与转换任务,适合脚本化和自动化部署。单。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname
IP地址
操作系统版本
Docker版本
部署项目
备注
jeven
192.168.3.88
Ubuntu 24.04.2 LTS
28.5.0
Docling
——

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署Docling开源文档处理工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven:~# systemctl status docker● docker.service - Docker Application Container Engine      Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)     Active: active (running) since Tue 2025-12-02 00:51:31 CST; 1min 11s ago TriggeredBy: ● docker.socket        Docs: https://docs.docker.com    Main PID: 75393(dockerd)      Tasks: 32     Memory: 34.1M (peak: 34.8M)        CPU: 1.248s      CGroup: /system.slice/docker.service 

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -vDocker version 28.5.0, build 887030f 

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven:~# docker compose versionDocker Compose version v2.39.4 

四、拉取Docling镜像

下载Docling镜像,镜像名称为:quay.io/docling-project/docling-serve:v1.9.0。Docling Serve 有多个镜像,可用于在不同硬件配置下运行,包括quay.io/docling-project/docling-serve-cpu、quay.io/docling-project/docling-serve-cu126、quay.io/docling-project/docling-serve-cu128等,可自行根据需要使用。

docker pull quay.io/docling-project/docling-serve:v1.9.0 

五、部署Docling服务

5.1 创建部署目录

  • 创建部署目录
mkdir-p /data/docling &&cd /data/docling 

5.2 docker compose方式部署

使用docke-cli方式部署,可参考:

docker run -d\docker run -d\--restart unless-stopped \--name docling-serve \-p5300:5001 \-eDOCLING_SERVE_ENABLE_UI=1\-eGRADIO_MCP_SERVER=True \  quay.io/docling-project/docling-serve:v1.9.0 

新建及编辑docker-compose.yaml文件,宿主机映射端口可自行设置,注意防止端口冲突。

vim docker-compose.yaml 
version:'3'services:docling-serve:image:  quay.io/docling-project/docling-serve:v1.9.0 container_name: docling-serve restart: always  ports:-"5300:5001"environment:- DOCLING_SERVE_ENABLE_UI=1 - GRADIO_MCP_SERVER=True 
  • 环境变量解释:
环境变量
说明
DOCLING_SERVE_ENABLE_UI 1
启用 Docling Serve 的 Web 用户界面(UI)
GRADIO_MCP_SERVER True
启用 Gradio MCP(Model Control Protocol)服务器,用于外部工具或客户端与服务通信

5.3 创建Docling容器

执行以下命令,创建Docling容器。

docker compose up -d

5.4 查看Docling容器状态

检查Docling容器运行状态,确保Docling容器正常启动。

root@jeven:/data/docling# docker compose psWARN[0000] /data/docling/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion NAME            IMAGE                                          COMMAND                   SERVICE         CREATED          STATUS          PORTS docling-serve   quay.io/docling-project/docling-serve:v1.9.0   "container-entrypoin…"   docling-serve   25 seconds ago   Up 24 seconds   8080/tcp, 0.0.0.0:5300->5001/tcp, [::]:5300->5001/tcp 

5.5 检查Docling容器日志

检查容器运行日志,确保Docling服务正常运行。

docker compose logs 

六、访问Docling服务

6.1 访问Docling首页

浏览器地址: http://<个人的服务器IP>:5300/ui,访问Docling初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 文档处理

上传文档后,点击“Process File”选项,开始处理文档,处理后的效果可以在线预览。

七、总结

本次实践成功通过Docker和Docker Compose快速部署了Docling开源文档处理工具,验证了其容器化部署的便捷性和高效性。整个过程涵盖了环境检查、镜像拉取、服务编排与启动、状态监控及功能访问等关键步骤。Docling在本地运行稳定,能够顺利提供文档解析与转换服务,展现出良好的易用性和扩展性。通过本次实战,不仅加深了对Docling功能的理解,也提升了使用Docker部署AI/文档处理类应用的实战能力。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 文档提取太痛苦?这个被低估的开源工具,Docker 一跑直接解放双手

评论 抢沙发

9 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮