CommencezCommencez gratuitement

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

Voir le cours

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 appelez convert_timezone() avec les arguments décompressés de l'élément et stockez le résultat dans timezone_result.
  • Ajoutez un message de type 'function_call_output' à la liste messages contenant le résultat de convert_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)
Modifier et exécuter le code