Aller au contenu

SynapseGenerationCompletedEvent

L'événement SynapseGenerationCompletedEvent est le signal de fin. Il est émis une fois que le LLM a fini de générer sa réponse et que tous les outils ont été résolus.

🛠 Pourquoi l'utiliser ?

  • Finalisation : Calculer le coût total de l'échange et débiter le compte de l'utilisateur.
  • Post-traitement : Analyser le sentiment de la réponse finale ou vérifier la présence de mots interdits.
  • Notifications : Envoyer une notification push si l'utilisateur n'est plus sur la page de chat.

📋 Méthodes principales

Méthode Rôle
getFullResponse() Le texte complet et définitif généré par l'IA.
getUsage() Statistiques de consommation (tokens d'entrée et de sortie).
getDebugId() ID unique de l'échange (si mode debug actif).

🚀 Exemple : Calcul de coût et facturation

public function onGenerationCompleted(SynapseGenerationCompletedEvent $event): void
{
    $usage = $event->getUsage();
    $totalTokens = $usage['prompt_tokens'] + $usage['completion_tokens'];

    $this->billingService->recordUsage($totalTokens);
}