Décrire le contrat d’une fonction
Un outil comporte un nom, une description claire et un schéma JSON pour ses paramètres. La description indique quand sélectionner l’outil, tandis que le schéma contraint les arguments.
Le modèle propose un appel ; il n’obtient pas de lui-même un accès à votre réseau, à votre base de données ou à vos fichiers.
{
"model": "openai/gpt-5.6-sol",
"messages": [{"role": "user", "content": "What is the weather in Tashkent?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Read current weather for a city.",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
"additionalProperties": false
}
}
}],
"tool_choice": "auto"
}Exécuter de votre côté
- Vérifiez le nom de l’outil par rapport à une liste d’autorisation.
- Validez les arguments par rapport au schéma avant d’appeler un service interne.
- Appliquez vos propres règles d’autorisation, délais d’expiration et mécanismes d’idempotence à l’action de l’outil.
Renvoyer le résultat
Ajoutez un message d’outil contenant le tool_call_id et un résultat sérialisé compact, puis poursuivez la conversation avec le même contexte.
Distinguez l’échec d’exécution d’un outil de l’échec d’un modèle : renvoyez une raison structurée que le modèle pourra expliquer à l’utilisateur.