# Instrucciones para el agente: dots.mocr: extrae texto y estructura de documentos

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: avanzado
- Proyecto: https://github.com/studio-dots-ai/dots.mocr (licencia MIT)
- Guía completa: https://lab.wisd.ai/hub/dots-mocr-document-parsing

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

Comprueba que tienes Git y Conda disponibles y que tu GPU/CUDA admite la versión de PyTorch elegida del README. Esta ruta crea Python 3.12 con pip. El README actual documenta:

```sh
conda create -n dots_mocr python=3.12
conda activate dots_mocr
git clone https://github.com/rednote-hilab/dots.mocr.git
cd dots.mocr
```

Para el caso CUDA 12.8, el README da este conjunto (elige otra variante solo siguiendo su enlace a PyTorch):

```sh
pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu128
```

`demo/demo_hf.py` fija `attn_implementation="flash_attention_2"`: aunque el README presenta FlashAttention como una aceleración opcional, ese script lo necesita. Instala `flash-attn==2.8.0.post2` según el README en un entorno CUDA con herramientas de compilación compatibles antes de ejecutarlo. Después:

```sh
pip install -e .
python3 tools/download_model.py
python3 demo/demo_hf.py
```

El descargador escribe en `weights/DotsMOCR`; el ejemplo lee esa ruta y usa `demo/demo_image1.jpg`. Para comprobar la salida estructurada prometida, desde la raíz ejecuta el parser con el backend Transformers, adaptando el comando de Document Parse con su opción oficial:

```sh
python3 dots_mocr/parser.py demo/demo_image1.jpg --prompt prompt_ocr --use_hf true
```

Revisa los archivos `demo_image1.json` y `demo_image1.md` en el directorio de salida indicado por el parser.

## Comprobación

Compara texto, orden y tablas de la salida con la imagen de prueba. Revisa también el JSON de elementos antes de usar la extracción como fuente.

## Si algo falla

Si falla la carga, revisa compatibilidad de PyTorch y pesos. Si se altera una tabla, conserva el original y marca ese fragmento para revisión.

Consulta [el README oficial](https://github.com/studio-dots-ai/dots.mocr#readme) para requisitos y variantes de instalación.
