Comportement de Réponse en Streaming
Découvrez comment fonctionnent les réponses en streaming d'Optave et comment gérer le contenu généré par l'IA en temps réel dans votre application.
Activation du Streaming
Pour recevoir des réponses en streaming, vous devez configurer le paramètre disableStream dans votre requête :
const interactionParams = {
request: {
settings: {
disableStream: false, // Activer le streaming (par défaut à true)
// ... autres paramètres
},
// ... autre configuration de la requête
}
};
const response = await client.interaction(interactionParams);
Important : Le streaming est désactivé par défaut (disableStream: true). Définissez disableStream: false pour recevoir des mises à jour en temps réel pendant que le modèle IA génère la réponse.
Intervalle de Streaming
- Intervalle : 500ms (0,5 seconde)
- Premier Message : Envoyé après les 500ms initiales dès que le contenu est disponible
- Messages Suivants : Envoyés toutes les 500ms pendant que le modèle IA génère la réponse
Type de Contenu des Messages
- Cumulatif/Complet : Chaque message diffusé contient la réponse accumulée complète depuis le début, pas seulement le nouveau delta/fragment
- Mises à Jour Progressives : Le client reçoit des versions de plus en plus complètes de la réponse à chaque message
- Message Final : Une fois le streaming terminé, un message final est envoyé avec le contenu restant mis en tampon
Implémentation Technique
Le processus de streaming fonctionne comme suit :
- Les fragments du modèle IA sont reçus et accumulés dans un tampon
- Toutes les 500ms, si le tampon contient du contenu, la réponse accumulée complète est envoyée au client via WebSocket
- Le tampon continue de croître avec chaque nouveau fragment du fournisseur IA
- Lorsque le streaming se termine, tout contenu final est envoyé immédiatement
Exemple de Flux
Temps 0ms : Le streaming commence
Temps 500ms : Message 1 envoyé : "Bonjour, comment puis"
Temps 1000ms : Message 2 envoyé : "Bonjour, comment puis-je vous aider aujourd'hui"
Temps 1500ms : Message 3 envoyé : "Bonjour, comment puis-je vous aider aujourd'hui ? Je suis là pour"
...
Fin du stream : Message final envoyé avec la réponse complète
Note : Chaque message remplace complètement le précédent - les clients ne doivent pas concaténer les messages, mais plutôt afficher le dernier message reçu.