LangChain, l'orchestrateur d'IA qui s'impose au niveau mondial

LangChain, l'orchestrateur d'IA qui s'impose au niveau mondial En quelques mois, ce projet open source s'est érigé sur le terrain des modèles de fondation comme un framework de référence. Il permet notamment d'optimiser les prompts.

Présenté comme un orchestrateur de grands modèles de machine learning, LangChain est un framework open source ou service de l'IA générative orientée conversationnel. Fort de 62 000 étoiles sur GitHub, il fait partie des 50 projets les plus populaires sur le réseau social de développeurs. Mais quel est son rôle exactement ? Et pourquoi cet outil a-t-il atteint un tel niveau de popularité ?

LangChain a commencé sa montée en puissance début 2023. Il faut dire que cette infrastructure arrivait à point nommé à l'heure de l'émergence des large language models au premier rang desquels GPT, Llama, PaLM ou Falcon. "J'ai découvert LangChain en décembre 2022. Le projet commençait à peine à buzzer. J'ai créé un premier chatbot sur nos données privées en me basant dessus. Ce qui n'a demandé que quelques lignes de code. J'ai immédiatement été époustouflé par la puissance de l'outil", se rappelle Maxime Thoonsen, CTO de l'entreprise de services du numérique Theodo.

Dans la foulée, Maxime Thoonsen et ses équipes initient plusieurs projets clients intégrant LangChain, depuis des chatbots jusqu'à des personnal shoppers taillés pour des sites d'e-commerce. Il faut dire que LangChain est justement conçu pour gérer des enchainements d'actions, typiquement des logiques conversationnelles. "Il permet de prendre en entrée la question d'un utilisateur, puis de la convertir en vecteur avant d'aller puiser dans la base de données du modèle les bons contenus. L'ensemble étant ensuite fédéré pour générer la réponse finale", explique Maxime Thoonsen.

Récupérer les données à vectoriser

Point important, LangChain gère la mémoire du bot en gardant la trace de l'ensemble des interactions d'un échange. Il est ainsi le garant de la cohérence de la conversation tout au long de la discussion.

En amont, LangChain récupère les données à indexer quelle que soit leur localisation : API, documents PDF et autres fichier, bases Notion, etc. C'est le rôle du Document loader. LangChain permet de découper les fichiers en morceaux de texte dans le format permettant de les vectoriser. "Des fonctions prendront en charge leur stockage en quelques lignes de code que ce soit dans PostgreSQL ou dans toute autre base de données vectorielle", poursuit Maxime Thoonsen.

Au sein de ses projets clients, l'ESN Business & Decision recoure elle-aussi à LangChain. "Nous l'utilisons pour récupérer les données à vectoriser, mais aussi en lien avec le modèle, pour automatiser le traitement des fichiers, les découper en paragraphes, les taguer, les titrer. Le tout visant à faciliter ensuite leur ingestion et leur restitution dans les réponses", détaille Didier Gaultier, directeur du pôle data science et intelligence artificielle au sein de l'ESN d'Orange.

"En s'appuyant sur le bon modèle et les bons outils, l'agent intelligent va créer et prioriser des sous-tâches pour atteindre la mission qui lui a été dévolue"

Véritable environnement de création d'applications, LangChain permet de créer des agents intelligents à qui seront associés des objectifs. "En s'appuyant sur le bon modèle et les bons outils, depuis la recherche sur le web jusqu'aux calculatrices, l'agent va créer et prioriser des sous-tâches pour atteindre la mission qui lui a été dévolue", explique Maxime Thoonsen. "Si on lui demande de nous trouver sur Internet deux femmes de joueurs de l'équipe de France de football, il va commencer par rechercher l'équipe de France, puis identifier ses joueurs, puis les femmes de ces derniers." Le modèle programmera automatiquement l'ensemble de la séquence.

Des prompts à l'état de l'art

En aval, LangChain propose une bibliothèque de modèles de prompts intégrant les meilleures pratiques du domaine. "Par exemple pour un chatbot de support informatique, il pourra recommander d'écrire le prompt suivant : 'Tu es un expert de 20 ans d'expérience dans l'IT'. C'est en effet un prompt qui aboutit à des conversations avec la qualité voulu dans le cadre d'un cas d'usage de help desk", commente Maxim Thoonsen. "Via ces modèles de prompts, il pourra également conseiller d'être 'concis' ou encore d'ajouter 'des exemples dans la réponse'."

Enfin, point tout aussi intéressant, LangChain permet d'abstraire la couche de gestion des modèles de toute modification, y compris dans le cas extrême d'un changement de LLM. Principal avantage : l'infrastructure permettra, sans trop de modifications de code, de passer d'un large language model à un autre en cours de projet.