- 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
47 lines
2.2 KiB
Markdown
47 lines
2.2 KiB
Markdown
# 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/`**)
|