Files
microdao-daarion/SWAPPER-DEFAULT-MODEL-NODE2-SETUP.md
Apple 744c149300
Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
Add automated session logging system
- Created logs/ structure (sessions, operations, incidents)
- Added session-start/log/end scripts
- Installed Git hooks for auto-logging commits/pushes
- Added shell integration for zsh
- Created CHANGELOG.md
- Documented today's session (2026-01-10)
2026-01-10 04:53:17 -08:00

274 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ✅ Налаштування default_model для НОДА2
**Дата:** 2025-11-23
**Статус:** ✅ Конфігурація створена
---
## 🎯 Що зроблено
### 1. Створено конфігураційний файл для НОДА2
**Файл:** `services/swapper-service/config/swapper_config_node2.yaml`
**Особливості для НОДА2 (MacBook M4 Max):**
-`metal_acceleration: true` - Apple Silicon GPU acceleration
-`default_model: gpt-oss:latest` - автоматичне завантаження при старті
-`ollama.url: http://localhost:11434` - Native Ollama (не через Docker)
- ✅ 8 моделей налаштовано (відповідно до встановлених на НОДА2)
**Моделі в конфігурації:**
1. `gpt-oss:latest` (13 GB, 20.9B) - **default_model** - основна модель
2. `phi3:latest` (2.2 GB, 3.8B) - легка модель
3. `qwen3-vl:latest` (6.1 GB, 8.8B) - vision модель
4. `starcoder2:latest` (1.7 GB, 3B) - code specialist
5. `qwen2.5-coder:latest` (4.7 GB, 7.6B) - advanced code
6. `gemma2:latest` (5.4 GB, 9.2B) - reasoning
7. `mistral-nemo:latest` (7.1 GB, 12.2B) - advanced reasoning
8. `deepseek-r1:latest` (5.2 GB, 8.2B) - strategic reasoning
### 2. Логіка автоматичного завантаження
**Файл:** `services/swapper-service/app/main.py`
- При ініціалізації Swapper Service перевіряє `default_model` в конфігурації
- Якщо вказано → автоматично завантажує модель
- Логує процес завантаження
---
## 📋 Як застосувати на НОДА2
### Варіант 1: Використати локальну конфігурацію (рекомендовано)
```bash
# 1. Перевірити чи працює Swapper Service
cd /Users/apple/github-projects/microdao-daarion
docker-compose ps swapper-service
# 2. Оновити конфігурацію (якщо використовується volume mount)
# Або скопіювати конфігурацію в правильну директорію
cp services/swapper-service/config/swapper_config_node2.yaml \
services/swapper-service/config/swapper_config.yaml
# 3. Перезапустити Swapper Service
docker-compose restart swapper-service
# 4. Перевірити логи
docker-compose logs swapper-service --tail 30
```
### Варіант 2: Запуск локально (без Docker)
```bash
# 1. Перейти в директорію Swapper Service
cd /Users/apple/github-projects/microdao-daarion/services/swapper-service
# 2. Встановити змінну оточення для конфігурації
export SWAPPER_CONFIG_PATH=./config/swapper_config_node2.yaml
export OLLAMA_BASE_URL=http://localhost:11434
export SWAPPER_MODE=single-active
# 3. Запустити сервіс
python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8890
# 4. Перевірити логи (шукати "default model")
```
### Варіант 3: Оновити через docker-compose (якщо конфіг монтується)
```bash
# 1. Перевірити docker-compose.yml
# Переконатися, що volume монтує правильну конфігурацію:
# volumes:
# - ./services/swapper-service/config:/app/config:ro
# 2. Скопіювати конфігурацію НОДА2
cp services/swapper-service/config/swapper_config_node2.yaml \
services/swapper-service/config/swapper_config.yaml
# 3. Перезапустити
docker-compose restart swapper-service
# 4. Перевірити логи
docker-compose logs swapper-service --tail 30 | grep -i "default\|gpt-oss"
```
---
## 🔍 Перевірка
### 1. Перевірити чи завантажилась модель
```bash
# На НОДА2
curl http://localhost:8890/status | jq
```
**Очікуваний результат:**
```json
{
"status": "healthy",
"active_model": "gpt-oss:latest",
"available_models": ["gpt-oss:latest", "phi3:latest", ...],
"loaded_models": ["gpt-oss:latest"],
"mode": "single-active",
"total_models": 8
}
```
### 2. Перевірити в кабінеті НОДА2
Відкрити: `http://localhost:8899/nodes/node-2-macbook-m4max`
**Очікуваний результат:**
- Swapper Service показує активну модель: `gpt-oss:latest`
- Статус моделі: `loaded` або `active`
- GPU використання: Apple Silicon Metal acceleration
### 3. Перевірити логи
```bash
# Якщо через Docker
docker-compose logs swapper-service | grep -i "default\|gpt-oss"
# Якщо локально
# Логи будуть в консолі, шукати:
# 🔄 Loading default model: gpt-oss:latest
# ✅ Default model loaded: gpt-oss:latest
```
---
## 📊 Результат
### До змін:
-Всі моделі `UNLOADED` при старті
- ❌ Перший запит повільний (~10-30 сек на завантаження)
- ✅ Економія пам'яті (0 GB при старті)
### Після змін:
-`gpt-oss:latest` автоматично завантажується при старті
- ✅ Швидка відповідь на перший запит (~1-2 сек)
- ⚠️ Використання пам'яті: ~13 GB (прийнятно для 64GB RAM)
---
## 🎯 Переваги
1. **Швидкість:**
- Перший запит відразу працює
- Немає затримки на завантаження моделі
2. **Зручність:**
- Модель готова до використання одразу після старту
- Не потрібно чекати на завантаження
3. **Оптимальний вибір:**
- `gpt-oss:latest` - швидка модель для більшості запитів
- 13 GB - прийнятний розмір для 64GB RAM
- 20.9B параметрів - хороша якість відповідей
---
## ⚙️ Альтернативні варіанти default_model
### Легка модель (менше пам'яті):
```yaml
swapper:
default_model: phi3:latest # 2.2 GB, 3.8B params - швидка легка модель
```
### Vision модель (для обробки зображень):
```yaml
swapper:
default_model: qwen3-vl:latest # 6.1 GB, 8.8B params - vision capabilities
```
### Code модель (для розробки):
```yaml
swapper:
default_model: starcoder2:latest # 1.7 GB, 3B params - code specialist
```
### Вимкнути автоматичне завантаження:
```yaml
swapper:
# default_model: gpt-oss:latest # Закоментовано - моделі завантажуються тільки за запитом
```
---
## 🔧 Особливості НОДА2
### Apple Silicon (M4 Max):
-`metal_acceleration: true` - використання GPU прискорення
- ✅ 40-core GPU - потужна обробка
- ✅ 64GB RAM - достатньо для великих моделей
### Ollama на НОДА2:
- ✅ Native Ollama: `http://localhost:11434` (через Pieces OS або brew)
- ✅ Docker Ollama: `http://localhost:11435` (якщо запущений)
- ⚠️ Swapper Service використовує Native Ollama за замовчанням
### Моделі на НОДА2:
- ✅ 8 моделей встановлено (~118 GB загалом)
- ✅ Різноманітність: LLM, Code, Vision, Reasoning
- ✅ Великі моделі доступні (до 42 GB)
---
## ✅ Статус
**Конфігурація створена:**
-`services/swapper-service/config/swapper_config_node2.yaml`
- ✅ Логіка автоматичного завантаження вже додана (в `main.py`)
- ✅ Налаштовано для Apple Silicon (Metal acceleration)
**Наступний крок:**
- Застосувати конфігурацію на НОДА2
- Перезапустити Swapper Service
- Перевірити логи та статус
---
## 📝 Примітки
1. **Конфігурація НОДА2 відрізняється від НОДА1:**
- НОДА1: NVIDIA GPU, `qwen3-8b` (4.87 GB)
- НОДА2: Apple Silicon, `gpt-oss:latest` (13 GB)
2. **Ollama на НОДА2:**
- Може працювати через Pieces OS або brew
- Порт: `11434` (native) або `11435` (Docker)
- Swapper Service використовує `http://localhost:11434`
3. **Моделі:**
- На НОДА2 встановлені інші моделі, ніж на НОДА1
- Конфігурація відповідає реально встановленим моделям
- Можна змінити `default_model` на будь-яку з доступних
---
**Готово до застосування на НОДА2!** 🚀