Retour au Blog
Blog

LangChain🦜🔗: Le Framework Puissant Révolutionnant les Applications de Modèles Linguistiques

Sep 7, 2023·6 min read·Palomi Jain
#Artificial Intelligence#Large Language Model#machine learning#Python
LangChain🦜🔗: Le Framework Puissant Révolutionnant les Applications de Modèles Linguistiques

LangChain🦜🔗 : Le framework puissant révolutionnant les applications de modèles de langage

Qu'est-ce que LangChain ?

LangChain est un framework puissant conçu pour révolutionner le développement d'applications alimentées par des modèles de langage. Les modèles de langage comme ChatGPT et Llama sont incroyablement polyvalents et excellent dans un large éventail de tâches. Cependant, ils peuvent rencontrer des défis lorsqu'il s'agit de fournir des réponses précises ou de relever des tâches qui nécessitent des connaissances ou une expertise approfondies du domaine. C'est là que LangChain intervient pour vous aider.

Par exemple — Avec l'aide de LangChain, nous pouvons former un LLM comme ChatGPT sur un ensemble de données personnalisé d'avis de restaurants. L'ensemble de données contient des informations spécifiques sur diverses cuisines, l'ambiance et la qualité du service.

Maintenant, lorsque vous posez à ChatGPT une question précise comme « Quel restaurant propose les meilleures sushis en ville ? », ChatGPT, après avoir été affiné sur l'ensemble de données personnalisé d'avis de restaurants, peut fournir une réponse plus précise et spécifique. Il peut puiser dans ses connaissances de l'ensemble de données pour recommander le restaurant ayant reçu les meilleures évaluations pour les sushis selon les avis des clients.

Lire plus : Documentation officielle

Construisons une petite application

Dans cet article, je vais vous montrer un guide étape par étape pour construire un lecteur de documents en utilisant LangChain et HuggingFace. Je vais utiliser Google Colab comme plateforme pour construire l'application

  1. Créer un nouveau carnet dans Google Colab et installer toutes les dépendances nécessaires

Cliquez sur « Nouveau carnet » ou allez à « Fichier » > « Nouveau carnet » pour créer un nouveau carnet Colab et installer les dépendances ci-dessous.

Image par l'auteur

2. Obtenir la clé API HuggingFace

Si vous n'avez pas encore de compte Hugging Face, vous devrez en créer un. Vous pouvez vous inscrire sur le site Web de Hugging Face.

Une fois connecté, allez à la section Profil en cliquant sur l'icône de votre profil dans le coin supérieur droit et en sélectionnant « Paramètres » dans le menu déroulant.

Après cela, allez à la section Jetons d'accès et créez un nouveau jeton

Image par l'auteur

Après cela, créez une nouvelle cellule de code et ajoutez le code ci-dessous —

Image par l'auteur

Remplacez la chaîne fictive par votre clé API et exécutez le code.

3. Créer des plongements et un magasin vectoriel pour les questions-réponses

Dans de nombreuses applications de modèles de langage (LLM), il existe souvent un besoin de données spécifiques à l'utilisateur qui n'étaient pas incluses dans l'ensemble de données d'entraînement original du modèle. LangChain vous fournit les éléments nécessaires pour importer, transformer, stocker et interroger efficacement vos données personnalisées.

Source : Documentation LangChain

Le processus comprend cinq étapes distinctes :

  1. Chargement des documents : Cette étape est responsable de l'importation de données sous forme de documents.
  2. Segmentation des documents : Ici, le document subit une segmentation, le divisant en portions plus gérables.
  3. Génération d'incorporations : À cette étape, ces portions sont transformées en représentations vectorielles, également appelées incorporations.
  4. Magasin vectoriel : Ce composant sert de référentiel pour stocker les vecteurs de portions susmentionnés dans une base de données vectorielle dédiée.
  5. Mécanisme de récupération : L'étape finale implique un mécanisme de récupération. Il est utilisé pour récupérer un ou plusieurs ensembles de vecteurs présentant la plus grande similitude avec une requête, la requête et les vecteurs stockés résidant dans le même espace latent.

Maintenant, commençons par charger le document. Je charge un bref résumé de la Constitution de l'Inde généré par ChatGPT.

Image par l'auteur

Après le chargement du document, décomposons les documents texte plus longs en portions plus petites et non chevauchantes de 1000 caractères chacune

Image par l'auteur

Après la segmentation des documents, initialisons nos plongements. Nous utilisons les incorporations fournies par la bibliothèque Hugging Face Transformers.

Image par l'auteur

Maintenant, nous allons mettre en place un magasin vectoriel en utilisant Faiss. Essentiellement, vos données texte sont transformées en vecteurs à l'aide des plongements fournis, et Faiss est utilisé pour indexer et rechercher efficacement ces vecteurs.

Image par l'auteur

Maintenant, nous allons charger le LLM flan-t5-xxl de Google depuis HuggingFace. C'est un outil précieux pour les tâches de réponse aux questions en raison de son approche texte à texte, son modèle pré-entraîné et sa grande taille.

Image par l'auteur

Après cela, créons une chaîne en utilisant LangChain. Les chaînes nous permettent d'assembler plusieurs composants dans une application cohésive.

Image par l'auteur

Nous allons créer une chaîne simple : elle commence par une requête, et la requête est ensuite envoyée au LLM.

Image par l'auteur

Pour le contexte, voici la partie du résumé à partir de laquelle le LLM a répondu —

"Préambule : Le Préambule de la Constitution indienne énonce les idéaux et les objectifs que les auteurs de la Constitution visaient à réaliser. Il met en avant l'Inde comme une République souveraine, socialiste, laïque et démocratique qui recherche la justice, la liberté, l'égalité et la fraternité pour ses citoyens."

Posons une autre question Ă  ce sujet

Image par l'auteur

Applications —

  1. Chatbots IA et assistants virtuels : Les capacités de réponse aux questions intégrées dans ce code jettent les bases pour créer des chatbots IA et des assistants virtuels qui peuvent fournir des réponses instantanées et conscientes du contexte aux requêtes des utilisateurs. Cela a des applications dans le support client, l'e-learning, et bien d'autres.
  2. Outils éducatifs : Les éducateurs et les étudiants peuvent bénéficier de réponses aux questions automatisées, ce qui aide à clarifier les doutes et améliore l'expérience d'apprentissage. Il peut également être utilisé dans la génération de contenu éducatif.
  3. Moteurs de recommandation de contenu : En comprenant le contexte et l'intention derrière les requêtes, ce code peut être utilisé pour développer des systèmes de recommandation de contenu, garantissant que les utilisateurs reçoivent des suggestions hautement pertinentes.

Pour les lecteurs intéressés par l'exploration plus approfondie de ces applications et la découverte d'outils supplémentaires pour leurs projets, voici quelques ressources précieuses :

FlowiseAI - Créer des applications LLM facilement Outil visuel UI open source pour construire votre flux LLM personnalisé en utilisant Langchainflowiseai.comListe d'attente Langflow Rejoignez la liste d'attente Langflow aujourd'hui et découvrez une approche simplifiée des LLM. Open-source et convivial, Langflow…www.langflow.org

Conclusion —

Cet article a montré comment LangChain peut être utilisé dans le développement d'applications alimentées par des modèles de langage et comment ses abstractions flexibles et sa boîte à outils étendue permettent aux développeurs d'exploiter la puissance des LLM.

Dans le paysage en constante évolution de l'IA, les LLM se sont imposés comme des changeurs de jeu, et nous sommes fiers de faire partie de ce voyage passionnant vers un avenir plus intelligent et plus efficace. Nous attendons avec impatience d'exploiter les LLM pour stimuler l'innovation, résoudre des défis complexes et fournir encore plus de valeur à nos clients et partenaires chez My Next Developer.