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:
Apple
2026-01-17 08:16:37 -08:00
parent a9fcadc6e2
commit 5290287058
121 changed files with 17071 additions and 436 deletions

View 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