La recherche en IA te passionne ?
Les papers et avancées qui comptent, expliqués simplement, chaque soir. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
L'évolution des systèmes d'Intelligence Artificielle
L'Intelligence Artificielle (IA) a connu des bouleversements significatifs ces dernières années. Les interactions avec les Modèles de Langage de Grande Taille (LLMs) ne se limitent plus à des tâches simples comme la génération de texte ou le résumé de documents. Aujourd'hui, l'industrie se tourne vers les Flux de Travail Agentiques, où les LLMs jouent un rôle central dans des processus complexes, capables de prendre des décisions, de gérer des informations et d'exécuter des tâches de manière autonome.
Pour construire ces systèmes sophistiqués, les développeurs ont besoin d'outils qui peuvent gérer des flux de contrôle complexes et maintenir l'état à travers plusieurs interactions. Il est crucial que les sorties des LLMs soient prévisibles et formatées de manière stricte. C'est là qu'interviennent des outils comme LangGraph, LangChain, Groq et Pydantic. Cet article explore les concepts théoriques nécessaires pour comprendre comment construire un système de triage automatisé et intelligent des avis clients.
De la requête simple aux flux de travail agentiques
À l'origine, les interactions avec les LLMs suivaient un modèle de requête-réponse direct. L'utilisateur saisissait une question, et le modèle fournissait une réponse. Bien que ce modèle soit efficace pour des tâches simples, il montre ses limites dans des contextes commerciaux plus complexes.
Un appel standard à un LLM est sans état et linéaire. Il ne se souvient pas des interactions passées à moins que ces informations ne soient explicitement incluses dans l'invite. De plus, il ne peut pas router sa sortie vers différents outils en fonction de la logique conditionnelle sans une structure externe.
C'est ici que les Flux de Travail Agentiques entrent en jeu. Dans ce cadre, le LLM devient un décideur intégré dans une architecture plus large. Il peut analyser une entrée, déterminer la meilleure étape suivante, router des données selon son propre raisonnement, interagir avec des outils externes, et maintenir un état mis à jour au fur et à mesure que le flux de travail progresse.
Dans le cas du traitement des avis clients, un simple LLM pourrait rédiger une réponse. Cependant, un flux de travail agentique permet au système de lire l'avis, de déterminer son sentiment, de router les avis positifs vers un générateur de "merci" et de traiter les avis négatifs à travers un protocole complexe pour évaluer l'urgence et le type de problème avant de rédiger une réponse personnalisée.
Le rôle des Modèles de Langage de Grande Taille et de LLaMA 3
Au cœur de ces systèmes se trouvent les Modèles de Langage de Grande Taille. Dans notre démonstration, nous utilisons la famille de modèles LLaMA 3, en particulier le modèle llama-3.3-70b-versatile. Ce modèle est choisi pour ses capacités de raisonnement exceptionnelles, sa compréhension nuancée et ses compétences de suivi des instructions.
Avec 70 milliards de paramètres, ce modèle est considéré comme "lourd" et offre des capacités de raisonnement avancées, essentielles pour des tâches complexes comme l'analyse de sentiment. Les paramètres, qui incluent les poids et biais internes, permettent au réseau de neurones de faire des prédictions précises. Le paramètre de température, fixé à 0, assure que le modèle est déterministe, fournissant des réponses mathématiquement probables et évitant toute déviation créative.
L'écosystème LangChain
LangChain est un cadre open-source qui simplifie la création d'applications utilisant des LLMs. Avant LangChain, les développeurs devaient gérer des wrappers API personnalisés et des modèles d'invite complexes. LangChain offre des abstractions standardisées pour interagir avec des modèles d'OpenAI, Anthropic, Groq, Google, etc.
Les développeurs peuvent injecter des variables dans leurs invites de manière programmatique grâce à des modèles dynamiques. Les chaînes d'opérations permettent de transformer la sortie d'une étape en entrée pour la suivante. Cependant, le LangChain standard est conçu pour des chaînes linéaires et a du mal avec des flux de travail complexes, ce qui a conduit à la création de LangGraph.
LangChain utilise souvent le LangChain Expression Language (LCEL), qui est adapté aux chaînes linéaires mais montre ses limites dans des scénarios plus complexes nécessitant des boucles et une logique conditionnelle ramifiée.
Machines à états et LangGraph
Pour comprendre la démonstration, il est essentiel de saisir le concept de Machine à États Finis (FSM) et de Graphes Dirigés. Un graphe est une structure d'objets reliés par des arêtes. Dans un graphe dirigé, les arêtes ont une direction, et un graphe dirigé acyclique (DAG) n'a pas de cycles, ce qui signifie qu'on ne peut pas revenir à un nœud précédent. En revanche, un graphe cyclique permet des chemins qui reviennent sur eux-mêmes, ce qui est utile pour des mécanismes de réessai ou un affinage itératif.
LangGraph, une extension de LangChain, est conçu pour créer des applications multi-acteurs et avec état utilisant des LLMs. Il modélise les flux de travail sous forme de graphes, permettant des mécanismes de réessai ou un affinage itératif.
Validation des données avec Pydantic
Un des défis majeurs avec les LLMs est que leur sortie est souvent un texte brut et non structuré. Cette variabilité rend difficile l'analyse de texte conversationnel imprévisible. Pour éviter ces problèmes, il est crucial d'avoir des données structurées, comme un objet JSON. Pydantic joue un rôle clé dans la validation des données et des schémas, garantissant que les sorties des LLMs sont utilisables dans des scripts automatisés. Par exemple, si un LLM doit diagnostiquer un avis et fournir le ton et l'urgence, la sortie peut varier considérablement. Sans structure, il est difficile d'automatiser le traitement de ces informations.


