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
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", 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 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 ---")