Présentation de Langchain

Conçu pour la vitesse : latence d'environ 10 ms, même en cas de charge
Une méthode incroyablement rapide pour créer, suivre et déployer vos modèles !
- Gère plus de 350 RPS sur un seul processeur virtuel, aucun réglage n'est nécessaire
- Prêt pour la production avec un support complet pour les entreprises
LangChain simplifie le développement de l'IA grâce à de grands modèles de langage (LLM) en proposant des composants modulaires et des modèles préconçus pour créer des applications telles que des chatbots et des synthétiseurs. Il s'intègre parfaitement aux LLM tels que GPT-3.5 et les modèles de chat, permettant des tâches telles que la saisie de texte et la génération de conversations. LangChain fonctionne par le biais de chaînes d'actions, garantissant une mise en œuvre efficace de manière structurée.
Langchain est un framework open source qui facilite le développement d'applications basées sur de grands modèles de langage (LLM), le summum actuel de l'évolution du traitement du langage naturel (NLP).
Cet article permettra au lecteur de comprendre la structure de base et les principales caractéristiques de LangChain et comment il a simplifié le développement de solutions linguistiques pilotées par l'IA. Il aborde également les détails pour vous aider à créer votre propre application en utilisant LangChain.
LangChain et LLMs
À la base, le LLM est un modèle d'apprentissage en profondeur utilisé pour les tâches linguistiques dans le domaine de la PNL, créé à l'origine pour la traduction linguistique.
Ils utilisent des modèles de transformateurs et sont entraînés sur de grands ensembles de données, ce qui leur permet de comprendre le langage naturel et d'effectuer diverses tâches liées au langage. Les principaux LM incluent GPT-3.5, LLama, Bard, Falçon, etc.
« LangChain est un framework Python qui permet d'utiliser les LLM facilement et efficacement en fournissant une interface unifiée et des composants modulaires qui peuvent êtreenchaîné« ensemble. »
Cela simplifie à son tour la création de systèmes avancés tels que les chatbots, les amplificateurs d'images, les analyseurs de sentiments, etc. Ces systèmes peuvent comprendre le langage, analyser le code, récupérer des informations et effectuer diverses autres tâches.
La flexibilité, l'extensibilité et l'intégration de LangChain avec les LLM en font un outil précieux dans le domaine du traitement du langage naturel et au-delà.
Action et agent
Dans tout framework logiciel, « action » et « agent » sont comme les éléments constitutifs. Ce sont les idées de base, mais elles fonctionnent différemment selon la mise en œuvre.
Dans LangChain :
- Action: Il s'agit d'une tâche ou d'une opération spécifique exécutée par un morceau de code. Cela peut aller de l'exécution de calculs à l'envoi d'un e-mail.
- Agent: Il s'apparente à un assistant virtuel, à un programme ou à un composant qui agit de manière autonome pour effectuer des tâches ou prendre des décisions au nom de l'utilisateur ou d'un autre programme.
Écosystème LangChain
L'écosystème LangChain comprend cinq sections principales :
- Bibliothèques LangChain: Imaginez que vous construisez avec des briques LEGO ; vous pouvez les combiner pour créer différentes structures. Avec les bibliothèques LangChain, vous pouvez créer des chaînes d'actions et d'agents sans recommencer à zéro à chaque fois.
- Modèles LangChain: Il s'agit de cadres préconçus pour divers projets ou tâches que vous pouvez mettre en œuvre immédiatement sans repartir de zéro. Imaginez-le comme un modèle LEGO Death Star et les bibliothèques comme des briques LEGO.
- LangServe: Ceci est utilisé pour déployer des chaînes LangChain en tant qu'API REST.
- Lang Smith: Il s'agit d'une plate-forme de développement qui permet de déboguer, de tester, d'évaluer et de surveiller des chaînes créées à l'aide de n'importe quel framework, pas seulement LangChain.
- LangGraph: C'est comme une boîte à outils pour créer des programmes informatiques intelligents capables de mémoriser des choses et de fonctionner ensemble. Il utilise quelque chose appelé LangChain pour aider ces programmes à communiquer entre eux. Avec LangGraph, vous pouvez faire en sorte que ces programmes effectuent de nombreuses étapes encore et encore de manière intelligente.
Lisez également : LangChain et LangGraph
Principaux composants de Langchain
Souvent, lorsque les gens parlent de LangChain, ils font référence aux bibliothèques LangChain et non à l'ensemble de l'écosystème LangChain en général.
Bibliothèques LangChain
LangChain Libraries aide à développer l'IA grâce à deux méthodes principales :
- Composantes: Il s'agit d'outils et de connexions adaptables conçus pour interagir avec des modèles linguistiques. Ils sont faciles à utiliser et peuvent être utilisés indépendamment ou dans le cadre du framework LangChain.
- Chaînes préfabriquées: Il s'agit de combinaisons prédéfinies de composants permettant de réaliser des tâches spécifiques. Ils simplifient le processus de démarrage, tandis que les composants permettent la personnalisation et la création de nouvelles chaînes.
Les composants sont ensuite classés en trois types :
Modèle d'E/S :
Ce composant facilite la communication avec le modèle en fournissant des interfaces et des utilitaires clairs pour la construction des entrées et le traitement des sorties, c'est-à-dire une gestion rapide.
LangChain s'intègre principalement à deux types principaux de modèles : les LLM et les modèles de chat. Les LLM de LangChain se concentrent sur la complétion de texte, en répondant à une invite de chaîne et en produisant une complétion de chaîne, tandis que les modèles de chat sont conçus pour une utilisation conversationnelle, acceptant une liste de messages en entrée et renvoyant un message généré par l'IA. Les stratégies incitatives varient d'un modèle à l'autre.
Les messages, classés dans des rôles tels que Human-Message et AI-Message, jouent un rôle central dans la communication avec les modèles, avec des paramètres supplémentaires tels que function_call pour des fonctionnalités spécifiques.
Récupération :
Lorsque nous utilisons des modèles linguistiques tels que les LLM, nous avons parfois besoin d'eux pour comprendre des détails spécifiques concernant des utilisateurs individuels, même si ces détails ne faisaient pas partie de leur formation initiale. La génération augmentée de récupération (RAG) est un terme sophistiqué désignant une technique que nous utilisons pour y parvenir. Cela signifie essentiellement que nous récupérons des informations pertinentes à partir de sources extérieures et que nous les transmettons au modèle lors de la création de texte.
LangChain est une boîte à outils qui fournit tous les outils nécessaires à la création de ce type d'applications.
Agents :
Le »Agent« est comme le cerveau qui prend des décisions. Il utilise un modèle de langage et des instructions pour déterminer la marche à suivre. Au lieu d'une séquence d'actions définie, il est plus flexible, laissant le modèle linguistique décider du meilleur plan d'action. Alors, considérez-le comme le décideur intelligent du processus. Dans les chaînes, une séquence d'actions est codée en dur
Comment fonctionne Langchain ?
LangChain fonctionne un peu comme l'élaboration d'une recette de repas. Au moment où vous suivez les étapes de préparation d'un plat, LangChain enchaîne une séquence d'actions, appelée »enchaîner«, pour accomplir une tâche particulière pilotée par l'IA.
Imaginez que vous recherchez des suggestions de films. LangChain intervient en comprenant d'abord ce que vous demandez. Ensuite, il rassemble des informations sur les films que vous aimez et ceux que vous avez déjà regardés. En examinant votre historique de visionnage et vos préférences à l'aide de modèles linguistiques, d'algorithmes sophistiqués et de techniques de traitement des données, LangChain génère des suggestions personnalisées. Enfin, il vous donne une liste de recommandations personnalisées à consulter.
Chaque maillon de cette « chaîne » a une signification, tout comme le fait de suivre les étapes d'une recette. LangChain rationalise le processus, garantissant une exécution fluide du début à la fin.
Création d'invites dans LangChain
Nous verrons comment configurer un système de réponse aux questions simple à l'aide de LangChain et l'intégrer au Hugging Face Hub (les LLM sont présents ici) pour la génération de texte
Installation de LangChain
! pip install langchain
Configuration d'un modèle d'invite
depuis Langchain import PromptTemplate
template = «" "Question : {question}
Réponse : « »
prompt = PromptTemplate (
template=modèle,
input_variables= [« question »]
)
Utilisation de Hugging Face Hub LLM
Tout d'abord, assurez-vous que votre clé d'API Hugging Face est prête. Ensuite, configurez-le dans votre environnement
système d'importation
os.environ ['HUGGINGFACEHUB_API_TOKEN'] = 'HF_API_KEY'
Installez la bibliothèque Hugging Face Hub
! pip installe huggingface_hub
Initialisez et utilisez le Hugging Face Hub pour la génération de texte
depuis langchain import : HuggingFaceHub, LLMchain
# initialiser Hub LLM
hub_llm = HuggingFaceHub (
repo_id='google/flan-t5-xl',
model_kwargs= {« température » : 1e-10}
)
Intégration avec LangChain
Combinez le modèle prompt et le modèle Hugging Face Hub à l'aide de LangChain
# créer un modèle d'invite > chaîne LLM
llm_chain = LLMchain (
prompt=prompt,
llm=hub_llm
)
Génération d'une réponse
Maintenant, posons une question sur la saison IPL 2023 et obtenons la réponse
# question de l'utilisateur
question = « Quelle équipe a remporté la saison IPL 2023 ? » # poser une question à l'utilisateur à propos de IPL 2023
imprimer (llm_chain.run (question))
Pour cette question, nous obtenons la bonne réponse de »Super Kings de Chennai» en sortie.
Applications de LangChain :
LangChain propose des didacticiels spécialisés pour la création de chatbots. Cliquez sur le titre de la liste pour y accéder.
- Chatbot: Les chatbots sont largement appréciés pour leur capacité à participer à des conversations longues et continues tout en préservant le contexte. Ils excellent lorsqu'il s'agit de fournir des informations pertinentes en réponse aux demandes des utilisateurs.
- Génération de données synthétiques: Les données synthétiques sont des données générées artificiellement, au lieu d'être collectées à partir d'événements du monde réel. Son objectif est d'imiter des données réelles sans porter atteinte à la vie privée ni être limité par des contraintes du monde réel.
- Résumateur: Si vous avez un tas de documents tels que des PDF, des notes de Notion ou des demandes de clients, et que vous devez en résumer l'essentiel sous forme de résumés plus courts, les LLM sont votre meilleur choix. Ils comprennent bien le sens du texte et le condensent efficacement.
- Interaction avec les API: Imaginez que vous ayez besoin d'un LLM pour accéder à des API externes. C'est un moyen puissant d'enrichir la compréhension du LLM en s'appuyant sur un contexte pertinent. De plus, cela ouvre la possibilité de converser avec les API en langage clair, ce qui peut être incroyablement pratique !
TrueFoundry AI Gateway offre une latence d'environ 3 à 4 ms, gère plus de 350 RPS sur 1 processeur virtuel, évolue horizontalement facilement et est prête pour la production, tandis que LiteLM souffre d'une latence élevée, peine à dépasser un RPS modéré, ne dispose pas d'une mise à l'échelle intégrée et convient parfaitement aux charges de travail légères ou aux prototypes.
Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA














.webp)


.png)


.webp)




.webp)







