Architecture Technique et Hébergement

Notre approche de l'infrastructure technologique
L'architecture technique constitue le fondement de notre solution, déterminant sa performance, sa sécurité, sa maintenabilité et son potentiel d'évolution. Notre approche modulaire vous permet de bénéficier d'une solution parfaitement adaptée à vos contraintes spécifiques et à vos objectifs métiers.
Nous n'utilisons que des produits OpenSource, sans frais caché ni abonnement afin de garantir un contrôle sur les dépenses. De plus, nous utilisons le plus souvent possible des modèles LLM gratuits sauf si les contraintes du client l'exigent.
Composantes techniques principales
La solution repose sur plusieurs catégories de services essentiels :
1. Interface utilisateur (Front-end)

- Point d’entrée par lequel les collaborateurs ou utilisateurs interagissent avec le chatbot.
- Peut prendre la forme :
- d’une application web ou mobile,
- d’un système de messagerie (WhatsApp, Signal, etc.),
- d’un événement déclencheur (réception d’un e-mail, action sur un outil tiers ou un site web),
- d’un appel planifié ou d’une tâche récurrente.
- Conçue pour être ergonomique, rapide et responsive.
2. Gestion des workflows et des agents

- Véritable cerveau de la solution, cette composante pilote l’ensemble des processus internes.
- Elle orchestre les actions, prend les décisions, et gère les échanges entre les utilisateurs et les agents (automatisés ou humains).
- C’est elle qui fait appel aux modèles LLM, aux bases de données, et aux outils métiers pour fournir une réponse ou déclencher une action. Ces éléments techniques ne sont jamais accessibles directement par les utilisateurs.
- Elle peut intégrer des règles conditionnelles, des systèmes de priorisation, des intégrations avec des API tierces, ou encore des enchaînements complexes d’automatisation.
3. Outils d’assistance pour les agents

- Cette composante est déterminante car elle dote les agents de véritables capacités d’action : c’est elle qui transforme un simple chatbot en agent d’intelligence artificielle opérationnel.
- Grâce au protocole MCP (Model Context Protocol), les capacités des agents sont virtuellement infinies. Ce protocole permet de définir presque toute action réalisable sur un système pilotable par code.
- Ces outils ne sont pas directement accessibles par les utilisateurs, mais uniquement par les agents via les workflows.
- Exemples de modules complémentaires :
- Recherche documentaire
- Génération automatisée de rapports
- Accès aux bases de connaissance internes
- Exécution de scripts ou d’actions sur des systèmes distants
4. Modèles LLM (Large Language Models)

- Cœur de l’intelligence conversationnelle.
- Il convient de distinguer deux grandes catégories :
- les modèles de génération de contenu (texte, image, voix),
- les modèles d’embedding (représentation vectorielle du sens des contenus).
- Ces modèles sont généralement hébergés sur des infrastructures différentes en fonction de leurs besoins techniques, de leur fréquence d’appel et des exigences en matière de confidentialité.
- Possibilité d’utiliser des modèles open source ou propriétaires, hébergés localement ou à distance.
- Nécessitent des ressources matérielles adaptées (GPU, RAM), surtout pour les modèles de génération. Les modèles d'embedding, quant à eux, sont beaucoup moins gourmands en ressources mais peuvent être massivement sollicités. Un sous-dimensionnement peut alors fortement impacter la réactivité globale du système.
5. Hébergement et gestion des données

- Base de données centralisant les informations contextuelles, historiques de conversations, profils utilisateurs, etc. Ces bases sont cruciales pour le bon fonctionnement de la solution.
- Leur performance dépend fortement de la qualité du matériel sous-jacent : un stockage rapide, une mémoire vive suffisante et une bande passante adaptée sont indispensables.
- Les échanges entre ces bases et les autres composants étant nombreux et fréquents, la latence des liaisons réseau a un impact direct sur la réactivité générale de la solution.
- Mécanismes de chiffrement, sauvegarde, journalisation et conformité (RGPD).
Emplacement de la solution
L’emplacement des différents éléments de la solution revêt une importance à la fois stratégique et technique. Il impacte la performance, la sécurité, la latence des communications entre composants, ainsi que la capacité à maintenir ou faire évoluer la solution.

En outre, le choix détermine l'emplacement des équipes ayant la responsabilité des différents aspects de l'architecture (matériel, systèmes d'exploitation et logiciel).
L’hébergement de la solution peut se faire selon trois grandes modalités, chacune répondant à des besoins spécifiques :
1. Cloud (privé ou public)

- Avantages :
- Flexibilité élevée
- Possibilité de montée en charge rapide
- Accès à des services managés
- Inconvénients :
- Dépendance à un prestataire
- Coût variable selon l’usage
2. VPS (Virtual Private Server)

- Avantages :
- Coût maîtrisé
- Idéal pour des déploiements simples ou dans le cas de sociétés disposant de plusieurs services ou entités distinctes, chacun pouvant bénéficier d’un environnement isolé et dédié
- Accès root pour une grande liberté de configuration, réservé au gestionnaire de la solution (prestataire ou administrateur interne), et non nécessairement accessible au client final
- Inconvénients :
- Moins de flexibilité qu’un cloud public
- Nécessite une supervision technique
3. On-Premise (infrastructure interne)

- Avantages :
- Contrôle total sur les données et les accès
- Adapté à des politiques de sécurité strictes
- Inconvénients :
- Coûts d’infrastructure et de maintenance
- Ressources techniques internes nécessaires
Répartition de l’architecture
Les composants peuvent être déployés de manière centralisée (dans un seul environnement) ou répartis (sur plusieurs environnements distincts), selon vos besoins métier, contraintes de sécurité ou objectifs de performance.

Voici les principales caractéristiques à retenir :
- Architecture centralisée :
- Tous les services hébergés sur un même environnement (cloud, VPS ou on-premise).
- Simplifie la gestion mais peut être limitée en cas de forte montée en charge ou de besoin de haute disponibilité.
- Architecture distribuée :
- Chaque composant (modèles LLM, base de données, interface utilisateur, etc.) peut être hébergé sur un environnement optimisé pour sa fonction.
- Permet :
- d’optimiser les performances,
- de séparer les flux critiques (données sensibles, logs),
- de répondre à des contraintes de conformité,
- de faciliter la maintenance et les mises à jour.
Cette approche modulaire garantit une évolutivité adaptée à votre stratégie métier et à vos exigences techniques.