Architecture & Flux
Synapse Core repose sur un flux d'exécution séquentiel et évènementiel.
Flux de génération
- Réception du message via
ChatService. - Construction du prompt via le
PromptBuilder. - Événement
SynapsePrePromptEvent: Modification possible du prompt par l'application hôte. - Appel LLM via le client dédié (Gemini, OpenAI, etc.).
- Streaming des chunks avec dispatch de
SynapseChunkReceivedEvent. - Détection de Tool Call : Si le LLM demande un outil, Synapse l'exécute et relance une boucle de génération.
- Finalisation : Enregistrement en base de données et dispatch de
SynapseGenerationCompletedEvent.
Schéma simplifié
graph TD
User([Message Utilisateur]) --> ChatService
ChatService --> PromptBuilder
PromptBuilder --> EventPrePrompt{SynapsePrePromptEvent}
EventPrePrompt --> LlmClient
LlmClient --> Streaming[Streaming des Chunks]
Streaming --> EventChunk{SynapseChunkReceivedEvent}
Streaming --> ToolCheck{Tool Call ?}
ToolCheck -- Oui --> ToolReg[ToolRegistry]
ToolReg --> LlmClient
ToolCheck -- Non --> End([Réponse finale])