Intégrer des outils d'appel de fonctions
Vous avez créé un outil de conversion de fuseau horaire avec la fonction convert_timezone() et vous l'avez défini selon le format d'outil d'OpenAI. Vous devez maintenant mettre en œuvre le flux complet d'appel de fonction. Le client est déjà initialisé et la liste tools contient la définition de votre outil de conversion de fuseau horaire. La fonction convert_timezone() est aussi prête à être utilisée.
Une liste messages a été amorcée et contient une entrée utilisateur qui nécessite l'information de fuseau horaire provenant de votre outil convert_timezone.
Cette activité fait partie du cours
Utiliser l'API Responses d'OpenAI
Instructions de l’exercice
- Parcourez les éléments de sortie de la première requête Responses pour vérifier s'ils contiennent un
'function_call'vers'convert_timezone'; puis appelezconvert_timezone()avec les arguments décompressés de l'élément et stockez le résultat danstimezone_result. - Ajoutez un message de type
'function_call_output'à la liste messages contenant le résultat deconvert_timezone(). - Créez la requête finale Responses avec les messages incluant le résultat de la fonction et, de nouveau, en passant la liste
tools.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)