Files
microdao-daarion/SWAPPER-DEFAULT-MODEL-CONFIGURATION.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

5.8 KiB
Raw Permalink Blame History

⚙️ Конфігурація моделі за замовчанням для Swapper Service

Дата: 2025-11-23
Статус: Реалізовано


📋 Поточна поведінка

За замовчуванням (без default_model):

  • Всі моделі мають статус UNLOADED при старті
  • Моделі завантажуються тільки за запитом
  • Економія ресурсів (VRAM, RAM)
  • ⚠️ Перший запит може бути повільнішим (час на завантаження)

З default_model в конфігурації:

  • Вказана модель автоматично завантажується при старті
  • Швидша відповідь на перший запит
  • ⚠️ Використання VRAM навіть коли модель не використовується

🔧 Конфігурація

Файл: services/swapper-service/config/swapper_config.yaml

swapper:
  mode: single-active
  max_concurrent_models: 1
  model_swap_timeout: 300
  gpu_enabled: true
  metal_acceleration: false
  # Модель для автоматичного завантаження при старті (опціонально)
  default_model: qwen3-8b  # Модель активується автоматично при старті

Варіанти налаштування:

1. Без моделі за замовчанням (економія ресурсів)

swapper:
  # default_model не вказано - моделі завантажуються тільки за запитом
  mode: single-active

2. Основна модель за замовчанням (швидкість)

swapper:
  default_model: qwen3-8b  # Основна модель (4.87 GB)

3. Легка модель за замовчанням (баланс)

swapper:
  default_model: qwen2.5-3b-instruct  # Легка модель (1.80 GB)

🎯 Рекомендації

Для НОДА1 (Production):

Рекомендовано: default_model: qwen3-8b

Причини:

  • Основна модель для більшості запитів
  • Швидша відповідь на перший запит
  • 4.87 GB VRAM - прийнятно для RTX 4000 SFF Ada (20GB)

Для НОДА2 (Development):

Рекомендовано: Без default_model або qwen2.5-3b-instruct

Причини:

  • Економія ресурсів на розробницькій машині
  • Легка модель для швидкого тестування

📊 Порівняння

Параметр Без default_model З default_model
VRAM при старті 0 GB 4.87 GB (qwen3-8b)
Час першого запиту ~10-30 сек (завантаження) ~1-2 сек (вже завантажена)
Економія ресурсів Максимальна ⚠️ Використання навіть без запитів
Швидкість відповіді ⚠️ Повільніше на першому запиті Швидше

🔄 Як працює

При старті Swapper Service:

  1. Завантаження конфігурації:

    config = yaml.safe_load(f)
    swapper_config = config.get('swapper', {})
    default_model = swapper_config.get('default_model')
    
  2. Якщо default_model вказано:

    if default_model and default_model in self.models:
        logger.info(f"🔄 Loading default model: {default_model}")
        success = await self.load_model(default_model)
    
  3. Результат:

    • Модель завантажується в VRAM
    • active_model = default_model
    • Статус моделі = LOADED
    • Готова до використання

🛠️ Зміна конфігурації

Вимкнути модель за замовчанням:

swapper:
  mode: single-active
  # default_model: qwen3-8b  # Закоментовано - моделі завантажуються тільки за запитом

Змінити модель за замовчанням:

swapper:
  default_model: qwen2.5-3b-instruct  # Легка модель замість основної

Після зміни конфігурації:

# На сервері
ssh root@144.76.224.179
cd /opt/microdao-daarion
docker-compose restart swapper-service

📝 Логи

При старті з default_model:

🔧 Initializing Swapper Service...
✅ Loaded 5 models into Swapper
✅ Swapper Service initialized with 5 models
🔄 Loading default model: qwen3-8b
✅ Default model loaded: qwen3-8b

При старті без default_model:

🔧 Initializing Swapper Service...
✅ Loaded 5 models into Swapper
✅ Swapper Service initialized with 5 models
# Модель не завантажується автоматично

Висновок

Поточна реалізація:

  • Моделі завантажуються тільки за запитом (за замовчуванням)
  • Можна вказати default_model для автоматичного завантаження
  • Гнучка конфігурація під різні сценарії

Рекомендація для НОДА1:

  • Додати default_model: qwen3-8b для швидшої відповіді
  • Або залишити без default_model для економії ресурсів

Оновлено: 2025-11-23
Статус: Готово до використання