ComenzarEmpieza gratis

Integración de herramientas con llamadas a funciones

Has creado una herramienta de conversión de zona horaria usando la función convert_timezone() y la has definido en el formato de herramientas de OpenAI. Ahora necesitas implementar el flujo completo de llamadas a funciones. El client ya está inicializado y la lista tools contiene la definición de tu herramienta de conversión de zona horaria. La función convert_timezone() también está lista para usar.

Se ha iniciado una lista messages que contiene una entrada de usuario que requiere la información de zona horaria de tu herramienta convert_timezone.

Este ejercicio forma parte del curso

Trabajar con la API Responses de OpenAI

Ver curso

Instrucciones del ejercicio

  • Recorre los elementos de salida de la primera solicitud de Responses para comprobar si contiene una 'function_call' a 'convert_timezone'; luego llama a convert_timezone() con los argumentos desempaquetados del elemento y guarda el resultado en timezone_result.
  • Añade un mensaje de tipo 'function_call_output' a la lista de mensajes que contenga el resultado de convert_timezone().
  • Crea la solicitud final de Responses con los mensajes que incluyen el resultado de la función y, de nuevo, pasando la lista tools.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

messages = [{"role": "user", "content": "What time is 2:30pm on January 20th in New York in Tokyo time?"}]
response = client.responses.create(model="gpt-5-mini", input=messages, tools=tools)
messages += response.output

# Process function calls and execute the timezone conversion
for item in response.output:
    if item.type == "____":
        if item.name == "____":
            timezone_result = ____(**json.loads(item.arguments))
            
            # Append function output to messages
            messages.append({"type": "____", "call_id": item.call_id, "output": json.dumps({"convert_timezone": ____})})

# Make second API request with function results
response = client.responses.create(model="gpt-5-mini", input=____, tools=____)
print(response.output_text)
Editar y ejecutar código