Aan de slagGa gratis aan de slag

Function-callingtools integreren

Je hebt een tool voor tijdzoneconversie gemaakt met de functie convert_timezone() en die gedefinieerd in OpenAI’s toolformaat. Nu moet je de volledige function-callingworkflow implementeren. De client is al geïnitialiseerd en de lijst tools bevat de definitie van je tijdzoneconversietool. De functie convert_timezone() is ook klaar voor gebruik.

Er is een lijst messages gestart met een gebruikersinvoer die tijdzone-informatie nodig heeft van je convert_timezone-tool.

Deze oefening maakt deel uit van de cursus

Werken met de OpenAI Responses API

Cursus bekijken

Oefeninstructies

  • Loop door de response-uitvoeritems van het eerste Responses-verzoek om te controleren of het een 'function_call' naar 'convert_timezone' bevat; roep daarna convert_timezone() aan op de uitgepakte argumenten uit het item en sla het resultaat op in timezone_result.
  • Voeg een bericht van het type 'function_call_output' toe aan de messages-lijst met het resultaat van convert_timezone().
  • Maak het laatste Responses-verzoek met de messages die het functieresultaat bevatten en geef opnieuw de lijst tools mee.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren