Быстрый старт
Три шага от ключа до маршрутизированного трафика.
2 · Сделайте вызов
Отправьте промпт — получите тип задачи и уровень сложности.
curl https://138.226.222.209/v1/route \
-H 'Authorization: Bearer cortiq_your_key' \
-H 'content-type: application/json' \
-d '{
"input": { "text": "Write a Python function to reverse a list" },
"taxonomy_id": "data-assistant"
}'
Пример ответа
{
"schema_version": "1.1",
"request_id": "req_18c98f1adb897a78001871",
"decision": {
"task_label": "code",
"confidence": 0.997,
"complexity": { "tier": "low", "score": 0.27, … },
"source": "router", …
},
"scores": [ { "task_label": "code", "probability": 0.997, … }, … ],
"usage": { "billable_decisions": 1, "oracle_calls": 0 },
"meta": { "model_version": "data-assistant@2026.08.02", "latency_ms": 0.03, … }
}
3 · Сопоставьте уровень → модель
Простые промпты — в дешёвую/локальную модель, сложные — во флагман.
# your side — map the router's answer to your models tier == "low" → cheap / local (llama.cpp, Ollama, gpt-4o-mini) tier == "medium" → mid tier == "high" → flagship (Claude, GPT-4o, …)
Не хотите писать этот маппинг сами? Ниже — готовый open-source шлюз, который делает его за вас.
⚡ cortiq-gateway — готовый open-source шлюз
Один OpenAI-совместимый endpoint поверх этого роутера: маршрутизация по сложности из коробки, веб-панель на /admin (7 языков), локальные .cmf модели и облачные провайдеры, мастер первого запуска. Команда без флагов сама создаст конфиг и откроет браузер.
# crates.io cargo install cortiq-gateway cortiq-gateway # Docker docker run -p 9000:9000 -v cortiq-data:/app/data ghcr.io/infosave2007/cortiq-gateway:latest
Дальше — любой OpenAI-клиент: base_url http://localhost:9000/v1, model "cortiq-auto"; ключ роутера вставьте в Настройках панели. Готовые бинарники под Linux, Windows и macOS — в разделе Releases на GitHub.
GitHub → infosave2007/cortiq-gateway4 · Список задач таксономии — GET /v1/taxonomies
Полный набор меток вашего аккаунта одним запросом — стройте настройки маршрутизации по живому списку, а не по константам в коде.
curl https://138.226.222.209/v1/taxonomies \
-H 'Authorization: Bearer cortiq_your_key'
Пример ответа
{
"schema_version": "1.1",
"taxonomies": [
{
"taxonomy_id": "data-assistant",
"taxonomy_version": "data-assistant@1",
"model_version": "data-assistant@2026.08.02",
"labels": [
"chitchat", "code", "creative-writing",
"extraction", "math", "qa",
"summarization", "translation"
]
}
]
}
Полного списка нет в ответе /v1/route (в scores только топ-3) — этот эндпоинт его единственный источник. Новая метка в таксономии появится здесь автоматически.
Справочник API
Остальные эндпоинты — тот же Bearer-ключ, та же база.
POST /v1/route:batch
Пакетная классификация: до множества промптов за один вызов, результаты в том же порядке, что и inputs.
curl https://138.226.222.209/v1/route:batch \ -H 'Authorization: Bearer cortiq_your_key' \ -H 'content-type: application/json' \ -d '{ "taxonomy_id": "data-assistant", "inputs": [ { "text": "Fix this bug" }, { "text": "Переведи: добрый вечер" } ] }' # → { "results": [ { "request_id": …, "decision": { "task_label": "code", … } }, … ] }
POST /v1/feedback
Исправьте неверную классификацию — укажите request_id из ответа /v1/route и правильную метку. Роутер дообучается на ваших поправках.
curl https://138.226.222.209/v1/feedback \ -H 'Authorization: Bearer cortiq_your_key' \ -H 'content-type: application/json' \ -d '{ "request_id": "req_…", "correct_task_label": "math" }' # → { "accepted": true, "message": "…" }
GET /v1/usage
Использование и лимиты аккаунта: списанные решения, вызовы оракула, квота и rate-limit.
{
"account": { "id": "acct_…", "billable_decisions": 98, "decision_quota": 0, "rate_per_min": 60 },
"usage": { "cache_hits": 85, "oracle_calls": 58, "escalation_rate": 0.64, … }
}
GET /v1/taxonomies/{id}
Одна таксономия по id: версия, версия модели и полный список меток.
GET /v1/healthz · GET /v1/readyz
Проверки живости и готовности — для мониторинга, без авторизации.