Streaming Clawdbot

Découvrez les réponses en streaming de l'assistant IA Clawdbot, le chunking, les indicateurs de saisie et la livraison de messages en temps réel.

Aperçu du Streaming Clawdbot

Clawdbot prend en charge les réponses en streaming pour les interactions IA en temps réel. Le streaming permet les indicateurs de saisie, les mises à jour partielles des messages et la livraison par chunks pour les réponses longues.

Modes de Streaming

Streaming Complet

Le streaming complet livre les tokens au fur et à mesure de leur génération :

{
  "streaming": {
    "mode": "full",
    "chunkSize": 50
  }
}

Livraison par Chunks

La livraison par chunks découpe les réponses longues :

{
  "streaming": {
    "mode": "chunked",
    "maxLength": 4000,
    "delimiter": "\n\n"
  }
}

Support des Fournisseurs

FournisseurStreamingSaisieChunking
WhatsAppPartielOuiOui
TelegramCompletOuiOui
DiscordCompletOuiOui
WeChatNonNonOui
FeishuPartielOuiOui

Indicateurs de Saisie

Configuration

{
  "typing": {
    "enabled": true,
    "interval": 3000,
    "stopOnComplete": true
  }
}

Comportement

  • Indicateurs envoyés toutes les interval ms
  • Arrêtés automatiquement à la fin de la réponse
  • Implémentation spécifique par fournisseur

Chunking des Messages

Pourquoi le Chunking ?

  • Limites de longueur des messages de la plateforme
  • Meilleure expérience utilisateur
  • Risque de timeout réduit

Paramètres de Chunk

ParamètrePar DéfautDescription
maxLength4000Max de caractères par chunk
delimiter\n\nPoint de découpe préféré
delay500Ms entre les chunks

Exemple

Réponse longue automatiquement découpée :

[Chunk 1] First part of response...

[Chunk 2] Continuation...

[Chunk 3] Final part...

Événements de Stream

Types d'Événements

ÉvénementDescription
stream_startLe streaming a commencé
stream_chunkNouveau chunk de contenu
stream_endStreaming terminé
stream_errorErreur survenue

Événements WebSocket

ws.on('message', (data) => {
  const event = JSON.parse(data);

  switch(event.type) {
    case 'stream_start':
      // Show typing indicator
      break;
    case 'stream_chunk':
      // Append content
      break;
    case 'stream_end':
      // Hide typing indicator
      break;
  }
});

Gestion du Buffer

Configuration

{
  "buffer": {
    "maxSize": 10000,
    "flushInterval": 100,
    "strategy": "adaptive"
  }
}

Stratégies

StratégieDescription
immediateEnvoyer chaque token immédiatement
batchedRegrouper les tokens par intervalle
adaptiveS'adapter selon le réseau

Gestion des Erreurs

Retry sur Erreur de Stream

{
  "streaming": {
    "retry": {
      "enabled": true,
      "maxAttempts": 3,
      "backoff": "exponential"
    }
  }
}

Repli vers le Non-Streaming

Si le streaming échoue, Clawdbot bascule automatiquement vers la livraison non-streaming.

Conseils de Performance

  1. Ajustez la taille du chunk selon les limites du fournisseur
  2. Activez les indicateurs de saisie pour une meilleure UX
  3. Utilisez le buffering adaptatif pour les réseaux variables
  4. Surveillez la latence du stream pour l'optimisation

Prochaines Étapes