Aperçu rapide
Cet article démontrera ce qui suit :
Comment mettre en œuvre l'auto-question avec la chaîne de recherche
- Installation de frameworks
- Environnement du bâtiment
- Importation de bibliothèques
- Création de modèles de langage
- Utilisation du langage d'expression LangChain
- Configuration de l'exécuteur d'agent
- Exécution de l'agent
- Utilisation de l'agent d'auto-question
Comment mettre en œuvre l'auto-question avec la chaîne de recherche ?
Self-Ask est le processus visant à améliorer le processus de chaînage car il comprend parfaitement les commandes. Les chaînes comprennent la question en extrayant les données sur tous les termes importants de l'ensemble de données. Une fois que le modèle est entraîné et comprend la requête, il génère la réponse à la requête demandée par l'utilisateur.
Pour apprendre le processus de mise en œuvre de l'auto-demande avec les chaînes de recherche dans LangChain, parcourez simplement le guide suivant :
Étape 1 : Installation des frameworks
Tout d'abord, démarrez le processus en installant le processus LangChain à l'aide du code suivant et récupérez toutes les dépendances du processus :
pip installer langchain
Après avoir installé LangChain, installez le ' résultats de recherche Google ' pour obtenir les résultats de recherche de Google en utilisant l'environnement OpenAI :
pip installer openai google-search-results
Étape 2 : Environnement du bâtiment
Une fois les modules et les frameworks installés, configurez l'environnement pour le OpenAI et SerpAPI en utilisant leurs API en utilisant le code suivant. Importez les bibliothèques os et getpass qui peuvent être utilisées pour saisir les clés API depuis leurs comptes respectifs :
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
Après avoir configuré l'environnement, importez simplement les bibliothèques requises à partir des dépendances LangChain telles que les utilitaires, les agents, llm et autres :
depuis chaîne de langage. llms importer OpenAIdepuis chaîne de langage. utilitaires importer SerpAPIWrapper
depuis chaîne de langage. agents . analyseurs_de sortie importer SelfAskOutputParser
depuis chaîne de langage. agents . format_scratchpad importer format_log_to_str
depuis chaîne de langue importer moyeu
depuis chaîne de langage. agents importer initialiser_agent , Outil
depuis chaîne de langage. agents importer Type d'agent
Étape 4 : Créer des modèles de langage
L'obtention des bibliothèques ci-dessus est requise tout au long du processus car OpenAI() est utilisé pour configurer le modèle de langage. Utilisez la méthode SerpAPIWrapper() pour configurer la variable de recherche et définir les outils requis pour que l'agent effectue toutes les tâches :
llm = OpenAI ( température = 0 )recherche = SerpAPIWrapper ( )
outils = [
Outil (
nom = 'Réponse intermédiaire' ,
fonction = recherche. courir ,
description = 'utile lorsque vous devez demander avec la recherche' ,
)
]
Étape 5 : Utilisation du langage d'expression LangChain
Commencez par configurer l'agent à l'aide du LangChain Expression Language (LCEL) en chargeant le modèle dans la variable d'invite :
rapide = moyeu. tirer ( 'hwchase17/auto-demande-avec-recherche' )Définissez une autre variable qui peut être exécutée pour arrêter de générer du texte et contrôler la longueur des réponses :
llm_with_stop = llm. lier ( arrêt = [ ' \n Réponse intermédiaire : ' ] )Maintenant, configurez les agents à l'aide de Lambda, une plate-forme sans serveur pilotée par événements pour générer les réponses aux questions. Configurez également les étapes nécessaires pour entraîner et tester le modèle afin d'obtenir des résultats optimisés à l'aide des composants configurés précédemment :
agent = {'saisir' : lambda x: x [ 'saisir' ] ,
'agent_scratchpad' : lambda x : format_log_to_str (
X [ 'étapes_intermédiaires' ] ,
préfixe_observation = ' \n Réponse intermédiaire : ' ,
llm_préfixe = '' ,
) ,
} | invite | llm_with_stop | SelfAskOutputParser ( )
Étape 6 : configuration de l'agent Executor
Avant de tester la méthode, importez simplement la bibliothèque AgentExecutor depuis LangChain pour rendre l'agent réactif :
depuis chaîne de langage. agents importer AgentExécuteurDéfinissez la variable agent_executor en appelant la méthode AgentExecutor() et en utilisant les composants comme arguments :
agent_exécuteur = AgentExécuteur ( agent = agent , outils = outils , verbeux = Vrai )Étape 7 : Exécution de l'agent
Une fois l'exécuteur de l'agent configuré, testez-le simplement en fournissant la question/invite dans la variable d'entrée :
agent_exécuteur. invoquer ( { 'saisir' : 'Qui est le champion masculin de l'US Open' } )L'exécution du code ci-dessus a répondu avec le nom du champion de l'US Open dans le résultat, c'est-à-dire Dominic Thiem :
Étape 8 : Utilisation de l'agent Self-Ask
Après avoir obtenu la réponse de l'agent, utilisez le SELF_ASK_WITH_SEARCH agent avec la requête dans la méthode run() :
self_ask_with_search = initialiser_agent (outils , llm , agent = Type d'agent. SELF_ASK_WITH_SEARCH , verbeux = Vrai
)
self_ask_with_search. courir (
'Quelle est la ville natale de Dominic Thiem, le champion du monde de l'US Open'
)
La capture d'écran suivante montre que l'agent de demande automatique extrait les informations sur chaque terme important de l'ensemble de données. Une fois qu’il rassemble toutes les informations sur la requête et comprend les questions, il génère simplement la réponse. Les questions que l'agent se pose lui-même sont :
- Qui est Dominic Thiem ?
- Quelle est la ville natale de Dominic Thiem ?
Après avoir obtenu les réponses à ces questions, l'agent a généré la réponse à la question d'origine qui est « Wiener Neustadt, Autriche » :
Il s’agit du processus de mise en œuvre de l’auto-demande avec une chaîne de recherche utilisant le framework LangChain.
Conclusion
Pour implémenter l'auto-demande avec recherche dans LangChain, installez simplement les modules requis comme google-search-results pour obtenir les résultats de l'agent. Après cela, configurez l'environnement à l'aide des clés API des comptes OpenAI et SerpAPi pour démarrer le processus. Configurez l'agent et créez le modèle avec le modèle de demande automatique pour le tester à l'aide de la méthode AgentExecutor().