Files
gooseek/CONTINUE.md
home 7a40ff629e
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Failing after 8m25s
feat: LLM routing by tier (free→Ollama, pro→Timeweb)
- Add tier-based provider routing in llm-svc
  - free tier → Ollama (local qwen3.5:9b)
  - pro/business → Timeweb Cloud AI
- Add /api/v1/embed endpoint for embeddings via Ollama
- Update Ollama client: qwen3.5:9b default, remove auth
- Add GenerateEmbedding() function for qwen3-embedding:0.6b
- Add Ollama K8s deployment with GPU support (RTX 4060 Ti)
- Add monitoring stack (Prometheus, Grafana, Alertmanager)
- Add Grafana dashboards for LLM and security metrics
- Update deploy.sh with monitoring and Ollama deployment

Made-with: Cursor
2026-03-03 02:25:22 +03:00

3.8 KiB
Raw Permalink Blame History

LLM Routing по тарифам

Архитектура

┌─────────────────────────────────────────────────────────┐
│                    llm-svc                              │
│                                                         │
│  POST /api/v1/generate                                  │
│       │                                                 │
│       ▼                                                 │
│  ┌─────────────────┐                                    │
│  │ resolveProvider │                                    │
│  │    (tier)       │                                    │
│  └────────┬────────┘                                    │
│           │                                             │
│     ┌─────┴─────┐                                       │
│     ▼           ▼                                       │
│  ┌──────┐   ┌────────┐                                  │
│  │ FREE │   │  PRO   │                                  │
│  └──┬───┘   └───┬────┘                                  │
│     │           │                                       │
│     ▼           ▼                                       │
│  Ollama      Timeweb                                    │
│  (local)     (cloud)                                    │
└─────────────────────────────────────────────────────────┘

Роутинг по тарифам

Тариф Провайдер Модель Лимиты
free Ollama (local) qwen3.5:9b 50 req/day, 2000 tokens/req
pro Timeweb gpt-4o, claude, etc 500 req/day, 8000 tokens/req
business Timeweb all models 5000 req/day, 32000 tokens/req

API Endpoints

POST /api/v1/generate

{
  "providerId": "auto",  // или "ollama", "timeweb", etc
  "key": "qwen3.5:9b",   // модель
  "messages": [{"role": "user", "content": "..."}],
  "options": {
    "maxTokens": 1000,
    "temperature": 0.7,
    "stream": true
  }
}

POST /api/v1/embed

{
  "input": "Текст для эмбеддинга",
  "model": "qwen3-embedding:0.6b"
}

GET /api/v1/providers

Возвращает список доступных провайдеров с указанием tier.


Ollama конфигурация

Параметр Значение
OLLAMA_NUM_PARALLEL 4
OLLAMA_MAX_LOADED_MODELS 2
OLLAMA_FLASH_ATTENTION true
Модель генерации qwen3.5:9b
Модель эмбеддингов qwen3-embedding:0.6b

Пропускная способность

Сценарий Одновременно RPM
Короткие ответы 6-8 чел ~40-60
Средние ответы 4-6 чел ~20-30
Эмбеддинги 10+ чел ~800+

Файлы изменены

  • backend/cmd/llm-svc/main.go — роутинг по тарифу, /embed endpoint
  • backend/internal/llm/ollama.go — qwen3.5:9b, убран токен, GenerateEmbedding
  • backend/internal/llm/client.go — убран OllamaToken
  • backend/deploy/k8s/ollama.yaml — GPU + параллельность
  • backend/deploy/k8s/ollama-models.yaml — без авторизации

Сервер