Files
microdao-daarion/DATALAB-CHANDRA-INSTALLATION-GUIDE.md
Apple 5290287058 feat: implement TTS, Document processing, and Memory Service /facts API
- TTS: xtts-v2 integration with voice cloning support
- Document: docling integration for PDF/DOCX/PPTX processing
- Memory Service: added /facts/upsert, /facts/{key}, /facts endpoints
- Added required dependencies (TTS, docling)
2026-01-17 08:16:37 -08:00

4.6 KiB
Raw Permalink Blame History

📄 Встановлення Datalab Chandra на НОДА1

Дата: 2026-01-12


Це нормально!

Так, встановлення Datalab Chandra для обробки документів та таблиць — відмінна ідея!

Chandra доповнить поточну обробку документів і надасть:

  • Обробку складних таблиць (зберігає структуру)
  • Розпізнавання рукописного тексту
  • Обробку форм та документів
  • Збереження макету документа (bounding boxes, метадані)
  • Вихід у форматах: Markdown, HTML, JSON

📊 Поточна ситуація

НОДА1:

  • GPU: NVIDIA RTX 4000 SFF Ada (20GB VRAM) — достатньо для Chandra Small
  • Обробка документів: gateway-bot/services/doc_service.py
  • Router: має OCR_URL налаштування

Що додасть Chandra:

  • Покращена обробка таблиць
  • Розпізнавання рукопису
  • Обробка складних форм
  • Детальні метадані документа

🔧 Встановлення

Крок 1: Отримати Docker образ Chandra

Варіант A: Офіційний Datalab образ (потрібна ліцензія)

# Потрібно отримати доступ до Datalab registry
docker pull datalab/chandra-inference:latest

Варіант B: HuggingFace модель (open-source)

# Використати HuggingFace модель
# Створити власний Dockerfile з моделлю

Крок 2: Налаштувати змінні оточення

Додати в .env або docker-compose.node1.yml:

environment:
  - CHANDRA_LICENSE_KEY=${CHANDRA_LICENSE_KEY:-}  # Якщо потрібна ліцензія
  - CHANDRA_MODEL=chandra-small  # або chandra для повної версії

Крок 3: Запустити сервіси

cd /opt/microdao-daarion
docker compose -f docker-compose.node1.yml up -d chandra-inference chandra-service

Крок 4: Перевірити статус

# Перевірка health check
curl http://localhost:8002/health

# Перевірка моделей
curl http://localhost:8002/models

🔗 Інтеграція

Router інтеграція:

  • OCR_URL оновлено на http://chandra-service:8002
  • Додано CHANDRA_URL для прямих викликів

Gateway інтеграція:

  • doc_service.py може використовувати Chandra через Router
  • Або напряму через chandra-service:8002

📝 Використання

API виклик:

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",  # або html, json
            "accurate_mode": "false"
        }
    )
    result = response.json()

Інтеграція в doc_service:

# В doc_service.py додати метод:
async def parse_with_chandra(
    self,
    doc_url: str,
    output_format: str = "markdown"
) -> Dict[str, Any]:
    """Parse document using Chandra OCR"""
    async with httpx.AsyncClient() as client:
        response = await client.post(
            "http://chandra-service:8002/process",
            json={
                "doc_url": doc_url,
                "output_format": output_format
            }
        )
        return response.json()

⚠️ Важливо

  1. Ліцензія: Для повної версії Chandra потрібна ліцензія Datalab
  2. VRAM: Chandra Small потребує ~8GB VRAM, повна версія ~16GB
  3. Час обробки: Accurate mode повільніший, але точніший
  4. Docker образ: Потрібно замінити placeholder на реальний образ Datalab

🔄 Наступні кроки

  1. Отримати Docker образ Chandra (Datalab registry або HuggingFace)
  2. Оновити docker-compose.node1.yml з правильним образом
  3. Налаштувати ліцензію (якщо потрібна)
  4. Протестувати обробку таблиць та форм
  5. Інтегрувати в doc_service.py

Оновлено: 2026-01-12