feat: 添加 Docling Serve 服务,更新 docker-compose 配置以支持内容提取功能

This commit is contained in:
alook
2026-08-24 10:51:32 +08:00
parent dcbbd9b98d
commit edd0e7b1ac
3 changed files with 67 additions and 1 deletions
+20 -1
View File
@@ -1,10 +1,11 @@
# AI Stack
这个项目用 Docker Compose 组合了三个服务:
这个项目用 Docker Compose 组合了以下主要服务:
- LiteLLM:作为统一的模型代理层,对外提供 OpenAI 兼容接口
- Open WebUI:作为 Web 端聊天界面,直接连接 LiteLLM
- Jupyter:作为 Open WebUI Code Interpreter 的 Python 执行环境,用于生成 Excel 等文件
- Docling Serve:作为 Open WebUI 的内容提取引擎,负责文档 OCR、版面和表格解析
当前仓库的核心目标,是基于 Gemini 系列模型快速搭一套可本地运行的 AI 网关与聊天界面。
@@ -60,6 +61,24 @@ Jupyter 只在 Docker 内网中提供给 Open WebUI 使用,不暴露到宿主
请使用 Code Interpreter 生成一个 Excel 文件,包含以下字段:姓名、部门、金额,并提供下载链接。
```
### 4. Docling Serve
Docling Serve 使用 CPU 镜像运行,只在宿主机回环地址暴露 5001 端口,Open WebUI 通过 Docker 内部地址
`http://docling-serve:5001` 调用它。默认启用 OCR、`dlparse_v4` PDF 后端和准确表格解析,模型文件保存在
`docling-data` 卷中,避免容器重建后重复下载。
本地编排启动后可访问 <http://127.0.0.1:5001/ui>,线上编排使用 <http://127.0.0.1:18014/ui>。Open WebUI
与 Docling 位于同一 Docker 网络,服务间调用始终使用 `http://docling-serve:5001`,不能填写宿主机映射端口。
上传测试文档并确认能够返回 Markdown。首次处理文档时可能需要下载模型,耗时和内存占用会明显高于后续请求。
Open WebUI 的文档设置属于持久化配置。全新数据卷会读取 Compose 中的 Docling 环境变量;如果实例已经运行过,
数据库里的旧设置可能覆盖环境变量。此时进入 `设置 → 管理员设置 → 工具 → 文档`,将内容提取引擎设为
`Docling`,服务地址设为 `http://docling-serve:5001`,参数设为:
```json
{"do_ocr": true, "pdf_backend": "dlparse_v4", "table_mode": "accurate"}
```
## 已配置模型
LiteLLM 当前已配置以下 Gemini 模型别名: