Files
ai_orchestrator/docs/contracts/MODEL_ROUTER.md
T
2026-07-03 20:51:36 +03:00

1.3 KiB

Model Router

Цель

Единый интерфейс к разным моделям:

  • локальным;
  • внешним;
  • отключенным;
  • vision;
  • embedding.

Слоты

weak
strong
vision
embedding
reranker

Provider types

local
external
disabled

Вызов

{
  "slot": "weak",
  "messages": [],
  "tools": [],
  "response_format": "json_schema | text",
  "task_context": {
    "task_id": "task_1",
    "node_id": "node_2"
  }
}

Ответ

{
  "slot": "weak",
  "provider": "local",
  "model": "qwen-coder-7b",
  "status": "success",
  "message": {},
  "tool_calls": [],
  "usage": {
    "input_tokens": 100,
    "output_tokens": 200,
    "cost": 0
  },
  "error": null
}

Fallback

Алгоритм:

1. вызвать weak;
2. если результат валиден — продолжить;
3. если результат невалиден — retry weak;
4. если strong доступна — вызвать strong;
5. если strong disabled — вернуть partial result и ошибку качества;
6. если external выключен настройкой — не вызывать external.

Важно: external не запрещен в коде. Он включается/выключается настройкой.