Découvrir en détails notre article
Découvrir en détails notre article
Temps
de lecture
mn
Avec nos nombreuses expérimentations autour de l’intelligence artificielle, nous avons eu l’occasion de travailler avec une variété d’outils et de frameworks pour construire des solutions adaptées à nos projets. Parmi eux, deux technologies se sont particulièrement démarquées : Symfony AI et LangChain.
Dans cet article, nous présentons ces deux approches avant de partager notre retour d’expérience pour les mettre en perspective. Notre objectif est de vous aider à mieux cerner les forces et les limites de chaque technologie, afin de vous offrir une vision plus claire du paysage de l’intelligence artificielle.
Quand on envisage de développer des solutions à base d’intelligence artificielle, LangChain vient immédiatement à l’esprit. C’est aujourd’hui l’un des frameworks les plus aboutis et les plus utilisés dans le domaine. Il est disponible sous forme de bibliothèques JavaScript et Python, même si ce dernier reste le principal point d’entrée grâce à sa simplicité et à son intégration naturelle dans l’écosystème IA (PyTorch, Scikit-Learn, TensorFlow, etc.). L'entreprise LangChain édite le framework open source du même nom, mais aussi deux autres solutions clés : LangGraph, conçu pour modéliser des systèmes plus complexes et entièrement personnalisables, ainsi que LangSmith, une plateforme d’observation et de débogage que nous aborderons plus loin dans l’article.
LangChain simplifie la création et l'orchestration d'agents, permettant de bâtir des architectures complexes où des entités aux rôles distincts collaborent pour résoudre des problèmes. Le framework facilite aussi des usages avancés comme la mise en place de RAG, l’intégration d’une base vectorielle ou la connexion avec un serveur MCP. Mais LangChain n’est pas la seule approche que nous avons explorée. Une autre solution émergente a retenu notre attention : Symfony AI.
À l’annonce de sa sortie, nous nous sommes naturellement penchés sur Symfony AI, afin de rester cohérents avec notre expertise sur le framework PHP Symfony. Pour la petite histoire, Symfony AI est basé sur un ancien bundle baptisé php-llm. Comme l’intelligence artificielle est une technologie émergente, Symfony a décidé de reprendre ce bundle et a récemment lancé l’initiative Symfony AI, dans le même esprit que Symfony UX. Elle regroupe plusieurs composants : Platform pour se connecter à différents fournisseurs de modèles, Agent pour développer des agents IA, Chat pour gérer les messages et la mémoire, Store pour indexer des données et faire des systèmes de RAG.
L'avantage majeur de Symfony AI réside dans sa capacité à faciliter l’intégration de l’IA au sein de projets web existants. Disposer d’une expertise sur Symfony AI représente un atout majeur pour Widop : proposer des solutions IA à nos clients tout en capitalisant sur notre socle technologique habituel. À l’heure actuelle, Symfony AI est un bundle expérimental en cours de développement, il subit donc de nombreux changements et n’est pas encore totalement stable. Ces deux technologies permettent de réaliser des choses similaires, mais leur approche n’est pas exactement la même.
Dans le cadre de plusieurs projets, nous avons eu l’occasion de tester ces deux solutions en situation réelle. Symfony AI est particulièrement adapté quand il s’agit d’ajouter des fonctionnalités d’IA dans un projet Symfony existant. Il se présente sous la forme d’une librairie que l’on installe classiquement, à l’instar de n’importe quel autre package. De plus, les différents principes qui constituent Symfony sont respectés, ce qui facilite son adoption par nos développeurs Symfony. Un autre avantage majeur de Symfony AI réside dans la création simplifiée d’interfaces graphiques, qui évite toute complexité lors de l'exposition des routes pour construire une application complète.
LangChain, quant à lui, est mieux adapté à des problématiques plus complexes nécessitant des architectures et des fonctionnalités avancées. Il permet de construire des systèmes d’IA beaucoup plus spécifiques, tout en bénéficiant d’une communauté très mature. L’utilisation de Python constitue également un atout, grâce à la simplicité de sa syntaxe et à sa forte reconnaissance dans le monde de l’IA. Il nous a permis de développer une solution client spécifique d’une grande complexité technique. Nous vous en dirons davantage très prochainement.
Disposer de ces deux approches dans notre arsenal est extrêmement stratégique pour Widop et pour nos clients. Cela permet de répondre à des besoins très variés et de fournir des solutions parfaitement adaptées.
Notre dernier axe de comparaison concerne les outils de débogage et de test. Sur ce terrain, LangChain prend l’avantage. Comme mentionné plus haut, la fondation qui développe LangChain propose également un outil SAAS : LangSmith. Celui-ci permet de suivre de manière très détaillée chaque exécution du système. Tout est visible : les interactions avec le modèle, les appels d’outils, la consommation de tokens, le temps d’exécution, etc. La mise en place est très simple : il suffit d’ajouter une ligne dans son code Python et de fournir une clé d’API. Bonne nouvelle, Langsmith met à disposition un plan gratuit, largement suffisant pour notre utilisation.
De son côté, Symfony AI ajoute des informations utiles dans son Profiler, qui est tout simplement l’outil de débogage natif de Symfony. Certaines données sont précieuses, mais le besoin de recourir à des méthodes complémentaires se fait vite sentir pour obtenir des logs plus détaillés et une visibilité accrue. Cela est très certainement lié à la jeunesse du projet.
Symfony AI est une initiative très prometteuse qui mérite toute notre attention. Elle permet d’intégrer aisément des fonctionnalités d’IA basiques, suffisantes pour de nombreux cas d’usage. Toutefois, elle reste encore limitée en termes de fonctionnalités et de possibilités de personnalisation. Chez Widop, nous avons une préférence pour LangChain grâce à sa flexibilité, sa profondeur et sa facilité de débogage. Il nous permet de développer des solutions complexes capables de répondre à des besoins très spécifiques.
Nous vous parlerons très prochainement du projet sur lequel nous avons implémenté un système d’orchestration multi-agents pour répondre à un besoin fort du retail. Nous espérons avoir clarifié votre vision des technologies que nous utilisons. En attendant, n’hésitez pas à nous suivre sur LinkedIn pour être au courant de la sortie de nos prochaines publications. Plusieurs articles plus techniques sont en cours de préparation !