Architecture du Système
Le système suit une architecture hexagonale (ports et adaptateurs) avec une séparation claire entre :
1. Entités (Domaine Central)
Les objets métier et la logique au cœur de l'application :
- Brain, Agent, Chat, Message, Flow, etc.
2. Adaptateurs
Adaptateurs Pilotés (Adaptateurs Secondaires/Sortie)
Connectent l'application aux systèmes externes :
- Adaptateurs de Chat : OpenAI, LlamaCPP
- Adaptateurs de Stockage : MongoDB, Google Cloud Storage, MinIO
- Adaptateurs de Protection : LLMGuards, modération OpenAI
- Adaptateurs de Stockage Vectoriel : Weaviate
Adaptateurs Pilotes (Adaptateurs Primaires/Entrée)
Connectent l'application aux utilisateurs/clients :
- API : API REST Koa.js avec des routes pour toutes les fonctionnalités
- WebSockets : Communication en temps réel pour les réponses en streaming