Describe un contrato de función
Una herramienta contiene un nombre, una descripción clara y un JSON Schema para los parámetros. La descripción indica cuándo seleccionarla y el esquema restringe los argumentos.
El modelo propone una llamada; por sí solo no obtiene acceso a tu red, base de datos ni archivos.
{
"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"
}Ejecuta en tu sistema
- Comprueba el nombre de la herramienta con una lista de permitidos.
- Valida los argumentos con el esquema antes de llamar a un servicio interno.
- Aplica tu propia autorización, tiempos de espera e idempotencia a la acción de herramienta.
Devuelve el resultado
Añade un mensaje tool con el tool_call_id y un resultado serializado compacto; luego continúa la conversación con el mismo contexto.
Distingue un fallo de ejecución de herramienta de un fallo del modelo: devuelve un motivo estructurado que el modelo pueda explicar al usuario.