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

8.9 KiB
Raw Permalink Blame History

Налаштування 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: Використати локальну конфігурацію (рекомендовано)

# 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)

# 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 (якщо конфіг монтується)

# 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. Перевірити чи завантажилась модель

# На НОДА2
curl http://localhost:8890/status | jq

Очікуваний результат:

{
  "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. Перевірити логи

# Якщо через 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

Легка модель (менше пам'яті):

swapper:
  default_model: phi3:latest  # 2.2 GB, 3.8B params - швидка легка модель

Vision модель (для обробки зображень):

swapper:
  default_model: qwen3-vl:latest  # 6.1 GB, 8.8B params - vision capabilities

Code модель (для розробки):

swapper:
  default_model: starcoder2:latest  # 1.7 GB, 3B params - code specialist

Вимкнути автоматичне завантаження:

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! 🚀