提高工作效率的OCR利器:Chandra OCR 2![特殊字符]✨

Datalab

前沿的文档智能模型

Datalab的Chandra OCR 2是一个先进的OCR(光学字符识别)模型,能够将图像和PDF转换为结构化的HTML、Markdown或JSON格式,同时保留原始布局信息。其卓越的性能使其在多个应用场景中极为有用。

重要更新

  • 2026年3月 - Chandra 2发布,显著增强了对数学、表格、布局和多语言OCR的支持
  • 2025年10月 - Chandra 1推出

功能特点

Chandra OCR 2具备众多强大的特性,使其在OCR领域表现出色:

  • 在外部olmocr基准测试中名列前茅,并在内部多语言基准中取得显著提升
  • 能够将文档转换为Markdown、HTML或JSON格式,同时提供详细的布局信息
  • 支持90多种语言,为多语言处理提供了极大的便利
  • 对手写体的出色支持,能够准确重建包含复选框的表单
  • 在处理表格、数学公式和复杂布局时表现优越
  • 可从文档中提取图像和图表,并添加标题及结构化数据
  • 提供两种推理模式:本地(HuggingFace)和远程(vLLM服务器)

托管API

我们提供Chandra的托管API,访问更为准确和快速。您还可以在免费试玩平台上体验Chandra,无需安装。

快速入门

要快速开始,可以使用命令行工具:

shell 复制代码
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基准,我们创建了自己的基准测试,涵盖表格、数学、排序、布局和文本精度。

实际应用示例

以下是Chandra在不同类型文档处理的应用实例:

类型 名称 链接
数学 CS229教科书 查看
数学 手写数学 查看
数学 中文数学 查看
表格 统计分布 查看
表格 财务表格 查看
表单 注册表单 查看
表单 租赁表单 查看
手写体 草书 查看
手写体 手写笔记 查看
语言 阿拉伯语 查看
语言 日语 查看
语言 印地语 查看
语言 俄语 查看
其他 图表 查看
其他 化学 查看

安装指南

使用包安装

bash 复制代码
# 基础安装(用于vLLM后端)
pip install chandra-ocr

# 使用HuggingFace后端(包含torch、transformers)
pip install chandra-ocr[hf]

# 完整安装所有额外功能
pip install chandra-ocr[all]

如果您使用HuggingFace方法,建议还安装flash attention以提高性能。

从源代码安装

bash 复制代码
git clone https://github.com/datalab-to/chandra.git
cd chandra
uv sync
source .venv/bin/activate

使用方法

命令行接口(CLI)

处理单个文件或整个目录:

bash 复制代码
# 单个文件,使用vllm服务器
chandra input.pdf ./output --method vllm

# 处理目录中的所有文件(使用本地模型)
chandra ./documents ./output --method hf

CLI选项:

  • --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, hf默认1)

输出结构:

每个处理的文件会创建一个子目录,其中包括:

  • .md - Markdown输出
  • .html - HTML输出
  • _metadata.json - 元数据(页信息、令牌计数等)
  • 提取的图像直接保存在输出目录中

Streamlit Web应用

启动交互式演示以处理单个页面:

bash 复制代码
chandra_app

vLLM服务器(可选)

用于生产部署或批处理时,可使用vLLM服务器:

bash 复制代码
chandra_vllm

这将启动一个优化推理设置的Docker容器。可以通过环境变量进行配置:

  • VLLM_API_BASE:服务器URL(默认:http://localhost:8000/v1
  • VLLM_MODEL_NAME:服务器模型名称(默认:chandra
  • VLLM_GPUS:GPU设备ID(默认:0

您还可以启动自己的vllm服务器,使用datalab-to/chandra-ocr-2模型。

配置

通过环境变量或local.env文件配置设置:

bash 复制代码
# 模型设置
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 repo
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 repo
dots.ocr 82.1 64.2 88.3 40.9 94.1 82.4 81.2 99.5 79.1 ± 1.0 dots.ocr repo
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 repo
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 repo
GPT-4o (Anchored) 53.5 74.5 70.0 40.7 93.8 69.3 60.6 96.8 69.9 ± 1.1 olmocr repo
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 (Anchored) 54.5 56.1 72.1 34.2 64.7 61.5 71.5 95.6 63.8 ± 1.2 olmocr repo

多语言基准表

下表涵盖了43种最常用语言,并对多种模型进行了基准测试。有关90种语言的更全面评估(Chandra 2与Gemini 2.5 Flash的比较),请查看完整的90语言基准

语言 Datalab API Chandra 2 Chandra 1 Gemini 2.5 Flash GPT-5 Mini
阿拉伯语 67.6% 68.4% 34.0% 84.4% 55.6%
孟加拉语 85.1% 72.8% 45.6% 55.3% 23.3%
加泰罗尼亚语 88.7% 85.1% 84.2% 88.0% 78.5%
捷克语 88.2% 85.3% 84.7% 79.1% 78.8%
丹麦语 90.1% 91.1% 88.4% 86.0% 87.7%
德语 93.8% 94.8% 83.0% 88.3% 93.8%
希腊语 89.9% 85.6% 85.5% 83.5% 82.4%
西班牙语 91.8% 89.3% 88.7% 86.8% 97.1%
波斯语 82.2% 75.1% 69.6% 61.8% 56.4%
芬兰语 85.7% 83.4% 78.4% 86.0% 84.7%
法语 93.3% 93.7% 89.6% 86.1% 91.1%
古吉拉特语 73.8% 70.8% 44.6% 47.6% 11.5%
希伯来语 76.4% 70.4% 38.9% 50.9% 22.3%
印地语 80.5% 78.4% 70.2% 82.7% 41.0%
克罗地亚语 93.4% 90.1% 85.9% 88.2% 81.3%
匈牙利语 88.1% 82.1% 82.5% 84.5% 84.8%
印度尼西亚语 91.3% 91.6% 86.7% 88.3% 89.7%
意大利语 94.4% 94.1% 89.1% 85.7% 91.6%
日语 87.3% 86.9% 85.4% 80.0% 76.1%
爪哇语 87.5% 73.2% 85.1% 80.4% 69.6%
卡纳达语 70.0% 63.2% 20.6% 24.5% 10.1%
韩语 89.1% 81.5% 82.3% 84.8% 78.4%
拉丁语 78.0% 73.8% 55.9% 70.5% 54.6%
马拉雅拉姆语 72.4% 64.3% 18.1% 23.8% 11.9%
马拉地语 80.8% 75.0% 57.0% 69.7% 20.9%
荷兰语 90.0% 88.6% 85.3% 87.5% 83.8%
挪威语 89.2% 90.3% 85.5
相关推荐
南宫萧幕2 分钟前
从YALMIP工具箱到车辆工况仿真:MATLAB控制策略开发的完整实践指南
开发语言·人工智能·matlab·simulink
做个文艺程序员6 分钟前
Function Calling 与工具调用:让 AI 真正干活【OpenClAW + Spring Boot 系列 第5篇】
人工智能·spring boot·后端
汀、人工智能8 分钟前
必知必会:大模型训练通信开销计算详解与面试指南
人工智能
victory04318 分钟前
桌面agent
人工智能
Lentou13 分钟前
程序调用AI大模型方式(SDK\HTTP\SPRINGAI\LANFCHAIN4J)
人工智能·网络协议·http
yong999017 分钟前
基于直方图优化的图像去雾技术MATLAB实现
人工智能·计算机视觉·matlab
熊猫钓鱼>_>18 分钟前
GenUI:从“文本对话”到“可操作界面”的范式转移
开发语言·人工智能·agent·sdk·vibecoding·assistant·genui
其实防守也摸鱼20 分钟前
部署本地AI大模型--ollma
人工智能·安全·ai·大模型·软件工程·本地大模型
拂晓 AI 编程20 分钟前
claude code 加上 PPT Master skill 生成可手改PPT
人工智能·powerpoint
小橙子学AI22 分钟前
Rokid AI眼镜皮肤健康检测智能体技术实践
人工智能