IniziaInizia gratis

Integrare gli strumenti con Function Calling

Hai creato uno strumento per la conversione del fuso orario usando la funzione convert_timezone() e l'hai definito nel formato degli strumenti di OpenAI. Ora devi implementare l'intero workflow di function calling. Il client è già inizializzato e la lista tools contiene la definizione del tuo strumento di conversione del fuso orario. Anche la funzione convert_timezone() è pronta all'uso.

È stata avviata una lista messages che contiene un input utente che richiede le informazioni sul fuso orario dal tuo strumento convert_timezone.

Questo esercizio fa parte del corso

Lavorare con la Responses API di OpenAI

Visualizza il corso

Istruzioni dell'esercizio

  • Cicla sugli elementi di output della prima richiesta a Responses per verificare se contiene una 'function_call' a 'convert_timezone'; quindi chiama convert_timezone() passando gli argomenti decompattati dall'elemento e salva il risultato in timezone_result.
  • Aggiungi un messaggio di tipo 'function_call_output' alla lista dei messaggi contenente il risultato di convert_timezone().
  • Crea la richiesta finale a Responses con i messaggi che includono il risultato della funzione e, di nuovo, passando la lista tools.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice