284 lines
9.0 KiB
Markdown
284 lines
9.0 KiB
Markdown
# 🔍 NODE2 Diagnostic Report — Post-Git-Cleanup
|
||
|
||
**Дата:** 27 листопада 2025
|
||
**Контекст:** Діагностика стану NODE2 після `git filter-repo` операції
|
||
|
||
---
|
||
|
||
## ✅ 1. Моделі — ВСІ ЗБЕРЕЖЕНІ (Ollama)
|
||
|
||
### 📦 8 моделей в Ollama (загалом ~118 GB):
|
||
|
||
| Модель | Розмір | Параметри | Тип | Статус |
|
||
|--------|--------|-----------|------|--------|
|
||
| **deepseek-r1:70b** | 42 GB | 70.6B | LLM (reasoning) | ✅ |
|
||
| **deepseek-coder:33b** | 18 GB | 33B | Code | ✅ |
|
||
| **qwen2.5-coder:32b** | 19 GB | 32.8B | Code | ✅ |
|
||
| **gemma2:27b** | 15 GB | 27.2B | LLM (reasoning) | ✅ |
|
||
| **mistral-nemo:12b** | 7.1 GB | 12.2B | LLM (reasoning) | ✅ |
|
||
| **gpt-oss:latest** | 13 GB | 20.9B | LLM (general) | ✅ |
|
||
| **starcoder2:3b** | 1.7 GB | 3B | Code | ✅ |
|
||
| **phi3:latest** | 2.2 GB | 3.8B | LLM (lightweight) | ✅ |
|
||
|
||
**Висновок:** Всі критичні LLM-моделі збережені! Swapper може працювати.
|
||
|
||
---
|
||
|
||
### ❌ Видалено з `models/` (не Ollama):
|
||
|
||
- **qwen3-vl-32b-instruct** (~130 GB) — vision-модель для мультимодальності
|
||
- 65.5 GB `.gguf` файл
|
||
- 14x5GB safetensors файлів
|
||
- **Призначення:** Vision AI (аналіз зображень, OCR, мультимодальність)
|
||
|
||
**Проблема:** Немає vision-моделей для мультимодальних запитів!
|
||
|
||
**Рішення:**
|
||
1. Завантажити `llava:13b` через Ollama (~13 GB)
|
||
2. АБО відновити Qwen3-VL з HuggingFace (якщо потрібен кастомний inference)
|
||
|
||
---
|
||
|
||
## ✅ 2. Swapper Service — ЗАПУЩЕНО
|
||
|
||
**Порт:** 8890
|
||
**Статус:** ✅ Healthy
|
||
**Конфігурація:** `swapper_config_node2.yaml`
|
||
**Мережа:** `dagi-network`
|
||
**Ollama URL:** `http://host.docker.internal:11434`
|
||
|
||
**Health Check:**
|
||
```json
|
||
{
|
||
"status": "healthy",
|
||
"service": "swapper-service",
|
||
"active_model": null,
|
||
"mode": "single-active"
|
||
}
|
||
```
|
||
|
||
**Активовані моделі:** 8 (всі доступні через Ollama)
|
||
|
||
---
|
||
|
||
## ✅ 3. DAGI Router — ПРАЦЮЄ
|
||
|
||
**Порт:** 9102
|
||
**Статус:** Up 4 days (healthy)
|
||
**Контейнер:** `dagi-router`
|
||
|
||
**Health Check:**
|
||
```bash
|
||
curl http://localhost:9102/health
|
||
# Status: OK
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ 4. DAGI Stack — Частково ПРАЦЮЄ
|
||
|
||
### Запущені сервіси:
|
||
|
||
| Сервіс | Статус | Порт | Призначення |
|
||
|--------|--------|------|-------------|
|
||
| **dagi-router** | ✅ Up 4 days | 9102 | Маршрутизація агентів |
|
||
| **dagi-crewai** | ✅ Up 4 days | 8080 | 12 агентів в 4 workflows |
|
||
| **dagi-devtools** | ✅ Up 4 days | - | Dev утиліти |
|
||
| **dagi-rbac** | ✅ Up 4 days | 8083 | Права доступу |
|
||
| **dagi-gateway** | ✅ Up 4 days | 8081 | API Gateway |
|
||
| **dagi-postgres** | ✅ Up 4 days | 5432 | База даних |
|
||
| **dagi-web-search-service** | ⚠️ Unhealthy | 8897 | Web пошук |
|
||
|
||
---
|
||
|
||
### 🤖 12 CrewAI Агентів (4 Workflows):
|
||
|
||
#### 1. **Onboarding Workflow** (3 агенти)
|
||
- `welcomer` — вітання нових користувачів
|
||
- `role_assigner` — призначення ролей
|
||
- `guide` — навігація по системі
|
||
|
||
#### 2. **Code Review Workflow** (3 агенти)
|
||
- `reviewer` — перегляд коду
|
||
- `security_checker` — аналіз безпеки
|
||
- `performance_analyzer` — оптимізація
|
||
|
||
#### 3. **Proposal Review Workflow** (3 агенти)
|
||
- `legal_checker` — юридична перевірка
|
||
- `financial_analyzer` — фінансовий аналіз
|
||
- `impact_assessor` — оцінка впливу
|
||
|
||
#### 4. **Task Decomposition Workflow** (3 агенти)
|
||
- `planner` — планування задач
|
||
- `estimator` — оцінка складності
|
||
- `dependency_analyzer` — аналіз залежностей
|
||
|
||
**API:**
|
||
```bash
|
||
curl http://localhost:9010/workflow/list
|
||
# 4 workflows доступні
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ 5. Мультимодальні сервіси — ЧАСТКОВО
|
||
|
||
### ✅ Працюють:
|
||
|
||
| Сервіс | Порт | Статус | Призначення |
|
||
|--------|------|--------|-------------|
|
||
| **Web Search** | 8897 | ✅ Healthy | DuckDuckGo + Google |
|
||
| **Vector DB (Qdrant)** | 6333 | ✅ Running | Векторний пошук |
|
||
| **Agent Cabinet** | 8898 | ✅ Healthy | Управління агентами |
|
||
| **MeiliSearch** | 7700 | ✅ Running | Текстовий пошук |
|
||
|
||
### ❌ НЕ працюють:
|
||
|
||
| Сервіс | Порт | Статус | Причина |
|
||
|--------|------|--------|---------|
|
||
| **STT Service** | 8895 | ❌ Not running | Не запущено |
|
||
| **OCR Service** | 8896 | ❌ Not running | Не запущено |
|
||
|
||
**Документація:** `COMPLETE-MULTIMODAL-ECOSYSTEM.md`
|
||
|
||
---
|
||
|
||
## 📊 6. Інфраструктура NODE2
|
||
|
||
### Ресурси:
|
||
- **CPU:** Apple M4 Max (40-core GPU)
|
||
- **RAM:** 64 GB
|
||
- **VRAM:** 48 GB (GPU)
|
||
- **Диск:** ~500 GB вільно (після cleanup)
|
||
|
||
### Docker мережа:
|
||
- `dagi-network` — всі DAGI сервіси
|
||
- Bridge для комунікації між контейнерами
|
||
|
||
### Ollama:
|
||
- **Версія:** Latest
|
||
- **URL:** http://localhost:11434
|
||
- **Models dir:** `/Users/apple/.ollama/models`
|
||
|
||
---
|
||
|
||
## 🎯 7. НАСТУПНІ КРОКИ
|
||
|
||
### A) **Відновити Vision-модель** (для мультимодальності)
|
||
|
||
**Варіант 1: LLaVA через Ollama** (ШВИДКО, ~13 GB)
|
||
```bash
|
||
ollama pull llava:13b
|
||
```
|
||
|
||
**Варіант 2: Qwen3-VL з HuggingFace** (ПОВІЛЬНО, ~130 GB)
|
||
```bash
|
||
# З HuggingFace Hub
|
||
huggingface-cli download Qwen/Qwen3-VL-32B-Instruct
|
||
```
|
||
|
||
**Рекомендація:** Почати з LLaVA (менше, швидше), потім за потреби Qwen3-VL.
|
||
|
||
---
|
||
|
||
### B) **Запустити STT/OCR сервіси**
|
||
|
||
```bash
|
||
# STT Service (Whisper)
|
||
cd ~/microdao-daarion/services/stt-service
|
||
docker-compose up -d
|
||
|
||
# OCR Service (Tesseract + EasyOCR)
|
||
cd ~/microdao-daarion/services/ocr-service
|
||
docker-compose up -d
|
||
```
|
||
|
||
**Документація:** `COMPLETE-MULTIMODAL-ECOSYSTEM.md` (рядки 139-180)
|
||
|
||
---
|
||
|
||
### C) **Підключити Swapper до DAGI Router**
|
||
|
||
1. Перевірити Router конфігурацію (`/opt/daarion/app/services/router/config.yaml`)
|
||
2. Додати `SWAPPER_URL` env var до Router:
|
||
```yaml
|
||
SWAPPER_URL: http://192.168.1.244:8890 # NODE2 IP
|
||
```
|
||
3. Перезапустити Router на NODE1:
|
||
```bash
|
||
ssh root@144.76.224.179
|
||
docker restart dagi-router
|
||
```
|
||
|
||
---
|
||
|
||
### D) **Інтегрувати CrewAI агентів у DAARION City**
|
||
|
||
**12 агентів → 12 кімнат** (або згрупувати по workflows):
|
||
- **Onboarding Hall** — 3 агенти
|
||
- **Code Review Lab** — 3 агенти
|
||
- **Governance Hall** — 3 агенти
|
||
- **Planning Room** — 3 агенти
|
||
|
||
**API Integration:**
|
||
```python
|
||
# city-service → dagi-crewai
|
||
POST http://localhost:9010/workflow/execute
|
||
{
|
||
"workflow": "onboarding",
|
||
"agent": "welcomer",
|
||
"input": {...}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### E) **Web3 Login + Token-gate** (Phase 4)
|
||
|
||
**Після всіх агентів**:
|
||
1. Metamask + SIWE v2
|
||
2. `has_DAARION_token` перевірка
|
||
3. Обмеження доступу до кімнат
|
||
4. Citizenship Pass
|
||
|
||
---
|
||
|
||
## 📝 8. Документація
|
||
|
||
**Основні файли:**
|
||
- `COMPLETE-MULTIMODAL-ECOSYSTEM.md` — повна мультимодальна архітектура
|
||
- `DEPLOY_STRATEGY_MULTIMODAL_MVP.md` — стратегія інтеграції
|
||
- `services/swapper-service/config/swapper_config_node2.yaml` — конфіг Swapper
|
||
- `ROUTER-MULTIMODAL-SUPPORT.md` — підтримка мультимодальності в Router
|
||
|
||
**Створено під час діагностики:**
|
||
- `docs/NODE2_DIAGNOSTIC_REPORT.md` (цей файл)
|
||
|
||
---
|
||
|
||
## ✅ 9. ПІДСУМОК
|
||
|
||
### Готово:
|
||
- ✅ **8 LLM-моделей збережені** в Ollama (включно з DeepSeek 70B)
|
||
- ✅ **Swapper Service запущено** на NODE2 (порт 8890)
|
||
- ✅ **DAGI Router працює** (порт 9102)
|
||
- ✅ **12 CrewAI агентів готові** до інтеграції
|
||
- ✅ **Web Search + Vector DB працюють**
|
||
|
||
### Потрібно:
|
||
- ⚠️ **Відновити vision-модель** (LLaVA або Qwen3-VL)
|
||
- ⚠️ **Запустити STT/OCR** (для voice/photo)
|
||
- ⚠️ **Підключити Swapper до Router** (NODE2 → NODE1)
|
||
- ⚠️ **Інтегрувати агентів у City** (12 агентів → кімнати)
|
||
|
||
---
|
||
|
||
**Діагностику виконано:** 27.11.2025
|
||
**Статус NODE2:** ✅ Готовий до інтеграції з DAARION MVP
|
||
**Блокерів:** Немає (все працює, потрібна лише конфігурація)
|
||
|
||
---
|
||
|
||
*Документ створено автоматично під час діагностики NODE2 після git cleanup операції.*
|
||
|