Passer au contenu principal
Les sorties structurées et les appels d’outils sont des contrats spécifiques à la route. TokenLab transmet plusieurs formats d’API publics, donc le modèle de production le plus sûr est de garder chaque forme d’outil native du fournisseur sur la route qui lui appartient et de valider la sortie du modèle dans votre propre application.

Choisissez La Route

BesoinRouteUtilisez cette forme
Réponses d’objets JSON portables/v1/chat/completionsresponse_format: {"type": "json_object"}
Appel de fonction compatible OpenAI/v1/chat/completionstools: [{ "type": "function", "function": ... }]
Outils de réponses OpenAI/v1/responsesChamps tools, tool_choice et text des réponses
Utilisation ou réflexion d’outils natifs Claude/v1/messagesSchéma d’outil Messages d’Anthropic
Déclarations de fonction Gemini ou outils intégrés/v1beta/models/:model:generateContenttools natifs de Gemini et parties de contenu
Ne pas envoyer d’outils intégrés natifs du fournisseur par une route différente et s’attendre à ce que TokenLab les traduise silencieusement.

Mode JSON

Pour des réponses structurées portables, commencez avec le mode JSON des Chat Completions :
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "Return a JSON object with city and weather."
    }
  ],
  "response_format": { "type": "json_object" }
}
La validation partagée stable pour les Chat Completions accepte text et json_object. json_schema, strict, et l’application de schémas spécifiques au fournisseur peuvent exister pour certaines routes en amont ou chemins de conversion, mais ils ne constituent pas une promesse générale sur chaque route et modèle de TokenLab. Vérifiez-les par rapport au modèle sélectionné avant de vous y fier. Parsez et validez toujours le JSON retourné sur votre serveur. Le mode JSON améliore la forme, mais ne remplace pas la validation de schéma au niveau de l’application.

Boucle d’Appel d’Outils

TokenLab n’exécute pas vos fonctions. Votre application possède la boucle :
  1. Envoyez des messages plus des définitions d’outils.
  2. Lisez la réponse du modèle pour tool_calls, function_call, tool_use d’Anthropic, ou parties d’appel de fonction Gemini.
  3. Exécutez l’outil dans votre propre backend.
  4. Ajoutez le résultat de l’outil dans le format requis par la même route.
  5. Continuez la conversation jusqu’à ce que le modèle retourne une réponse finale.
Gardez la même route tout au long d’une boucle d’outils. Mélanger les Chat Completions, Réponses, Messages et formats Gemini dans une seule conversation crée généralement des bugs subtils d’état et de schéma.

Exemple de Chat Completions

curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "messages": [
      {
        "role": "user",
        "content": "Extract name and email as JSON. If needed, look up the customer."
      }
    ],
    "response_format": { "type": "json_object" },
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "lookup_customer",
          "description": "Look up a customer by email",
          "parameters": {
            "type": "object",
            "properties": {
              "email": { "type": "string" }
            },
            "required": ["email"]
          }
        }
      }
    ]
  }'

Conception de Schéma

  • Gardez les schémas petits et explicites. Les grands schémas imbriqués ajoutent des tokens et réduisent la fiabilité.
  • Préférez les champs requis pour les valeurs sans lesquelles votre produit ne peut pas continuer.
  • Utilisez des enums pour des ensembles fermés dont votre UI ou backend dépend.
  • Incluez des exemples dans l’invite lorsque le modèle a des difficultés avec une forme.
  • Traitez les erreurs de champ non pris en charge comme des retours d’information sur le contrat. Supprimez le champ ou utilisez la route native qui le documente.

Liste de Vérification de Production

  • Enregistrez la route, le modèle, les noms d’outils et la forme de schéma assainie dans les journaux.
  • Validez les arguments d’outils avant d’exécuter tout effet secondaire.
  • Appliquez vos propres vérifications de permission avant l’exécution de l’outil.
  • Rendez l’exécution de l’outil idempotente lorsque la tentative d’un client peut répéter le même appel d’outil.
  • Ne pas enregistrer les secrets retournés par les outils dans des messages visibles par le modèle.

Référence API

SujetRéférence
API Multi-FormatAPI Multi-Format
Créer une Chat CompletionCréer une Chat Completion
Créer une RéponseCréer une Réponse
Créer un MessageCréer un Message
Générer du Contenu GeminiGénérer du Contenu Gemini