Diffusion en continu avec appels de fonctions
Vous avez déjà vu combien de cas d’usage sont rendus possibles par les LLM avec appels de fonctions, qui disposent de leurs propres types d’événements. C’est utile pour fournir un retour en temps réel aux utilisateurs lorsque le modèle se prépare à appeler un outil, ou pour consigner et suivre l’utilisation des outils.
La fonction convert_timezone() que vous avez définie plus tôt pour convertir des dates-heures entre fuseaux horaires, ainsi qu’une liste tools contenant la définition de la fonction pour la Responses API, ont été définies pour vous.
Cet exercice fait partie du cours
Travailler avec l’API OpenAI Responses
Instructions
- Complétez le gestionnaire de contexte de streaming en appelant
client.responses.create()avec le modèle"gpt-5-mini", lepromptet la listetools. - À 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 affichez un message final de fin d’exécution.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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 ---")