Files
microdao-daarion/NODE1-SWAPPER-CONFIG-SETUP.md
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- matrix-gateway: POST /internal/matrix/presence/online endpoint
- usePresenceHeartbeat hook with activity tracking
- Auto away after 5 min inactivity
- Offline on page close/visibility change
- Integrated in MatrixChatRoom component
2025-11-27 00:19:40 -08:00

8.2 KiB
Raw Blame History

⚙️ Налаштування Swapper Service на Node #1

Дата: 2025-11-22
Мета: Налаштувати Swapper Service з доступними моделями Ollama на Node #1


🔍 Виявлені моделі на Node #1

На Node #1 в Ollama доступні такі моделі:

  1. qwen2.5:7b-instruct-q4_K_M - 4.36 GB

    • Тип: LLM (General Purpose)
    • Пріоритет: High
    • Призначення: Основна модель для загальних завдань
  2. qwen2.5:3b-instruct-q4_K_M - 1.80 GB

    • Тип: LLM (Lightweight)
    • Пріоритет: Medium
    • Призначення: Швидкі відповіді, менше ресурсів
  3. qwen2-math:7b - 4.13 GB

    • Тип: Math Specialist
    • Пріоритет: High
    • Призначення: Математичні завдання

📝 Крок 1: Підключитися до Node #1

ssh root@144.76.224.179

📝 Крок 2: Знайти директорію Swapper Service

# Знайти де знаходиться Swapper Service
docker ps | grep swapper

# Знайти конфігураційну директорію
find /opt /var /home -name "swapper*" -type d 2>/dev/null
# або
docker inspect swapper-service | grep -A 10 "Mounts"

📝 Крок 3: Створити конфігураційний файл

Варіант A: Якщо конфігурація монтується як volume

# Знайти шлях до конфігурації
docker inspect swapper-service | grep -A 5 "Mounts"

# Створити файл конфігурації
cat > /path/to/swapper-config/swapper_config.yaml << 'EOF'
# Swapper Configuration for Node #1 (Production Server)
# Single-active LLM scheduler
# Hetzner GEX44 - NVIDIA RTX 4000 SFF Ada (20GB VRAM)

swapper:
  mode: single-active
  max_concurrent_models: 1
  model_swap_timeout: 300
  gpu_enabled: true
  metal_acceleration: false  # NVIDIA GPU, not Apple Silicon

models:
  # Primary LLM - Qwen2.5 7B Instruct (High Priority)
  qwen2.5-7b-instruct:
    path: ollama:qwen2.5:7b-instruct-q4_K_M
    type: llm
    size_gb: 4.36
    priority: high
    description: "Primary LLM for general tasks and conversations"
    
  # Lightweight LLM - Qwen2.5 3B Instruct (Medium Priority)
  qwen2.5-3b-instruct:
    path: ollama:qwen2.5:3b-instruct-q4_K_M
    type: llm
    size_gb: 1.80
    priority: medium
    description: "Lightweight LLM for faster responses"
    
  # Math Specialist - Qwen2 Math 7B (High Priority)
  qwen2-math-7b:
    path: ollama:qwen2-math:7b
    type: math
    size_gb: 4.13
    priority: high
    description: "Specialized model for mathematical tasks"

storage:
  models_dir: /app/models
  cache_dir: /app/cache
  swap_dir: /app/swap

ollama:
  url: http://ollama:11434  # From Docker container to Ollama service
  timeout: 300
EOF

Варіант B: Якщо конфігурація всередині контейнера

# Скопіювати файл в контейнер
docker cp swapper_config_node1.yaml swapper-service:/app/config/swapper_config.yaml

# Або створити файл всередині контейнера
docker exec -it swapper-service sh
cat > /app/config/swapper_config.yaml << 'EOF'
# ... (вставити вміст з вище)
EOF
exit

Варіант C: Через docker-compose.yml

Якщо використовується docker-compose, додати volume:

services:
  swapper-service:
    volumes:
      - ./services/swapper-service/config/swapper_config.yaml:/app/config/swapper_config.yaml:ro
    environment:
      - SWAPPER_CONFIG_PATH=/app/config/swapper_config.yaml
      - OLLAMA_BASE_URL=http://ollama:11434

📝 Крок 4: Перезапустити Swapper Service

# Перезапустити через docker-compose
docker-compose restart swapper-service

# Або через Docker
docker restart swapper-service

# Перевірити логи
docker logs swapper-service --tail 50 -f

Очікуваний вивід в логах:

✅ Swapper Service initialized with 3 models
✅ Loaded qwen2.5-7b-instruct
✅ Loaded qwen2.5-3b-instruct
✅ Loaded qwen2-math-7b

📝 Крок 5: Перевірити результат

5.1 Перевірити через API

# Перевірити статус
curl http://localhost:8890/status

# Перевірити моделі
curl http://localhost:8890/models

# Перевірити health
curl http://localhost:8890/health

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

{
  "models": [
    {
      "name": "qwen2.5-7b-instruct",
      "ollama_name": "qwen2.5:7b-instruct-q4_K_M",
      "type": "llm",
      "size_gb": 4.36,
      "priority": "high",
      "status": "unloaded"
    },
    {
      "name": "qwen2.5-3b-instruct",
      "ollama_name": "qwen2.5:3b-instruct-q4_K_M",
      "type": "llm",
      "size_gb": 1.80,
      "priority": "medium",
      "status": "unloaded"
    },
    {
      "name": "qwen2-math-7b",
      "ollama_name": "qwen2-math:7b",
      "type": "math",
      "size_gb": 4.13,
      "priority": "high",
      "status": "unloaded"
    }
  ]
}

5.3 Перевірити в моніторі

Відкрити в браузері:

http://localhost:8899/node/node-1

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

  • Swapper Service Connections відображається
  • Список з 3 моделей
  • Детальна інформація про кожну модель
  • Активна модель (якщо завантажена) підсвічена зеленим

🔧 Troubleshooting

Проблема: Моделі все ще не відображаються

  1. Перевірити чи Ollama доступний з контейнера:

    docker exec swapper-service curl http://ollama:11434/api/tags
    # або
    docker exec swapper-service curl http://localhost:11434/api/tags
    
  2. Перевірити змінні оточення:

    docker exec swapper-service env | grep -i ollama
    docker exec swapper-service env | grep -i swapper
    
  3. Перевірити конфігурацію всередині контейнера:

    docker exec swapper-service cat /app/config/swapper_config.yaml
    

Проблема: Swapper не може підключитися до Ollama

  1. Перевірити мережеві налаштування:

    docker network ls
    docker network inspect dagi-network  # або назва вашої мережі
    
  2. Перевірити чи Ollama працює:

    docker ps | grep ollama
    curl http://localhost:11434/api/tags
    
  3. Змінити URL Ollama в конфігурації:

    ollama:
      url: http://localhost:11434  # Якщо Ollama на хості
      # або
      url: http://ollama:11434     # Якщо Ollama в Docker мережі
    

Чеклист

  • Підключено до Node #1
  • Знайдено директорію Swapper Service
  • Створено конфігураційний файл з 3 моделями
  • Перезапущено Swapper Service
  • Перевірено логи (3 моделі завантажені)
  • Перевірено через API (/models повертає 3 моделі)
  • Перевірено в моніторі (моделі відображаються)

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

Після налаштування:

  • 3 моделі доступні в Swapper Service
  • qwen2.5-7b-instruct (High Priority) - основна модель
  • qwen2.5-3b-instruct (Medium Priority) - легка модель
  • qwen2-math-7b (High Priority) - математична модель
  • Монітор показує всі моделі з детальною інформацією
  • Активна модель підсвічена зеленим

Last Updated: 2025-11-22
Status: Готово до використання
Config File: services/swapper-service/config/swapper_config_node1.yaml