# 🚀 Datalab Chandra - Швидкий старт **Дата:** 2026-01-12 --- ## ✅ Підтверджено: Це нормально! **Так, встановлення Datalab Chandra для обробки документів та таблиць — відмінна ідея!** --- ## 📋 Що вже зроблено 1. ✅ Створено `chandra-service` — API wrapper для Chandra 2. ✅ Додано в `docker-compose.node1.yml`: - `chandra-inference` — контейнер для inference (потрібен реальний образ) - `chandra-service` — API wrapper сервіс 3. ✅ Оновлено Router: - `OCR_URL` → `http://chandra-service:8002` - Додано `CHANDRA_URL` --- ## 🔧 Що потрібно зробити ### 1. Отримати Docker образ Chandra **Варіант A: Офіційний Datalab (потрібна ліцензія)** ```bash # Потрібно отримати доступ до Datalab registry docker pull datalab/chandra-inference:latest ``` **Варіант B: HuggingFace модель (open-source)** - Використати модель з HuggingFace - Створити власний Dockerfile ### 2. Оновити docker-compose.node1.yml Замінити placeholder: ```yaml chandra-inference: image: python:3.11-slim # ← Замінити на реальний образ ``` На реальний образ: ```yaml chandra-inference: image: datalab/chandra-inference:latest # або ваш образ ``` ### 3. Налаштувати ліцензію (якщо потрібна) Додати в `.env`: ```bash CHANDRA_LICENSE_KEY=your_license_key_here CHANDRA_MODEL=chandra-small # або chandra ``` ### 4. Запустити сервіси ```bash cd /opt/microdao-daarion docker compose -f docker-compose.node1.yml up -d chandra-inference chandra-service ``` ### 5. Перевірити ```bash # Health check curl http://localhost:8002/health # Список моделей curl http://localhost:8002/models ``` --- ## 📊 Вимоги - **GPU:** NVIDIA RTX 4000 SFF Ada (20GB VRAM) — достатньо для `chandra-small` - **VRAM:** - `chandra-small`: ~8GB - `chandra`: ~16GB - **Ліцензія:** Потрібна для комерційного використання --- ## 🔗 Інтеграція ### Router: - Використовує `CHANDRA_URL` для обробки документів - Автоматично маршрутизує OCR запити ### Gateway: - `doc_service.py` може викликати Chandra через Router - Або напряму через `chandra-service:8002` --- ## 📝 Приклад використання ```python import httpx async with httpx.AsyncClient() as client: response = await client.post( "http://chandra-service:8002/process", files={"file": ("document.pdf", file_data)}, data={ "output_format": "markdown", "accurate_mode": "false" } ) result = response.json() markdown = result["result"]["markdown"] ``` --- ## ⚠️ Важливо 1. **Docker образ:** Потрібно замінити placeholder на реальний образ 2. **Ліцензія:** Для повної версії потрібна ліцензія Datalab 3. **VRAM:** Переконайтеся, що GPU має достатньо пам'яті --- **Готово до встановлення!** --- **Оновлено:** 2026-01-12