Chandra 是一个先进的OCR(光学字符识别)模型,专注于将图像和PDF文档精确地转换为结构化的HTML、Markdown或JSON格式,同时完整保留原始布局信息。

🎯 核心功能与优势

Chandra的核心优势在于处理复杂文档和多语言识别能力:

  • 处理复杂元素:能够精准识别并重建复杂表格、数学公式、手写文字、表单(含复选框) 以及多栏布局。
  • 支持90+种语言:项目提供了详细的基准测试,在中文、日文、阿拉伯文等多种语言上表现优异。根据其内部基准,Chandra 2在43种常见语言上的平均得分达到77.8%
  • 输出格式灵活:可输出Markdown(便于阅读)、HTML(保留样式)或JSON(便于程序处理)格式,并支持提取图片和图表。

🚀 快速上手与部署

你可以通过以下方式快速开始使用:

  1. 安装Python包

    1
    2
    3
    pip install chandra-ocr  # 基础版,使用vLLM后端
    # 或
    pip install chandra-ocr[hf] # 包含HuggingFace后端(需安装PyTorch)
  2. 使用命令行处理

    1
    2
    chandra input.pdf ./output --method vllm  # 处理单个PDF
    chandra ./documents ./output --method hf # 批量处理目录
  3. 启动交互式Web应用chandra_app (需安装chandra-ocr[app])。

  4. 部署高性能服务:对于生产环境,可以使用chandra_vllm命令启动一个基于vLLM的Docker服务,以获得更高吞吐量(项目测试在单张H100 GPU上可达约1.44页/秒)。

⚖️ 许可证与商业使用

  • 代码:采用 Apache 2.0 许可证。
  • 模型权重:采用修改版OpenRAIL-M许可证,允许研究、个人使用以及年收入/融资低于200万美元的初创公司免费使用,但不能用于与Datalab API服务形成竞争。
  • 商业授权:如果需要更宽松的商业授权或大规模商业部署,需要联系Datalab获取商业许可证。

💎 总结

Chandra 是一个功能强大、专注于复杂文档和多语言的OCR解决方案,在基准测试中表现优于许多同类开源模型。它特别适合需要从学术论文、财务报表、历史档案等复杂排版文档中提取结构化信息的场景。

如果你需要一个高精度、支持多语言且能处理复杂布局的OCR工具,Chandra值得尝试。需要注意,如果用于大规模商业项目,需留意其模型权重的使用许可限制。