Passer au contenu principal
La plupart des problèmes de connexion proviennent de l’une de ces quatre raisons : l’URL de base est absente ou contient /v1 alors que le client s’attend à l’inverse, le champ model ne correspond pas au nom de votre déploiement enregistré, le connecteur de ce déploiement n’est pas en ligne, ou le modèle ne prend pas en charge la requête du client (par exemple les appels d’outils). Parcourez cette page du début à la fin avant de supposer qu’un problème plus profond existe.

Quelle URL de base mon client utilise-t-il ?

Choisissez l’URL de base selon le type d’API utilisé par votre client. Ce dernier ajoute ensuite le reste du chemin (/chat/completions, /responses ou /messages) ; vous n’avez qu’à définir la racine.
Si vous ne savez pas quel style un client utilise, vérifiez s’il demande ANTHROPIC_BASE_URL (ou un SDK Anthropic) — c’est le cas sans /v1. Tous les autres clients qui requièrent un base_url ou un OPENAI_BASE_URL au format OpenAI nécessitent le suffixe /v1.

Fonctionne avec curl mais échoue dans mon agent

Si une requête curl simple réussit, mais que le même appel échoue depuis un client, un framework ou un agent, examinez les points suivants dans l’ordre indiqué :
Certains clients souhaitent uniquement la racine (https://api.tokios.com/v1) et ajoutent eux-mêmes /chat/completions ; d’autres exigent que le chemin complet soit saisi. Si vous avez copié une URL se terminant déjà par /chat/completions, /responses ou /messages dans un champ qui ajoute lui-même un chemin, le résultat sera un chemin doublé ou mal formé. Définissez l’URL de base sur la racine indiquée dans le tableau ci-dessus et laissez le client ajouter le reste.
Les frameworks d’agents et les assistants de codage envoient souvent un tableau tools à chaque requête, même pour des prompts simples. Tokios transmet directement la structure tools à votre modèle, mais ce dernier doit lui-même prendre en charge l’appel de fonctions ; sinon la requête échoue ou les outils sont ignorés silencieusement. Vérifiez d’abord que le modèle amont supporte l’appel d’outils avant d’examiner les paramètres du client.
Le champ model doit contenir le nom de déploiement public que vous avez enregistré dans l’onglet Models de la console (par exemple, gemma-tunnel), et non l’ID de modèle amont utilisé par votre backend (par exemple, gemma:7b). Une requête curl avec le bon nom de déploiement fonctionne, tandis qu’un client configuré avec l’ID local du backend renvoie un 404.

Signification de chaque code d’erreur

Confirmez le bon fonctionnement du tunnel de manière indépendante.

Avant de poursuivre le débogage de la configuration côté client, déterminez si le problème provient du client ou du modèle/connecteur lui-même. Ouvrez l’onglet Playground de la console et envoyez un prompt de test au même déploiement — cette opération s’effectue dans le cadre de votre session connectée, donc aucune clé API n’est nécessaire. Si le Playground fonctionne, le tunnel et le modèle sont corrects, et le problème réside dans l’URL de base, la valeur du modèle ou la structure de la requête côté client. Si le Playground échoue également, le problème se situe en amont du client : examinez alors le connecteur et le déploiement.

Prochaines étapes

Clients compatibles

Tableau récapitulatif des paramètres d’URL de base et de clé API pour chaque client pris en charge.

Claude Code

Variables d’environnement et indicateur de modèle pour une configuration conforme aux exigences d’Anthropic.

SDK et frameworks

Configuration de LangChain, LlamaIndex, du SDK AI de Vercel ainsi que de Pydantic AI.

Points de terminaison API

Schémas complets des requêtes et des réponses pour chaque interface.