chandra
Chandra 是一款先进的开源 OCR(光学字符识别)模型,专为处理复杂的文档智能任务而设计。它能将图片或 PDF 文件高效转换为结构化的 HTML、Markdown 或 JSON 格式,并完整保留原文档的版面布局信息。
传统 OCR 工具在面对复杂表格、手写笔记、数学公式或多语言混合文档时,往往难以准确还原结构或识别内容。Chandra 正是为了解决这些痛点而生,它不仅能精准识别 90 多种语言的文字,还能出色地还原包含复选框的表单、错综复杂的表格以及手写数学推导过程,甚至能自动提取图表并生成描述性标题。
这款工具非常适合开发者、数据科学家及研究人员使用。无论是需要构建文档自动化流程的工程师,还是希望从扫描文献中提取结构化数据的研究者,都能从中受益。Chandra 提供了灵活的部署方式,既支持通过 Hugging Face 在本地运行,也兼容轻量级的 vLLM 服务器部署,同时还配有便捷的命令行工具和交互式应用,让用户能快速上手。作为 Datalab 推出的前沿模型,Chandra 在多项基准测试中表现卓越,尤其在多语言支持和复杂版面重建方面展现了强大的技术实力,是处理高难度文档数字化任务的理想选择。
使用场景
某金融审计团队需要紧急处理数百份包含手写批注、复杂财务报表及多语言合同的扫描 PDF,以便进行自动化数据归档与分析。
没有 chandra 时
- 表格结构丢失:传统 OCR 将复杂的财务跨行/跨列表格识别为混乱的纯文本,导致数据错位,人工校对耗时极长。
- 手写内容无法读取:审计员在文档边缘的手写备注和勾选项被完全忽略或识别为乱码,关键审计线索断裂。
- 布局逻辑错乱:多栏排版和多语言混合文档的阅读顺序被打乱,后续程序无法正确解析段落逻辑。
- 公式与图表失效:文档中的数学计算公式和统计图表仅被转为无意义的字符堆砌,失去分析价值。
- 人工成本高昂:团队需雇佣大量临时人员手动录入和重构数据结构,项目周期被迫延长数周。
使用 chandra 后
- 完美还原表格:chandra 精准识别复杂财务表格的行列关系,直接输出带完整结构的 HTML 或 JSON,数据零错位。
- 手写字迹清晰化:无论是潦草的审计批注还是表单勾选框,chandra 均能准确转录并保留在对应位置。
- 智能布局重建:自动分析文档视觉布局,按正确阅读顺序输出 Markdown,完美支持 90+ 种语言的混合排版。
- 公式图表结构化:自动提取并转换数学公式为可编辑格式,同时为图表生成结构化数据与描述性标题。
- 流程自动化提速:原本数周的人工录入工作缩短至几小时,团队可直接基于结构化数据运行分析脚本。
chandra 通过将非结构化文档瞬间转化为高保真结构化数据,彻底解决了复杂文档智能化处理中的“最后一公里”难题。
运行环境要求
- Linux
- macOS
- Windows
- 运行 HuggingFace 本地模式必需 NVIDIA GPU(推荐安装 flash-attention 以提升性能)
- vLLM 模式支持通过环境变量 VLLM_GPUS 指定 GPU ID
- 具体显存大小和 CUDA 版本未在文档中明确说明,但鉴于模型处理复杂布局和数学公式的能力,通常建议 16GB+ 显存
未说明

快速开始
Datalab
文档智能领域的最先进模型
Chandra OCR 2
Chandra OCR 2 是一款最先进的 OCR 模型,能够将图像和 PDF 转换为结构化的 HTML/Markdown/JSON 格式,同时保留布局信息。
新闻
- 3/2026 - Chandra 2 正式发布,对数学、表格、布局以及多语言 OCR 均有显著提升
- 10/2025 - Chandra 1 上线
特性
- 在外部 olmocr 基准测试中表现领先,并在内部多语言基准测试中取得重大突破
- 可将文档转换为 Markdown、HTML 或 JSON 格式,同时保留详细的布局信息
- 支持 90 多种语言(基准测试见下文)
- 手写体识别效果极佳
- 能够准确重建表单,包括复选框
- 在表格、数学及复杂布局的处理上表现出色
- 可提取图片和图表,并添加标题和结构化数据
- 提供两种推理模式:本地(HuggingFace)和远程(vLLM 服务器)
托管 API
快速入门
最简单的使用方式是通过命令行工具:
pip install chandra-ocr
# 使用 vLLM(推荐,安装轻量)
chandra_vllm
chandra input.pdf ./output
# 使用 HuggingFace(需要 torch)
pip install chandra-ocr[hf]
chandra input.pdf ./output --method hf
# 交互式 Streamlit 应用
pip install chandra-ocr[app]
chandra_app
基准测试
多语言性能是我们开发 Chandra 2 的重点之一。由于目前缺乏公开的多语言 OCR 基准测试,我们自行设计了一套测试方案,涵盖表格、数学、顺序排列、布局和文本准确性等方面。
完整评分请参见 下方。我们还提供了一份包含 90 种语言的完整基准测试报告(FULL_BENCHMARKS.md)。
此外,我们也使用广受认可的 olmocr 基准测试对 Chandra 2 进行了评估:
完整评分请参见 下方。
示例
| 类型 | 名称 | 链接 |
|---|---|---|
| 数学 | CS229 教材 | 查看 |
| 数学 | 手写数学 | 查看 |
| 数学 | 中文数学 | 查看 |
| 表格 | 统计分布 | 查看 |
| 表格 | 财务表格 | 查看 |
| 表单 | 注册表单 | 查看 |
| 表单 | 租赁合同 | 查看 |
| 手写 | 书法字体 | 查看 |
| 手写 | 手写笔记 | 查看 |
| 语言 | 阿拉伯语 | 查看 |
| 语言 | 日语 | 查看 |
| 语言 | 印地语 | 查看 |
| 语言 | 俄语 | 查看 |
| 其他 | 图表 | 查看 |
| 其他 | 化学 | 查看 |
安装
包管理器
# 基础安装(用于 vLLM 后端)
pip install chandra-ocr
# 使用 HuggingFace 后端(包含 torch 和 transformers)
pip install chandra-ocr[hf]
# 安装所有依赖
pip install chandra-ocr[all]
如果您选择使用 HuggingFace 方法,建议同时安装 flash attention,以获得更好的性能。
源码安装
git clone https://github.com/datalab-to/chandra.git
cd chandra
uv sync
source .venv/bin/activate
使用方法
命令行
可处理单个文件或整个目录:
# 单个文件,使用 vllm 服务器(启动方法见下文)
chandra input.pdf ./output --method vllm
# 使用本地模型处理目录中的所有文件
chandra ./documents ./output --method hf
命令行选项:
--method [hf|vllm]: 推理方法(默认:vllm)--page-range TEXT: PDF 的页码范围(例如,“1-5,7,9-12”)--max-output-tokens INTEGER: 每页的最大输出标记数--max-workers INTEGER: vLLM 的并行工作进程数--include-images/--no-images: 是否提取并保存图片(默认:包含)--include-headers-footers/--no-headers-footers: 是否包含页眉和页脚(默认:不包含)--batch-size INTEGER: 每批处理的页数(默认:vLLM 为 28 页,HuggingFace 为 1 页)
输出结构:
每个处理过的文件都会生成一个子目录,其中包含:
<filename>.md- Markdown 输出<filename>.html- HTML 输出<filename>_metadata.json- 元数据(页面信息、标记数等)- 提取的图片会直接保存在输出目录中
Streamlit Web 应用
启动单页处理的交互式演示:
chandra_app
vLLM 服务器(可选)
对于生产部署或批量处理,可以使用 vLLM 服务器:
chandra_vllm
这将启动一个带有优化推理设置的 Docker 容器。可通过环境变量进行配置:
VLLM_API_BASE:服务器 URL(默认值:http://localhost:8000/v1)VLLM_MODEL_NAME:服务器使用的模型名称(默认值:chandra)VLLM_GPUS:GPU 设备 ID(默认值:0)
您也可以使用 datalab-to/chandra-ocr-2 模型启动您自己的 vLLM 服务器。
配置
设置可以通过环境变量或 local.env 文件进行配置:
# 模型设置
MODEL_CHECKPOINT=datalab-to/chandra-ocr-2
MAX_OUTPUT_TOKENS=12384
# vLLM 设置
VLLM_API_BASE=http://localhost:8000/v1
VLLM_MODEL_NAME=chandra
VLLM_GPUS=0
商业用途
此代码采用 Apache 2.0 许可证,而我们的模型权重则使用修改后的 OpenRAIL-M 许可证(允许用于研究、个人用途以及融资/收入低于 200 万美元的初创企业,但不得与我们的 API 形成竞争关系)。如需移除 OpenRAIL 许可证的要求,或获取更广泛的商业许可,请访问我们的定价页面 这里。
基准测试表
| 模型 | ArXiv | 老扫描数学 | 表格 | 老扫描 | 页眉和页脚 | 多列文本 | 长篇小字 | 基础 | 总体 | 来源 |
|---|---|---|---|---|---|---|---|---|---|---|
| Datalab API | 90.4 | 90.2 | 90.7 | 54.6 | 91.6 | 83.7 | 92.3 | 99.9 | 86.7 ± 0.8 | 自建基准 |
| Chandra 2 | 90.2 | 89.3 | 89.9 | 49.8 | 92.5 | 83.5 | 92.1 | 99.6 | 85.9 ± 0.8 | 自建基准 |
| dots.ocr 1.5 | 85.9 | 85.5 | 90.7 | 48.2 | 94.0 | 85.3 | 81.6 | 99.7 | 83.9 | dots.ocr 仓库 |
| Chandra 1 | 82.2 | 80.3 | 88.0 | 50.4 | 90.8 | 81.2 | 92.3 | 99.9 | 83.1 ± 0.9 | 自建基准 |
| olmOCR 2 | 83.0 | 82.3 | 84.9 | 47.7 | 96.1 | 83.7 | 81.9 | 99.6 | 82.4 | olmocr 仓库 |
| dots.ocr | 82.1 | 64.2 | 88.3 | 40.9 | 94.1 | 82.4 | 81.2 | 99.5 | 79.1 ± 1.0 | dots.ocr 仓库 |
| olmOCR v0.3.0 | 78.6 | 79.9 | 72.9 | 43.9 | 95.1 | 77.3 | 81.2 | 98.9 | 78.5 ± 1.1 | olmocr 仓库 |
| Datalab Marker v1.10.0 | 83.8 | 69.7 | 74.8 | 32.3 | 86.6 | 79.4 | 85.7 | 99.6 | 76.5 ± 1.0 | 自建基准 |
| Deepseek OCR | 75.2 | 72.3 | 79.7 | 33.3 | 96.1 | 66.7 | 80.1 | 99.7 | 75.4 ± 1.0 | 自建基准 |
| Mistral OCR API | 77.2 | 67.5 | 60.6 | 29.3 | 93.6 | 71.3 | 77.1 | 99.4 | 72.0 ± 1.1 | olmocr 仓库 |
| GPT-4o(锚定版) | 53.5 | 74.5 | 70.0 | 40.7 | 93.8 | 69.3 | 60.6 | 96.8 | 69.9 ± 1.1 | olmocr 仓库 |
| Qwen 3 VL 8B | 70.2 | 75.1 | 45.6 | 37.5 | 89.1 | 62.1 | 43.0 | 94.3 | 64.6 ± 1.1 | 自建基准 |
| Gemini Flash 2(锚定版) | 54.5 | 56.1 | 72.1 | 34.2 | 64.7 | 61.5 | 71.5 | 95.6 | 63.8 ± 1.2 | olmocr 仓库 |
多语言基准测试表
下表涵盖了 43 种最常见的语言,并在多个模型上进行了基准测试。如需对 90 种语言进行全面评估(仅比较 Chandra 2 和 Gemini 2.5 Flash),请参阅完整的 90 语言基准测试表。
| 语言 | Datalab API | Chandra 2 | Chandra 1 | Gemini 2.5 Flash | GPT-5 Mini |
|---|---|---|---|---|---|
| ar | 67.6% | 68.4% | 34.0% | 84.4% | 55.6% |
| bn | 85.1% | 72.8% | 45.6% | 55.3% | 23.3% |
| ca | 88.7% | 85.1% | 84.2% | 88.0% | 78.5% |
| cs | 88.2% | 85.3% | 84.7% | 79.1% | 78.8% |
| da | 90.1% | 91.1% | 88.4% | 86.0% | 87.7% |
| de | 93.8% | 94.8% | 83.0% | 88.3% | 93.8% |
| el | 89.9% | 85.6% | 85.5% | 83.5% | 82.4% |
| es | 91.8% | 89.3% | 88.7% | 86.8% | 97.1% |
| fa | 82.2% | 75.1% | 69.6% | 61.8% | 56.4% |
| fi | 85.7% | 83.4% | 78.4% | 86.0% | 84.7% |
| fr | 93.3% | 93.7% | 89.6% | 86.1% | 91.1% |
| gu | 73.8% | 70.8% | 44.6% | 47.6% | 11.5% |
| he | 76.4% | 70.4% | 38.9% | 50.9% | 22.3% |
| hi | 80.5% | 78.4% | 70.2% | 82.7% | 41.0% |
| hr | 93.4% | 90.1% | 85.9% | 88.2% | 81.3% |
| hu | 88.1% | 82.1% | 82.5% | 84.5% | 84.8% |
| id | 91.3% | 91.6% | 86.7% | 88.3% | 89.7% |
| it | 94.4% | 94.1% | 89.1% | 85.7% | 91.6% |
| ja | 87.3% | 86.9% | 85.4% | 80.0% | 76.1% |
| jv | 87.5% | 73.2% | 85.1% | 80.4% | 69.6% |
| kn | 70.0% | 63.2% | 20.6% | 24.5% | 10.1% |
| ko | 89.1% | 81.5% | 82.3% | 84.8% | 78.4% |
| la | 78.0% | 73.8% | 55.9% | 70.5% | 54.6% |
| ml | 72.4% | 64.3% | 18.1% | 23.8% | 11.9% |
| mr | 80.8% | 75.0% | 57.0% | 69.7% | 20.9% |
| nl | 90.0% | 88.6% | 85.3% | 87.5% | 83.8% |
| no | 89.2% | 90.3% | 85.5% | 87.8% | 87.4% |
| pl | 93.8% | 91.5% | 83.9% | 89.7% | 90.4% |
| pt | 97.0% | 95.2% | 84.3% | 89.4% | 90.8% |
| ro | 86.2% | 84.5% | 82.1% | 76.1% | 77.3% |
| ru | 88.8% | 85.5% | 88.7% | 82.8% | 72.2% |
| sa | 57.5% | 51.1% | 33.6% | 44.6% | 12.5% |
| sr | 95.3% | 90.3% | 82.3% | 89.7% | 83.0% |
| sv | 91.9% | 92.8% | 82.1% | 91.1% | 92.1% |
| ta | 82.9% | 77.7% | 50.8% | 53.9% | 8.1% |
| te | 69.4% | 58.6% | 19.5% | 33.3% | 9.9% |
| th | 71.6% | 62.6% | 47.0% | 66.7% | 53.8% |
| tr | 88.9% | 84.1% | 68.1% | 84.1% | 78.2% |
| uk | 93.1% | 91.0% | 88.5% | 87.9% | 81.9% |
| ur | 54.1% | 43.2% | 28.1% | 57.6% | 16.9% |
| vi | 85.0% | 80.4% | 81.6% | 89.5% | 83.6% |
| zh | 87.8% | 88.7% | 88.3% | 70.0% | 70.4% |
| 平均 | 80.4% | 77.8% | 69.4% | 67.6% | 60.5% |
完整的 90 语言基准测试表
我们还有一份更全面的评估,涵盖 90 种语言,对比了 Chandra 2 和 Gemini 2.5 Flash。由于此次包含了大量资源较少的语言,平均得分比上述 43 语言表要低。Chandra 2 的平均得分为 72.7%,而 Gemini 2.5 Flash 为 60.8%。
请参阅完整的 90 语言结果。
吞吐量
在单个 NVIDIA H100 80GB GPU 上,使用 olmOCR 基准测试集中的多样化文档(数学公式、表格、扫描件、多栏布局等)对 vLLM 进行了基准测试。该测试集的速度明显低于实际应用场景——我们估计在实际使用中约为每秒 2 页。
| 配置 | 页/秒 | 平均延迟 | P95 延迟 | 失败率 |
|---|---|---|---|---|
| vLLM,96 个并发序列 | 1.44 | 60 秒 | 156 秒 | 0% |
致谢
感谢以下开源项目:
版本历史
v0.2.02026/03/18v0.1.72025/10/22v0.1.62025/10/21v0.1.42025/10/21v0.1.32025/10/21v0.1.22025/10/21v0.1.12025/10/21v0.1.02025/10/21常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。