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

169
DEPLOYMENT-STATUS-REPORT.md Normal file
View File

@@ -0,0 +1,169 @@
# 📊 Звіт про стан деплою DAGI Router та Swapper Service
**Дата:** 2026-01-11
**Версія:** 1.0
## ✅ Виконано
### НОДА2 (MacBook Pro M4 Max) — ✅ Працює
**Статус:** Всі сервіси працюють нормально
-**Swapper Service:** Healthy (порт 8890)
- Активна модель: `gpt-oss-latest`
- Режим: `single-active`
- Uptime: 22+ хвилин
-**DAGI Router:** Healthy (порт 9102)
- Версія: 1.0.0
- Node: `dagi-devtools-node-01`
- Uptime: 18+ годин
**Перевірка:**
```bash
curl http://localhost:8890/health
# {"status":"healthy","service":"swapper-service","active_model":"gpt-oss-latest","mode":"single-active"}
curl http://localhost:9102/health
# {"status":"healthy","service":"dagi-router","version":"1.0.0","node":"dagi-devtools-node-01"}
```
---
### НОДА3 (Threadripper PRO + RTX 3090) — ✅ Задеплоєно
**Статус:** Сервіси запущені, потребують налаштування залежностей
**Виконані дії:**
1. ✅ Завантажено конфігурації та код на НОДА3
2. ✅ Зібрано Docker образи:
- `microdao-daarion-dagi-router-node3:latest`
- `microdao-daarion-swapper-service-node3:latest`
3. ✅ Запущено сервіси через Docker Compose
4. ✅ Виправлено конфігурацію:
- Прибрано GPU requirements (nvidia-container-toolkit не встановлено)
- Додано `host.docker.internal` для доступу до Ollama/NATS на хості
**Поточний стан:**
- `dagi-router-node3`: Запущений (health: starting)
- `swapper-service-node3`: Запущений (health: starting)
**Відомі проблеми:**
1. ⚠️ Router не підключається до NATS
- Помилка: `Temporary failure in name resolution` для `host.docker.internal:4222`
- Рішення: Запустити NATS на НОДА3 або налаштувати зовнішнє підключення
2. ⚠️ Swapper очікує Ollama
- Помилка: Потрібно запустити Ollama на НОДА3
- Рішення: Запустити Ollama контейнер або налаштувати доступ до зовнішнього Ollama
**Файли на НОДА3:**
- Проєкт: `~/microdao-daarion/`
- Docker Compose: `docker-compose.node3.yml`
- Конфігурації:
- `services/router/router_config.yaml`
- `services/swapper-service/config/swapper_config_node3.yaml`
**Команди для перевірки:**
```bash
ssh -p 33147 zevs@80.77.35.151
cd ~/microdao-daarion
docker compose -f docker-compose.node3.yml ps
docker logs dagi-router-node3 --tail 30
docker logs swapper-service-node3 --tail 30
```
---
### НОДА1 (Hetzner GEX44) — ⚠️ Очікує налаштування SSH
**Статус:** SSH недоступний, конфігурації готові
**Дані доступу:**
- **IPv4:** 144.76.224.179
- **IPv6:** 2a01:4f8:201:2a6::2
- **Username:** root
- **Password:** bRhfV7uNY9m6er
- **SSH Port:** 22 (Connection refused)
**Проблема:**
SSH сервіс не відповідає на порту 22. Можливі причини:
1. SSH сервіс не запущений після rebuild
2. Firewall блокує порт 22
3. SSH налаштований на інший порт
**Готові конфігурації:**
- ✅ Kubernetes manifests:
- `infrastructure/deployment/dagi-router-node1.yaml`
- `infrastructure/deployment/swapper-service-node1.yaml`
- ✅ Docker Compose скрипт:
- `scripts/deploy-router-swapper-node1.sh`
- ✅ Інструкції:
- `DEPLOYMENT-NODE1-MANUAL.md`
**Наступні кроки:**
1. Налаштувати SSH через Hetzner Console
2. Запустити SSH сервіс
3. Відкрити порт 22 у firewall
4. Виконати деплой через скрипт або вручну
**Детальні інструкції:** Див. `DEPLOYMENT-NODE1-MANUAL.md`
---
## 📋 Підсумок
| Нода | Статус | Router | Swapper | Залежності |
|------|--------|--------|---------|------------|
| **НОДА2** | ✅ Працює | ✅ Healthy | ✅ Healthy | ✅ Всі налаштовані |
| **НОДА3** | ⚠️ Запущено | ⚠️ Starting | ⚠️ Starting | ❌ Потрібні NATS/Ollama |
| **НОДА1** | ❌ SSH недоступний | ⏳ Очікує | ⏳ Очікує | ⏳ Очікує |
---
## 🔧 Наступні кроки
### Пріоритет 1: НОДА1
1. Налаштувати SSH доступ через Hetzner Console
2. Запустити SSH сервіс
3. Виконати деплой через `scripts/deploy-router-swapper-node1.sh`
### Пріоритет 2: НОДА3
1. Запустити NATS на НОДА3:
```bash
docker run -d --name nats --network dagi-network -p 4222:4222 nats:latest
```
2. Запустити Ollama на НОДА3:
```bash
docker run -d --name ollama --network dagi-network -p 11434:11434 ollama/ollama:latest
```
3. Перезапустити Router та Swapper:
```bash
docker compose -f docker-compose.node3.yml restart
```
### Пріоритет 3: Перевірка інтеграції
1. Перевірити health endpoints на всіх нодах
2. Перевірити інтеграцію Router ↔ Swapper
3. Перевірити завантаження моделей через Swapper
---
## 📝 Файли та конфігурації
### Створені файли:
- `DEPLOYMENT-NODE1-MANUAL.md` — інструкції для ручного деплою на НОДА1
- `docker-compose.node3.yml` — конфігурація для НОДА3
- `infrastructure/deployment/dagi-router-node1.yaml` — K8s manifest для Router
- `infrastructure/deployment/swapper-service-node1.yaml` — K8s manifest для Swapper
- `scripts/deploy-router-swapper-node1.sh` — автоматичний скрипт деплою
- `scripts/deploy-router-swapper-node3.sh` — автоматичний скрипт деплою
### Оновлені файли:
- `INFRASTRUCTURE.md` — додані дані доступу до НОДА1
- `docs/infrastructure_quick_ref.ipynb` — оновлено з новими даними
---
**Оновлено:** 2026-01-11
**Автор:** Deployment Automation