Aperçu rapide
Cet article démontrera ce qui suit :
Comment répliquer le système MRKL à l'aide d'agents dans LangChain
- Étape 1 : Installation des frameworks
- Étape 2 : Configuration de l'environnement OpenAI
- Étape 3 : Importer des bibliothèques
- Étape 4 : Création d'une base de données
- Étape 5 : Téléchargement de la base de données
- Étape 6 : Configuration des outils
- Étape 7 : Création et test de l'agent
- Étape 8 : Répliquer le système MRKL
- Étape 9 : Utiliser ChatModel
- Étape 10 : Testez l'agent MRKL
- Étape 11 : Répliquer le système MRKL
Comment répliquer le système MRKL à l’aide d’agents dans LangChain ?
LangChain permet à l'utilisateur de créer des agents pouvant être utilisés pour effectuer plusieurs tâches pour les modèles de langage ou les chatbots. Les agents stockent leur travail avec toutes les étapes dans la mémoire attachée au modèle de langage. À l'aide de ces modèles, l'agent peut reproduire le fonctionnement de n'importe quel système comme MRKL pour obtenir des résultats optimisés sans avoir à les reconstruire.
Pour apprendre le processus de réplication du système MRKL à l'aide d'agents dans LangChain, suivez simplement les étapes répertoriées :
Étape 1 : Installation des frameworks
Tout d'abord, installez les modules expérimentaux LangChain en utilisant le pip avec la commande langchain-experimental :
pip installer langchain-expérimental
Installez le module OpenAI pour créer le modèle de langage pour le système MRKL :
pip installer openai
Étape 2 : Configuration de l'environnement OpenAI
Importez les bibliothèques os et getpass pour accéder au fonctionnement permettant d'inviter l'utilisateur à fournir les clés API pour les comptes OpenAI et SerpAPi :
importer toiimporter obtenir un laissez-passer
toi . environ [ 'OPENAI_API_KEY' ] = obtenir un laissez-passer . obtenir un laissez-passer ( « Clé API OpenAI : » )
toi . environ [ 'SERPAPI_API_KEY' ] = obtenir un laissez-passer . obtenir un laissez-passer ( « Clé API Serpapi : » )
Étape 3 : Importer des bibliothèques
Utilisez les dépendances de LangChain pour importer les bibliothèques requises pour créer le modèle de langage, les outils et les agents :
depuis chaîne de langue. Chaînes importer LLMMathChaindepuis chaîne de langue. llms importer OpenAI
depuis chaîne de langue. utilitaires importer SerpAPIWrapper
depuis chaîne de langue. utilitaires importer Base de données SQL
depuis langchain_experimental. SQL importer Chaîne de base de données SQL
depuis chaîne de langue. agents importer initialiser_agent , Outil
depuis chaîne de langage. agents importer Type d'agent
Étape 4 : Création d'une base de données
Le MRKL utilise des sources de connaissances externes pour extraire des informations à partir des données. Cet article utilise SQLite qui peut être téléchargé à l'aide de ceci guide pour construire la base de données. La commande suivante confirme le processus de téléchargement de SQLite en affichant sa version installée :
sqlite3
Utilisez les commandes suivantes dans un répertoire pour créer la base de données à l'aide de l'invite de commande :
CD BureauCD ma base de données
sqlite3 Chinook. base de données
Téléchargez le Base de données fichier et stockez-le dans le répertoire pour utiliser la commande suivante pour créer le « .db ' déposer:
. lire Chinook_Sqlite. SQLSELECT * FROM Artiste LIMIT dix ;
Étape 5 : Téléchargement de la base de données
Une fois la base de données créée avec succès, téléchargez le fichier dans le collaborateur Google :
depuis Google. ET AL importer des dossierstéléchargé = des dossiers. télécharger ( )
L'utilisateur peut accéder au fichier téléchargé sur le notebook pour copier son chemin depuis son menu déroulant :
Étape 6 : Configuration des outils
Après avoir créé la base de données, configurez le modèle de langage, les outils et les chaînes pour les agents :
recherche = SerpAPIWrapper ( )llm = OpenAI ( température = 0 )
llm_math_chain = LLMMathChain ( llm = llm , verbeux = Vrai )
base de données = Base de données SQL. de_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChaîne. de_llm ( llm , base de données , verbeux = Vrai )
outils = [
Outil (
nom = 'Recherche' ,
fonction = recherche. courir ,
description = 'Demandez les invites ciblées pour obtenir des réponses sur les affaires récentes'
) ,
Outil (
nom = 'Calculatrice' ,
fonction = llm_math_chain. courir ,
description = 'utile pour répondre/résoudre des problèmes mathématiques'
) ,
Outil (
nom = 'Base de données FooBar' ,
fonction = db_chain. courir ,
description = 'utile pour répondre aux requêtes d'une base de données et la question d'entrée doit avoir le contexte complet'
)
]
- Définir la llm variable en utilisant le OpenAI() méthode pour obtenir le modèle de langage.
- Le recherche est l'outil qui appelle le SerpAPIWrapper() méthode pour accéder à son environnement.
- Le LLMMathChain() La méthode est utilisée pour obtenir les réponses liées à des problèmes mathématiques.
- Définir la base de données variable avec le chemin du fichier à l'intérieur du Base de données SQL() méthode.
- Le SQLDatabaseChain() La méthode peut être utilisée pour obtenir les informations de la base de données.
- Définir des outils comme recherche , calculatrice , et Base de données FooBar pour créer l'agent afin d'extraire des données de différentes sources :
Étape 7 : Création et test de l'agent
Initialisez le système MRKL à l'aide des outils, llm et agent pour obtenir les réponses aux questions posées par l'utilisateur :
mrkl = initialiser_agent ( outils , llm , agent = Type d'agent. ZERO_SHOT_REACT_DESCRIPTION , verbeux = Vrai )Exécutez le système MRKL en utilisant la méthode run() avec la question comme argument :
mrkl. courir ( 'L'âge actuel de Leo DiCaprio et de sa petite amie révèle également leur différence d'âge' )Sortir
L'agent a produit la réponse finale avec le chemin complet utilisé par le système pour extraire la réponse finale :
Étape 8 : Répliquer le système MRKL
Maintenant, utilisez simplement le mrkl mot-clé avec la méthode run() pour obtenir des réponses provenant de différentes sources comme des bases de données :
mrkl. courir ( 'Quel est le nom complet de l'artiste dont l'album intitulé 'The Storm Before the Calm' est sorti récemment et est-il dans la base de données FooBar et quels sont ses albums dans la base de données' )L'agent a automatiquement transformé la question en requête SQL pour récupérer la réponse dans la base de données. L'agent recherche la bonne source pour obtenir la réponse, puis assemble la requête pour extraire les informations :
Étape 9 : Utiliser ChatModel
L'utilisateur peut simplement modifier le modèle de langage en utilisant la méthode ChatOpenAI() pour en faire un ChatModel et utiliser le système MRKL avec :
depuis chaîne de langage. chat_models importer ChatOpenAIrecherche = SerpAPIWrapper ( )
llm = ChatOpenAI ( température = 0 )
llm1 = OpenAI ( température = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , verbeux = Vrai )
base de données = Base de données SQL. de_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChaîne. de_llm ( llm1 , base de données , verbeux = Vrai )
outils = [
Outil (
nom = 'Recherche' ,
fonction = recherche. courir ,
description = 'Demandez les invites ciblées pour obtenir des réponses sur les affaires récentes'
) ,
Outil (
nom = 'Calculatrice' ,
fonction = llm_math_chain. courir ,
description = 'utile pour répondre/résoudre des problèmes mathématiques'
) ,
Outil (
nom = 'Base de données FooBar' ,
fonction = db_chain. courir ,
description = 'utile pour répondre aux requêtes d'une base de données et la question d'entrée doit avoir le contexte complet'
)
]
Étape 10 : Testez l'agent MRKL
Après cela, construisez l'agent et initialisez-le dans la variable mrkl à l'aide de la méthode initialize_agent(). Ajoutez le paramètre de la méthode pour intégrer les composants tels que les outils, llm, l'agent et verbose pour obtenir le processus complet dans la sortie :
mrkl = initialiser_agent ( outils , llm , agent = Type d'agent. CHAT_ZERO_SHOT_REACT_DESCRIPTION , verbeux = Vrai )Exécutez la question en exécutant le système mrkl comme indiqué dans la capture d'écran suivante :
mrkl. courir ( 'Qui est la petite amie de Leo DiCaprio ? Quel est son âge actuel' )
Sortir
L'extrait suivant affiche la réponse finale extraite par l'agent :
Étape 11 : Répliquer le système MRKL
Utilisez le système MRKL en appelant la méthode run() avec la question en langage naturel pour extraire les informations de la base de données :
mrkl. courir ( 'Quel est le nom complet de l'artiste dont l'album intitulé 'The Storm Before the Calm' est sorti récemment et est-il dans la base de données FooBar et quels sont ses albums dans la base de données' )Sortir
L'agent a affiché la réponse finale extraite de la base de données comme indiqué dans la capture d'écran suivante :
Il s’agit du processus de réplication du système MRKL à l’aide d’agents dans LangChain :
Conclusion
Pour répliquer le système MRKL à l'aide d'agents dans LangChain, installez les modules pour obtenir les dépendances pour importer les bibliothèques. Les bibliothèques sont nécessaires pour créer le modèle de langage ou le modèle de discussion afin d'obtenir les réponses de plusieurs sources à l'aide des outils. Les agents sont configurés pour utiliser les outils permettant d'extraire les sorties de différentes sources comme Internet, les bases de données, etc. Ce guide a développé le processus de réplication du système MRKL à l'aide d'agents dans LangChain.