在构建文档问答、知识库或RAG(检索增强生成)系统时,处理PDF、PPT、Word等复杂文档的格式转换、OCR和结构化提取是一大痛点。
格式转换繁琐、OCR识别不准、结构化处理耗时,这些问题不仅拖慢开发进度,还可能影响AI应用的准确性。
由Lumina AI开发并开源的一款开源文档处理API,利用视觉语言模型(VLM)即可将复杂文档转为RAG/LLM就绪的结构化数据。
它便是 Chunkr,大家可以将其视为一个智能文档处理管道,能够理解文档布局、精确提取文本,并为 AI 应用智能分块文档。

Chunkr 核心解决了 AI 开发中的一个基本问题:使文档可被机器读取并适合 AI 使用。
GitHub 项目地址: https://github.com/lumina-ai-inc/chunkr
核心功能
-
• 多格式文档解析:支持 PDF、PPT、Word、图片等多种格式 -
• 带边界框的高精度 OCR:提取文本的同时保留空间关系和位置信息 -
• 语义分块:自动将文档切分成适合 RAG 和 LLM 的上下文块 -
• 多格式输出:以结构化 HTML、markdown、JSON 和纯文本形式提供结果 -
• Python SDK:方便直接集成到 Python 应用或后端服务 -
• LLM 支持:可配置 OpenAI、Claude、Ollama 等本地/远程模型
快速入手
Chunkr 提供两种入门方式,云服务和本地部署。
方式一:云服务(最快)
访问官方网站 chunkr.ai
,创建账户并复制API密钥。

本地再安装 Python SDK
pip install chunkr-ai
Python 调用示例:
from chunkr_ai import Chunkr
# 使用您的 API 密钥进行初始化
chunkr = Chunkr(api_key="your_api_key")
# 上传文档(URL 或本地文件路径)
url = "https://chunkr-web.s3.us-east-1.amazonaws.com/landing_page/input/science.pdf"
task = chunkr.upload(url)
# 以多种格式导出结果
html = task.html(output_file="output.html")
markdown = task.markdown(output_file="output.md")
content = task.content(output_file="output.txt")
task.json(output_file="output.json")
# 清理资源
chunkr.close()
方式二:Docker 本地部署
前置要求:
-
• Docker 和 Docker Compose 已安装在您的系统上 -
• 8GB+ 可用内存(建议 16GB) -
• NVIDIA GPU(可选,用于获得更好的性能)
第 1 步:克隆项目
git clone https://github.com/lumina-ai-inc/chunkr
cd chunkr
第 2 步:配置环境
复制示例配置文件:
# 复制环境变量文件
cp .env.example .env
# 复制 LLM 模型配置文件
cp models.example.yaml models.yaml
再编辑 models.yaml 来配置您的 LLM 提供商。这是最重要的一步——Chunkr 使用 LLM 进行智能文档处理:
models:
# OpenAI 配置示例
- id: gpt-4o
model: gpt-4o
provider_url: https://api.openai.com/v1/chat/completions
api_key: "your_openai_api_key_here"
default: true
rate-limit: 200 # 每分钟请求数 - 可选
# 备用模型(必需)
- id: gemini-2.0-flash-lite
model: gemini-2.0-flash-lite
provider_url: https://generativelanguage.googleapis.com/v1beta/openai/chat/completions
api_key: "your_google_ai_studio_api_key_here"
fallback: true
关键点:
-
• 必须有且仅有一个模型设置为 default: true
-
• 必须有且仅有一个模型设置为 fallback: true
-
• 可以添加多个模型,并在 API 请求中通过 ID 引用它们 -
• rate-limit
是可选的,但建议在生产环境中使用
第 3 步:启动服务
根据系统选择合适的命令:
# 对于拥有 NVIDIA GPU 的系统(推荐):
docker compose up -d
# 对于仅 CPU 的系统:
docker compose -f compose.yaml -f compose.cpu.yaml up -d
# 对于 Mac ARM 架构(M1, M2, M3 等):
docker compose -f compose.yaml -f compose.cpu.yaml -f compose.mac.yaml up -d
第 4 步:验证安装
服务运行后,验证一切是否正常工作:
-
• 检查 Web UI:在浏览器中打开 http://localhost:5173
-
• 检查 API:访问 http://localhost:8000/health
查看 API 状态 -
• 通过 Web 界面上传测试文档
第 5 步:处理你的第一个文档
现在 Chunkr 已经运行,让我们使用本地 API 处理一个文档:
import requests
# 本地 API 端点
API_URL = "http://localhost:8000"
# 上传文档
with open("your-document.pdf", "rb") as f:
response = requests.post(
f"{API_URL}/api/v1/document/upload",
files={"file": f},
headers={"Authorization": "Bearer your-api-key"}
)
task_id = response.json()["task_id"]
# 检查状态
status_response = requests.get(
f"{API_URL}/api/v1/task/{task_id}",
headers={"Authorization": "Bearer your-api-key"}
)
print(status_response.json())
第 6 步:管理服务
完成后,也可以停止服务:
# 对于 GPU 部署:
docker compose down
# 对于仅 CPU 部署:
docker compose -f compose.yaml -f compose.cpu.yaml down
# 对于 Mac ARM 架构:
docker compose -f compose.yaml -f compose.cpu.yaml -f compose.mac.yaml down
应用场景
-
• 文档问答:解析 PDF/Word/PPT 生成干净的结构化语料 -
• 企业知识库:自动将内部资料转换为 AI 可用的分块数据 -
• OCR 场景:保留文字位置坐标,方便做表格/图文混排处理 -
• RAG 系统:直接将输出的 JSON/Markdown 接入检索增强生成
写在最后
Chunkr以其强大的文档处理能力,将PDF、PPTX、DOCX、Excel和图像转为RAG/LLM-ready的结构化数据,支持OCR、语义分块和多格式输出。
在 GitHub 已经收获了 2.6K Star,很受用户的青睐和使用。
相比传统的 Docling、olmOCR 这种单一文档解析工具,Chunkr 集 OCR、文档解析、分块、格式化于一体,非常适合直接做文档问答或知识库的底层能力。
有兴趣的小伙伴可以去官网或本地部署体验,或许未来会集成到你所开发的项目中。

● 一款改变你视频下载体验的神器:MediaGo
● 字节把 Coze 核心开源了!可视化工作流引擎 FlowGram 上线,AI 赋能可视化流程!
● 英伟达开源语音识别模型!0.6B 参数登顶 ASR 榜单,1 秒转录 60 分钟音频!
● 开发者的文档收割机来了!这个开源工具让你一小时干完一周的活!
● PDF文档解剖术!OCR神器+1,这个开源工具把复杂排版秒变结构化数据!

(文:开源星探)