# Chandra OCR (amont) [Chandra OCR 2](https://github.com/datalab-to/chandra) convertit images et PDF en **Markdown**, **HTML** ou **JSON** en conservant la mise en page (tableaux, formulaires, écriture manuscrite, math). Code sous **Apache-2.0** ; les **poids du modèle** suivent une licence dédiée (**MODEL_LICENSE** dans `upstream/`) — voir le [dépôt amont](https://github.com/datalab-to/chandra). Ce répertoire **`services/chandra/`** contient : - **`upstream/`** : sous-module Git vers **datalab-to/chandra**. - **`run-chandra.sh`** : lance la CLI **`chandra`** depuis l’environnement installé dans **`upstream/`** (`uv` ou `.venv`). - **`.env.example`** : variables usuelles (vLLM, modèle) ; l’amont charge aussi **`local.env`** dans **`upstream/`** (non versionné). ## Installation (une fois par poste) Depuis les sources du sous-module (recommandé ici) : ```bash cd services/chandra/upstream uv sync # optionnel : modèle local Hugging Face (lourd) # uv sync --extra hf ``` Sans **`uv`** : créer un venv, puis `pip install -e ".[hf]"` ou `pip install -e .` selon le mode d’inférence (voir [README amont](https://github.com/datalab-to/chandra/blob/master/README.md)). **Inférence vLLM** (léger côté client si le serveur tourne ailleurs) : démarrer le serveur comme documenté amont (`chandra_vllm` après install du paquet). ## Usage ```bash cd services/chandra ./run-chandra.sh input.pdf ./output --method vllm # ou --method hf si dépendances HF installées ``` Options CLI (`--page-range`, `--max-workers`, etc.) : même interface que la commande **`chandra`** amont. ## Rôle dans smart_ide - **OCR / numérisation structurée** pour pipelines documentaires, en amont de **PageIndex** ([PageIndex](../pageindex/README.md)) ou d’**AnythingLLM** / **docv**. - **Pas de service HTTP** dans ce dépôt : exécution **CLI** (comme **`services/pageindex/`**). Documentation : [docs/repo/service-chandra.md](../../docs/repo/service-chandra.md), [docs/features/chandra-ocr-documents.md](../../docs/features/chandra-ocr-documents.md). ## Ressources amont - Dépôt : [datalab-to/chandra](https://github.com/datalab-to/chandra) - Paquet PyPI : `chandra-ocr` (alternative à l’installation depuis **`upstream/`**)