Démarrage rapide

Trois étapes, de la clé au trafic routé.

1 · Obtenir une clé

Récupérez une clé Starter ou demandez un plan payant.

Clé à 1 $

2 · Faire un appel de routage

Envoyez un prompt ; obtenez le type de tâche et le niveau de complexité.

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"
  }'

Exemple de réponse

{
  "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 · Niveau → votre modèle

Prompts simples vers un modèle bon marché/local, difficiles vers votre modèle phare.

# 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, …)

Vous ne voulez pas écrire ce mapping vous-même ? Ci-dessous, une passerelle open source prête à l'emploi qui le fait pour vous.

⚡ cortiq-gateway — la passerelle open source prête à l'emploi

Un endpoint compatible OpenAI au-dessus de ce routeur : routage par complexité d'origine, console web sur /admin (7 langues), modèles .cmf locaux plus fournisseurs cloud, et un assistant de premier lancement. La commande sans options crée sa configuration et ouvre le navigateur toute seule.

# 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

Ensuite, pointez n'importe quel client OpenAI vers base_url http://localhost:9000/v1 avec model "cortiq-auto" ; collez votre clé routeur dans les Réglages de la console. Des binaires précompilés pour Linux, Windows et macOS sont dans Releases sur GitHub.

GitHub → infosave2007/cortiq-gateway

4 · Lister les tâches de la taxonomie — GET /v1/taxonomies

L'ensemble complet des étiquettes de votre compte en un appel — construisez vos réglages de routage depuis la liste en direct plutôt que des constantes en dur.

curl https://138.226.222.209/v1/taxonomies \
  -H 'Authorization: Bearer cortiq_your_key'

Exemple de réponse

{
  "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"
      ]
    }
  ]
}

L'ensemble complet n'apparaît jamais dans une réponse /v1/route (scores ne porte que le top-3) — cet endpoint en est la seule source. Une étiquette nouvellement ajoutée apparaît ici automatiquement.

Référence de l'API

Les autres endpoints — même clé Bearer, même URL de base.

POST /v1/route:batch

Classification par lot : plusieurs prompts par appel ; les résultats reviennent dans l'ordre des 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

Corrigez une classification erronée — passez le request_id d'une réponse /v1/route et la bonne étiquette. Le routeur apprend de vos corrections.

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

Consommation et limites du compte : décisions facturées, appels oracle, quota et 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}

Une taxonomie par id : version, version du modèle et liste complète des étiquettes.

GET /v1/healthz · GET /v1/readyz

Contrôles de vivacité et de disponibilité — pour le monitoring, sans auth.