banner
Maison / Blog / Un bref guide de LangChain pour les développeurs de logiciels
Blog

Un bref guide de LangChain pour les développeurs de logiciels

Aug 31, 2023Aug 31, 2023

Par Janakiram MSV

InfoMonde |

Si vous êtes un développeur de logiciels qui s'efforce de suivre les dernières nouveautés concernant les grands modèles de langage, vous pourriez vous sentir dépassé ou confus, comme moi. Il semble que chaque jour nous assistions à la sortie d'un nouveau modèle open source ou à l'annonce d'une nouvelle fonctionnalité importante par un fournisseur de modèles commerciaux.

Les LLM deviennent rapidement une partie intégrante de la pile logicielle moderne. Cependant, que vous souhaitiez utiliser un modèle d'API proposé par un fournisseur comme OpenAI ou intégrer un modèle open source dans votre application, la création d'applications basées sur LLM implique bien plus que simplement envoyer une invite et attendre une réponse. Il y a de nombreux éléments à prendre en compte, allant de la modification des paramètres à l'augmentation de l'invite en passant par la modération de la réponse.

Les LLM sont apatrides, ce qui signifie qu'ils ne se souviennent pas des messages précédents de la conversation. Il est de la responsabilité du développeur de conserver l'historique et d'alimenter le contexte du LLM. Ces conversations devront peut-être être stockées dans une base de données persistante pour ramener le contexte dans une nouvelle conversation. Ainsi, l’ajout de mémoire à court et à long terme aux LLM est l’une des principales responsabilités des développeurs.

L’autre défi est qu’il n’existe pas de règle unique pour les LLM. Vous devrez peut-être utiliser plusieurs modèles spécialisés pour différents scénarios tels que l'analyse des sentiments, la classification, la réponse aux questions et la synthèse. Gérer plusieurs LLM est complexe et nécessite pas mal de plomberie.

LangChain est un SDK conçu pour simplifier l'intégration des LLM et des applications. Cela résout la plupart des défis dont nous avons discuté ci-dessus. LangChain est similaire à un pilote ODBC ou JDBC, qui résume la base de données sous-jacente en vous permettant de vous concentrer sur les instructions SQL standard. LangChain résume les détails d'implémentation des LLM sous-jacents en exposant une API simple et unifiée. Cette API permet aux développeurs d'échanger et d'échanger facilement des modèles sans modifications significatives du code.

LangChain est apparu à peu près en même temps que ChatGPT. Harrison Chase, son créateur, a pris le premier engagement fin octobre 2022, juste avant que la vague LLM ne frappe de plein fouet. Depuis, la communauté contribue activement, faisant de LangChain l'un des meilleurs outils pour interagir avec les LLM.

LangChain est un framework puissant qui s'intègre à des outils externes pour former un écosystème. Comprenons comment il orchestre le flux impliqué pour obtenir le résultat souhaité d'un LLM.

Les applications doivent récupérer des données à partir de sources externes telles que des PDF, des pages Web, des CSV et des bases de données relationnelles pour créer le contexte du LLM. LangChain s'intègre de manière transparente aux modules qui peuvent accéder et récupérer des données provenant de sources disparates.

Les données extraites de certaines sources externes doivent être converties en vecteurs. Cela se fait en transmettant le texte à un modèle d'intégration de mots associé au LLM. Par exemple, le modèle GPT-3.5 d'OpenAI est associé à un modèle d'intégration de mots qui doit être utilisé pour envoyer le contexte. LangChain sélectionne le meilleur modèle d'intégration en fonction du LLM choisi, éliminant ainsi les incertitudes lors de l'appariement des modèles.

Les plongements générés sont stockés dans une base de données vectorielles pour effectuer une recherche de similarité. LangChain facilite le stockage et la récupération de vecteurs à partir de diverses sources allant des tableaux en mémoire aux bases de données vectorielles hébergées telles que Pinecone.

LangChain prend en charge les LLM grand public proposés par OpenAI, Cohere et AI21 ainsi que les LLM open source disponibles sur Hugging Face. La liste des modèles et des points de terminaison d'API pris en charge s'allonge rapidement.

Le flux ci-dessus représente le cœur du framework LangChain. Les applications en haut de la pile interagissent avec l'un des modules LangChain via le SDK Python ou JavaScript. Comprenons le rôle de ces modules.