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)
This commit is contained in:
134
DATALAB-CHANDRA-QUICK-START.md
Normal file
134
DATALAB-CHANDRA-QUICK-START.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# 🚀 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
|
||||
Reference in New Issue
Block a user