Concepts Fondamentaux
1. Brainâ
Un Brain est le concept central du systÚme, représentant une configuration d'IA avec des capacités spécifiques.
Propriétés Clés :
- ID : Identifiant unique
- Nom : Nom lisible par l'humain
- Moteur : Configuration pour le modĂšle d'IA sous-jacent (OpenAI, LlamaCPP)
- Modules : Extensions qui fournissent des fonctionnalités supplémentaires
- Persona : DĂ©finition de la personnalitĂ© qui façonne les interactions (peut ĂȘtre spĂ©cifique Ă une langue)
- PromptInit : Contexte/instructions initiales pour l'IA (peut ĂȘtre spĂ©cifique Ă une langue)
- Flow : Structure optionnelle de flux de conversation
- Abonnement : Limites d'utilisation et informations de facturation optionnelles
Responsabilités :
- Sert de conteneur pour les capacités et la configuration de l'IA
- Définit la personnalité et le comportement de l'IA
- Contient des modules qui étendent les fonctionnalités
2. Agentâ
Un Agent est une instanciation d'un Brain qui peut ĂȘtre dĂ©ployĂ©e et avec laquelle on peut interagir de maniĂšre indĂ©pendante.
Propriétés Clés :
- ID : Identifiant unique
- BrainID : Référence au Brain parent
- Nom : Nom lisible par l'humain
- AuthSecret : Identifiant d'authentification
- StreamingEnabled : Si les réponses en streaming sont activées
- Configuration Vocale : ParamĂštres pour la synthĂšse vocale
- Statut : Ătat actuel (OCCUPĂ/INACTIF)
- Instances : Plusieurs instances en cours d'exĂ©cution du mĂȘme agent
Responsabilités :
- Fournit une interface pour interagir avec un Brain
- GÚre l'état des conversations en cours
- Prend en charge la synthĂšse vocale et le streaming
3. Chatâ
Un Chat représente une session de conversation entre un utilisateur et un Agent.
Propriétés Clés :
- ID : Identifiant unique
- BrainID : Référence au Brain utilisé
- AgentID : Référence à l'Agent utilisé
- Messages : Tableau des messages dans la conversation
- Contexte : Métadonnées et état de la conversation
- Langue : La langue utilisée dans la conversation
Responsabilités :
- Stocke l'historique des conversations
- Maintient l'état et le contexte de la conversation
- Suit le flux des messages et l'utilisation des outils
4. Messageâ
Un Message représente une interaction unique au sein d'un Chat.
Propriétés Clés :
- ID : Identifiant unique
- RĂŽle : Type d'expĂ©diteur (UTILISATEUR, ASSISTANT, SYSTĂME)
- Contenu : Le texte réel du message
- RésultatsOutils : Résultats des outils utilisés dans le traitement du message
- Suggestions : Réponses ou suivis suggérés
- NĆudFlow : RĂ©fĂ©rence au nĆud de flux qui a gĂ©nĂ©rĂ© ce message
- Horodatage : Quand le message a été créé
- Actions : Actions qui peuvent ĂȘtre entreprises en rĂ©ponse au message
Responsabilités :
- Stocke le contenu des interactions individuelles
- Associe l'utilisation d'outils aux messages
- Transporte des métadonnées pour le contrÎle des flux et les éléments d'interface utilisateur
5. Flowâ
Un Flow dĂ©finit un chemin de conversation structurĂ© avec des nĆuds qui guident les interactions.
Propriétés Clés :
- NĆuds : Ătapes individuelles de conversation
- Points d'entrée : Conditions qui déclenchent le flux
- Sorties : Transitions vers d'autres nĆuds
- Contenus : Contenu et comportement pour chaque nĆud
Responsabilités :
- Structure les conversations en chemins logiques
- ContrÎle l'accÚs aux outils à différentes étapes
- Fournit des expériences de conversation guidées
- Applique des exigences avant de progresser
6. Moduleâ
Un Module est une extension qui ajoute des fonctionnalités à un Brain.
Types Principaux :
- Externe : Intégration avec des API externes via REST
- ContextualKnowledgeWeaviate : Récupération de connaissances à partir d'une base de données vectorielle
Responsabilités :
- Ătend les capacitĂ©s du Brain
- Fournit un accÚs aux systÚmes et données externes
- Permet de récupérer un contexte pertinent pour les conversations
7. Guardianâ
Un Guardian fournit une modération de contenu et une sécurité pour les interactions.
Types Principaux :
- PROMPTCHECK : Ăvalue la sĂ©curitĂ© des entrĂ©es
- WORDCHECK : Filtre des mots spécifiques
- INTENTIONCHECK : Analyse l'intention des messages
- ATTACKCHECK : Détecte les menaces de sécurité potentielles
- ANONIMIZE : Supprime les informations personnellement identifiables
Responsabilités :
- Assure la sécurité des conversations
- Filtre le contenu inapproprié
- Prévient l'injection de prompts et autres attaques
- ProtÚge les informations privées
8. Toolâ
Un Tool est une fonction qui peut ĂȘtre utilisĂ©e par un Brain pour effectuer des actions spĂ©cifiques.
Responsabilités :
- Fournit des capacités spécifiques au Brain
- Exécute des actions basées sur le contexte de la conversation
- Renvoie des rĂ©sultats qui peuvent ĂȘtre incorporĂ©s dans les rĂ©ponses