Files
microdao-daarion/OLLAMA-OPTIMIZATION.md
Ivan Tytar 03d3d6ecc4 fix: increase LLM timeout 30s→60s, fix Gateway request format, add Ollama optimization guide
- Fixed Gateway: 'prompt' → 'message' field name
- Increased LLM provider timeout from 30s to 60s
- Added OLLAMA-OPTIMIZATION.md with performance tips
- DAARWIZZ now responds (slowly but works)
2025-11-15 17:46:35 +01:00

2.5 KiB
Raw Permalink Blame History

Ollama Performance Optimization

Проблема

Qwen3:8b генерує відповідь 25-30 секунд, що занадто повільно для чат-бота.

Швидкі рішення

1. Збільшити timeout ( зроблено)

# providers/llm_provider.py
timeout_s: int = 60  # було 30

2. Keep model loaded (рекомендовано)

# Встановити keep_alive щоб модель не вивантажувалась
curl http://localhost:11434/api/generate -d '{
  "model": "qwen3:8b",
  "prompt": "warmup",
  "keep_alive": "24h"
}'

Або в systemd override:

[Service]
Environment="OLLAMA_KEEP_ALIVE=24h"

3. Використати легшу модель

# Завантажити qwen2.5:3b (швидша, але менш "розумна")
ollama pull qwen2.5:3b

Оновити router-config.yml:

llm_profiles:
  - profile_id: "local_qwen_fast"
    provider_id: "llm_local_qwen"
    model: "qwen2.5:3b"  # замість qwen3:8b

4. GPU acceleration (якщо є GPU)

Ollama автоматично використовує GPU якщо є CUDA/ROCm.

Перевірка:

ollama ps  # покаже чи використовує GPU
nvidia-smi  # для NVIDIA GPU

Довгострокові рішення

Option A: Віддалений LLM (швидко, але платно)

llm_profiles:
  - profile_id: "production_fast"
    provider_id: "openai_remote"
    model: "gpt-4o-mini"
    base_url: "https://api.openai.com/v1"
    api_key_env: "OPENAI_API_KEY"

Option B: Більш потужний сервер

  • CPU: 8+ cores
  • RAM: 32GB+ (для 8B моделі)
  • GPU: RTX 3060+ (12GB VRAM)

Моніторинг

# Час генерації
docker compose logs router | grep "Request timeout"

# Завантаженість Ollama
curl http://localhost:11434/api/ps

# Системні ресурси
htop

Рекомендації для DAARWIZZ

  1. Зараз: timeout 60s, працює але повільно
  2. 🔄 Наступний крок: OLLAMA_KEEP_ALIVE=24h щоб модель не вивантажувалась
  3. 🚀 Production: віддалений LLM (OpenAI/Anthropic) або потужніший сервер з GPU

Статус: DAARWIZZ працює, але відповідає за ~30-40 секунд. Для комфорту потрібно <5 секунд.