CommencezCommencez gratuitement

Diffusion en continu avec des appels de fonction

Vous avez déjà vu combien de cas d'utilisation s'ouvrent avec des LLM à appel de fonction, qui ont leurs propres types d'événements. C'est utile pour fournir de la rétroaction en temps réel aux utilisateurs lorsque le modèle se prépare à appeler un outil, ou pour la journalisation afin de suivre l'utilisation des outils.

La fonction convert_timezone() que vous avez définie plus tôt pour convertir des dates-heures entre des fuseaux horaires, ainsi qu'une liste tools contenant la définition de la fonction pour l'API Responses, ont été préparées pour vous.

Cette activité fait partie du cours

Utiliser l'API Responses d'OpenAI

Voir le cours

Instructions de l’exercice

  • Complétez le gestionnaire de contexte de diffusion en continu en appelant client.responses.create() avec le modèle "gpt-5.4-mini", le prompt et la liste tools.
  • À l'intérieur de la boucle, vérifiez les événements "function_call_arguments.delta".
  • Ajoutez une condition pour vérifier les événements "function_call_arguments.done".
  • Ajoutez une dernière condition pour vérifier si le type d'événement est "response.completed" et imprimez un message final de fin d'exécution.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

prompt = "What time is 2:30pm on January 20th in New York in Tokyo time?"

# Open the streaming connection and enable tool-calling
with ____ as stream:
    for event in stream:
        # Filter for function call arguments delta events
        if ____:
            print(f"\nTool args streaming: {event.delta}")
        # Filter for function call arguments complete events
        elif ____:
            print("Tool call args complete.")
        # Filter for response completed events
        elif ____:
            print("\n--- Completed ---")
Modifier et exécuter le code