Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
- 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)
5.8 KiB
5.8 KiB
⚙️ Конфігурація моделі за замовчанням для 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:
-
Завантаження конфігурації:
config = yaml.safe_load(f) swapper_config = config.get('swapper', {}) default_model = swapper_config.get('default_model') -
Якщо
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) -
Результат:
- Модель завантажується в 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
Статус: ✅ Готово до використання