Chandra

Chandra

Modèle vision-langage de Datalab qui restitue la structure des pages

Chandra est un modèle OCR de Datalab, l'éditeur de Marker et de Surya. Ce modèle vision-langage lit une page de PDF ou une image et en rend la structure en Markdown, en HTML ou en JSON, avec la position de chaque bloc. Chandra 2, sorti en mars 2026, est construit sur l'architecture Qwen 3.5.

Le paquet Python chandra-ocr fournit une CLI, une bibliothèque et une petite application Streamlit. Les poids du modèle se téléchargent à part, sur Hugging Face.

Le comparatif des outils d'OCR et de conversion de documents place Chandra face aux moteurs OCR classiques et aux convertisseurs vers Markdown.

Écriture manuscrite et graphiques convertis en données

  • Une sortie qui garde la mise en page : pour chaque fichier, la CLI écrit un .md, un .html et un _metadata.json, plus les images extraites. Chandra 2 distingue plus de 15 types de blocs, dont tableau, formulaire, équation et structure chimique, avec leurs coordonnées.
  • Formulaires et manuscrit : les cases à cocher sont reconstituées, et le README montre de l'écriture cursive et des maths écrites à la main.
  • Schémas et graphiques convertis : un logigramme ressort en Mermaid, un graphique en barres, en courbes ou en secteurs ressort en valeurs, catégories et libellés d'axes.
  • Plus de 90 langues : sur le banc multilingue de Datalab (43 langues), Chandra 2 atteint 77,8 % de moyenne, contre 69,4 % pour Chandra 1.
  • Deux modes d'inférence : un serveur vLLM, par défaut, ou Hugging Face Transformers en local. La CLI traite un fichier ou un dossier entier.

Licence des poids gratuite sous 2 M$, fermée aux concurrents

Le code est sous Apache 2.0, les poids non. Le paquet charge par défaut les poids datalab-to/chandra-ocr-2, régis par le fichier MODEL_LICENSE du dépôt : une licence OpenRAIL-M modifiée par Datalab. L'usage personnel et la recherche sont libres. Tout autre usage est interdit si l'utilisateur, son employeur ou sa structure a dépassé 2 millions de dollars de chiffre d'affaires l'année précédente, ou levé plus de 2 millions de dollars, en fonds propres ou en dette. Dès qu'un des deux seuils est franchi, la page de tarifs de Datalab exige une licence commerciale.

Un concurrent de Datalab ne peut pas l'utiliser, quelle que soit sa taille. La licence exclut toute structure qui propose un produit ou un service concurrent de ceux de Datalab. Or Datalab vend sa propre API de conversion de documents. Ces restrictions couvrent aussi la sortie du modèle, et un modèle entraîné sur des données générées par Chandra pour l'imiter compte comme un dérivé, soumis à la même licence. PaddleOCR, pour son modèle PaddleOCR-VL, et Falcon-Perception publient au contraire leurs poids sous Apache 2.0.

Le lanceur vLLM suppose un GPU NVIDIA. Le fichier de poids pèse 10,6 Go en BF16. La commande chandra_vllm lance un conteneur Docker vLLM par sudo, sur le runtime NVIDIA ; ses réglages prédéfinis couvrent des cartes de 16 Go (T4) à 80 Go (H100).

L'API de Datalab fait mieux que les poids ouverts. Selon le README, la plateforme hébergée fait tourner une version améliorée de Chandra, plus précise. Sur le banc olmOCR publié dans le dépôt, l'API obtient 86,7 contre 85,8 pour Chandra 2, deux scores mesurés par Datalab. Le même tableau place Chandra 2 devant olmOCR 2, dots.ocr 1.5 et l'API Mistral OCR.

Une version 0.2 et un développeur principal. Sept versions 0.1 sont parues sur PyPI entre le 21 et le 26 octobre 2025, puis la 0.2.0 le 18 mars 2026, avec Chandra 2. Aucune depuis ; le dernier commit date du 26 juin 2026. Un développeur signe 75 des 82 commits que GitHub attribue aux contributeurs.