Kom igångKom igång gratis

Integrera function-calling-verktyg

Du har skapat ett verktyg för tidszonskonvertering med funktionen convert_timezone() och definierat det i OpenAI:s verktygsformat. Nu ska du implementera det fullständiga arbetsflödet för function-calling. client är redan initierad och listan tools innehåller din definition av tidszonskonverteringsverktyget. Funktionen convert_timezone() är också redo att använda.

En lista, messages, har skapats med en användarinmatning som kräver tidzonsinformation från ditt convert_timezone-verktyg.

Den här övningen är en del av kursen

Arbeta med OpenAI Responses API

Visa kurs

Övningsinstruktioner

  • Loopa igenom svarsobjekten från den första Responses-förfrågan för att kontrollera om den innehåller ett 'function_call' till 'convert_timezone'; anropa sedan convert_timezone() med de uppackade argumenten från objektet och lagra resultatet i timezone_result.
  • Lägg till ett meddelande av typen 'function_call_output' i meddelandelistan med resultatet från convert_timezone().
  • Skapa den slutliga Responses-förfrågan med meddelandena som innehåller funktionsresultatet och skicka återigen med listan tools.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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.4-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.4-mini", input=____, tools=____)
print(response.output_text)
Redigera och kör kod