- Submodule services/chandra/upstream (shallow), run-chandra.sh, .env.example - Docs: service-chandra, chandra-ocr-documents; link from PageIndex feature - Index updates in docs/README, repo/README, services, system-architecture
Chandra OCR (amont)
Chandra OCR 2 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.
Ce répertoire services/chandra/ contient :
upstream/: sous-module Git vers datalab-to/chandra.run-chandra.sh: lance la CLIchandradepuis l’environnement installé dansupstream/(uvou.venv)..env.example: variables usuelles (vLLM, modèle) ; l’amont charge aussilocal.envdansupstream/(non versionné).
Installation (une fois par poste)
Depuis les sources du sous-module (recommandé ici) :
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).
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
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) 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/features/chandra-ocr-documents.md.
Ressources amont
- Dépôt : datalab-to/chandra
- Paquet PyPI :
chandra-ocr(alternative à l’installation depuisupstream/)