Démarrage rapide
Trois étapes, de la clé au trafic routé.
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-gateway4 · 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.