IALab - Voyage d’exploration au cœur de l’IA

Développé au sein de l'IALab, ce projet a pour objectif de créer un chatbot afin d'explorer les possibilités de l'intelligence artificielle dans un contexte professionnel. Son objectif est de faciliter les interactions et de proposer un outil capable de répondre aux besoins des utilisateurs, tout en servant de terrain d'expérimentation pour de nouvelles fonctionnalités et technologies. Cet article propose de retracer le parcours du projet, de sa genèse à aujourd'hui, en passant par les choix techniques, l'organisation et les perspectives futures.

La genèse du projet

Le projet a été initié par l'agence de Nantes après avoir constaté que les besoins rencontrés sur différents projets de chatbots étaient très similaires. Les équipes se rendaient régulièrement compte que des développements techniques et fonctionnels étaient répliqués à chaque nouveau projet, que ce soit en interne ou chez les clients. Cette situation a mis en évidence le besoin d'un socle commun, modulable et réutilisable, permettant d'accélérer les développements tout en offrant la flexibilité nécessaire pour personnaliser les chatbots selon les spécificités de chaque mission.

De là est née l'idée de créer un chatbot en marque blanche, capable de servir de socle commun intégrant les fonctionnalités essentielles. Cette base commune devait permettre d'accélérer le développement des projets futurs tout en conservant la possibilité de personnaliser le produit selon les besoins propres à chaque client.

La vision initiale était de développer une plateforme modulaire et évolutive, reposant sur une architecture hexagonale, adaptable à différents environnements (multi-cloud, on-premises) et compatible avec plusieurs fournisseurs de modèles d'IA et bases de données. Cette approche devait également favoriser l'inner source, afin que chaque équipe puisse contribuer et bénéficier des avancées réalisées.

Le projet a été structuré en plusieurs paliers, de la création d'un chatbot simple capable de gérer des sessions et de dialoguer avec un LLM (v1), jusqu'à l'intégration d'agents conversationnels, de RAG complet (v2).

Enfin, cette initiative visait à la fois à accélérer les projets clients et à constituer un outil interne pour les collaborateurs, permettant de prototyper rapidement, de déployer des environnements variés et de préparer des offres SaaS multi-tenant (v3).

Présentation du projet

Pour concrétiser cette vision, le projet intègre un ensemble de fonctionnalités clés visant à faciliter les interactions, le suivi des conversations et la personnalisation de l'expérience utilisateur :

  • Conversation en temps réel : échanges fluides et contextuels avec le chatbot, capables de s'adapter au fil de la discussion.
  • Nouvelle conversation : création d'un fil de discussion vierge à tout moment, pour repartir de zéro.
  • Feedback utilisateur : possibilité pour l'utilisateur d'évaluer et de commenter les réponses du chatbot afin d'améliorer la qualité du modèle.
  • Gestion des profils : sélection, personnalisation et gestion des profils utilisateurs ou des modes conversationnels.
  • Historique de conversation : accès complet aux échanges passés, avec possibilité de revenir sur des discussions antérieures.
  • Copie d'une réponse : extraction simple et rapide d'un message du chatbot.
  • Mise à jour d'une réponse : régénération ou amélioration d'une réponse existante en un clic.
  • Réflexion du chatbot : visualisation contrôlée de la logique ou des étapes de raisonnement ayant conduit à la réponse (selon droits et niveau d'explication).
  • Sources citées : affichage des documents, références ou ressources mobilisées pour construire la réponse.
  • Authentification : connexion et déconnexion sécurisées, avec gestion des sessions utilisateurs.
  • Visualisation des documents ingérés : accès aux fichiers, bases documentaires ou corpus utilisés pour entraîner ou nourrir le chatbot.
  • Visualisation anonymisée des conversations : consultation des échanges utilisateurs à des fins de supervision ou d'amélioration, dans le respect de la confidentialité.

Stack technique

Le projet repose sur un ensemble de technologies choisies pour leur modularité et leur capacité à supporter une architecture évolutive :

Front-end : StencilJS avec une implémentation Angular, accompagné d'outils de qualité et de structuration du code (Lerna, Prettier, ESLint, PreCommit), sur une architecture hexagonale.

Schéma représentant l’architecture global du Frontend
Schéma représentant l’architecture global du Frontend

Back-end : librairies et application finale en Python, organisée en architecture hexagonale multi-repository. Utilisation de Ruff et Mypy pour la qualité du code.

Schéma représentant l’architecture global du Backend
Schéma représentant l’architecture global du Backend

Infrastructure : OpenTofu, avec des modules réutilisables pour gérer les ressources AWS (ou autre cloud provider à l'avenir).

Schéma représentant l’architecture global de l’Infrastructure
Schéma représentant l’architecture global de l’Infrastructure

LLM / IA : AWS Bedrock, complété par LangChain et LanGraph pour certaines fonctionnalités, intégrant RAG et des agents IA, tout en privilégiant des implémentations indépendantes si possible.

Schéma représentant l’architecture global IA Agentic
Schéma représentant l’architecture global IA Agentic

Chaque technologie et choix d'implémentation sera détaillé dans des articles spécifiques, afin de mieux comprendre les arbitrages techniques et les bonnes pratiques adoptées.

Un parcours d'apprentissage et d'adaptation

Au fil du projet, l'équipe a navigué dans un contexte en constante évolution, caractéristique des projets d'innovation en intelligence artificielle. Les technologies d'IA générative étant encore récentes et en pleine maturation, le projet a nécessité une approche exploratoire et itérative.

L'objectif initial prévoyait de créer une plateforme IA générique, modulable et en marque blanche, destinée à être déployée chez différents clients. Au fil des apprentissages et des expérimentations, le projet s'est également orienté vers la construction d'un chatbot interne pour Ippon, permettant de tester et de valider les fonctionnalités en conditions réelles avant tout déploiement externe.

Cette double dimension, plateforme générique et outil interne, s’est révélée particulièrement pertinente. Elle a permis de confronter rapidement les développements à des cas d’usage concrets, d’itérer sur les fonctionnalités et d’affiner l’architecture pour garantir sa flexibilité. Cependant, cet équilibre n’a pas toujours été simple à maintenir : dans la volonté d’obtenir rapidement quelque chose de concret, l’équipe a parfois davantage orienté les efforts vers le démonstrateur, au détriment d’une prise en compte systématique des objectifs du projet global.

Les défis de l'innovation IA

Comme dans tout projet pionnier, l'équipe a dû faire face à plusieurs défis propres au développement de solutions d'IA :

La définition du périmètre fonctionnel : l'un des enjeux majeurs a été de déterminer quelles fonctionnalités devaient constituer le socle minimal d'un chatbot professionnel. Entre les features incontournables (gestion des conversations, historique, authentification) et les fonctionnalités différenciantes (agents IA, RAG, observabilité), il a progressivement fallu arbitrer et prioriser.

L'exploration technologique : le domaine de l'IA générative évolue à grande vitesse. L'équipe a exploré diverses technologies et approches (DLT, Qdrant, Vertex AI, Rclone, AWS Knowledge Bases…) pour identifier les solutions les plus adaptées. Cette phase d'exploration, bien qu'enrichissante, a parfois dispersé les efforts et rendu difficile la convergence vers des choix définitifs.

L'observabilité et le monitoring : un chatbot en production nécessite des mécanismes d'observabilité robustes pour comprendre son comportement, détecter les anomalies et améliorer continuellement les réponses. Nous avons commencé à mettre en place des solutions pour tracer les conversations, analyser les feedbacks utilisateurs, ou suivre la réflexion du chatbot. Cependant ces dispositifs restent encore largement perfectibles et représentent un chantier technique sur lequel nous continuons de travailler.

L'adaptation continue : les modèles de langage, les outils et les bonnes pratiques évoluent rapidement. Le projet a dû s'adapter régulièrement pour intégrer les nouvelles possibilités, ce qui a parfois remis en question des choix techniques précédents et nécessité des ajustements architecturaux.

La montée en compétence collective : l’aspect technique global du projet, incluant l’architecture hexagonale multi-repository, les IA agentiques et l’infrastructure modulaire, bien que robuste, nécessite un temps d’appropriation conséquent. Malgré les efforts de structuration et de documentation, l’intégration des nouveaux arrivants reste un défi, notamment pour comprendre l’architecture dans son ensemble et les interactions entre les différents composants.

Ces défis témoignent de la réalité d'un projet d'innovation IA : un domaine en construction où les équipes avancent parfois à tâtons, avec des réussites mais également des difficultés.

L'état des lieux

Malgré les défis inhérents à l'innovation IA, la V2 est aujourd'hui en phase de finalisation et a été soumise à l'agence lyonnaise et nantaise pour une campagne de tests et de retours. Le projet a atteint un niveau de maturité significatif : nous disposons désormais d'un chatbot agentique complet, intégrant l'ensemble des fonctionnalités essentielles prévues dans cette phase.

Au-delà des fonctionnalités visibles, l'un des principaux aboutissements réside dans la structuration technique du projet. Le front-end, d'abord, repose sur une architecture modulaire et agnostique des frameworks, permettant d'être intégré aussi bien dans Angular que dans React, Vue ou toute autre stack souhaitée. Du côté du back-end, la conception hexagonale et l'organisation multi-repository offrent un socle hautement modulable, permettant de remplacer ou combiner différentes technologies, LLM ou cloud providers selon les besoins spécifiques d'un client ou d'un environnement interne.

L'infrastructure suit la même philosophie : construite sur des modules OpenTofu réutilisables, elle permet de déployer le projet aussi bien sur des architectures serverless (Lambda) que sur des clusters conteneurisés (ECS, EKS), ou même sur d'autres environnements cloud à terme. Ce choix garantit une portabilité forte et une capacité d'adaptation rapide aux contraintes techniques ou budgétaires rencontrées sur différents projets.

En somme, nous disposons aujourd'hui d'un produit qui dépasse largement le stade du POC. Le projet est industrialisé, fonctionnel et structuré pour évoluer, tout en offrant la flexibilité nécessaire pour devenir un véritable socle IA multi-usage, interne comme client.

La vision pour le futur

L'avenir du projet repose sur l'ambition de transformer le chatbot en un véritable assistant centralisé et modulable pour l'ensemble des collaborateurs et des clients d'Ippon. La V2, actuellement en phase de test, servira de socle pour étendre les cas d'usage bien au-delà de la FAQ employée.

Plusieurs axes stratégiques sont envisagés :

Extension des cas d'usage : ce projet pourra intégrer diverses sources de données internes et externes, ouvrant la voie à des fonctionnalités adaptées aux équipes commerciales, aux practices et à d'autres métiers. L'objectif est de dépasser le simple rôle d'assistant FAQ pour devenir un outil proactif capable de guider, conseiller et accélérer les interactions avec l'information.

Centralisation des assistants IA : ce projet se veut être la pierre angulaire des assistants IA d'Ippon, servant de point d'entrée unique pour tous les produits IA de l'entreprise. Connecté à des outils tels que Book de Ref ou GenCV, il proposera une expérience fluide où l'ensemble des interactions IA se feront de manière centralisée, simplifiant l'accès et la cohérence des informations.

Renforcement du modèle marque blanche : le caractère modulable et adaptable de la plateforme sera mis en avant. En multipliant les bases de données intégrées et les usages divers, le produit pourra facilement être déployé chez différents clients sous une forme marque blanche, montrant sa flexibilité et sa capacité à s'adapter à des contextes variés. Cette approche permettra de combiner usage interne et opportunités commerciales, tout en conservant un socle technique stable et performant.

Amélioration continue et robustesse : avant toute expansion, l'accent sera mis sur la consolidation de l'existant : correction des points identifiés, mise en place d'environnements de test et de production robustes, et intégration des retours utilisateurs pour garantir une base fiable et évolutive.

En résumé, l’avenir du projet se dessine comme un assistant IA central, modulable et évolutif. Il servira à la fois les besoins internes et externes, tout en incarnant la vision marque blanche et le socle technologique partagé d'Ippon.