Comment utiliser la sélection par pertinence marginale maximale (MMR) dans LangChain ?

Comment Utiliser La Selection Par Pertinence Marginale Maximale Mmr Dans Langchain



LangChain est un module qui peut être utilisé pour créer des modèles de langage permettant d'interagir avec les humains dans des langues naturelles. Les humains fournissent l'invite sous forme textuelle et le modèle utilise un exemple de sélecteur pour extraire la sortie à l'aide de la requête. Les sélecteurs d'exemples sont utilisés pour récupérer la sortie en fonction de l'entrée en choisissant l'exemple pertinent le plus proche de la requête ou de l'invite.

Ce guide illustrera le processus d'utilisation du sélecteur d'exemple de sélection par pertinence marginale maximale dans LangChain.

Comment utiliser la sélection par pertinence marginale maximale (MMR) dans LangChain ?

Le sélecteur d’exemple de pertinence marginale maximale est utilisé pour extraire des informations en utilisant la similarité cosinus de l’invite et de l’exemple. La similarité cosinus est calculée après avoir appliqué les méthodes d'intégration aux données et converti le texte en forme numérique.







Pour apprendre le processus d'utilisation du sélecteur d'exemple MMR dans LangChain, suivez simplement les étapes répertoriées :



Étape 1 : Installer les modules



Démarrez le processus en installant les dépendances du LangChain à l'aide de la commande pip :





pip installer langchain

Installez le module OpenAI pour utiliser son environnement pour appliquer la méthode OpenAIEmbedding() :



pip installer openai

Installez le framework FAISS qui peut être utilisé pour obtenir le résultat en utilisant la similarité sémantique :

pip install faiss-gpu

Maintenant, installez tiktoken tokenizer pour diviser le texte en morceaux plus petits en utilisant le code suivant :

pip installer tiktoken

Étape 2 : Utiliser des bibliothèques et des exemples

L'étape suivante consiste à importer des bibliothèques pour créer un sélecteur d'exemple MMR, FAISS, OpenAIEmbeddings et PromptTemplate. Après avoir importé les bibliothèques, créez simplement un exemple d'ensemble qui donne les entrées et les sorties pour leurs entrées respectives dans plusieurs tableaux :

depuis chaîne de langage. instructions . exemple_sélecteur importer (
MaxMarginalRelevanceExampleSelector ,
SémantiqueSimilaritéExampleSelector ,
)
depuis chaîne de langue. magasins de vecteurs importer FAISS
depuis chaîne de langue. intégrations importer OpenAIEmbeddings
depuis chaîne de langue. instructions importer Quelques modèles d'invite de tir , Modèle d'invite

exemple_invite = Modèle d'invite (
variables_d'entrée = [ 'saisir' , 'sortir' ] ,
modèle = 'Entrée : {entrée} \n Sortie : {sortie}' ,
)

exemples = [
{ 'saisir' : 'heureux' , 'sortir' : 'triste' } ,
{ 'saisir' : 'grand' , 'sortir' : 'court' } ,
{ 'saisir' : 'énergique' , 'sortir' : 'léthargique' } ,
{ 'saisir' : 'ensoleillé' , 'sortir' : 'sombre' } ,
{ 'saisir' : 'venteux' , 'sortir' : 'calme' } ,
]

Étape 3 : Création d'un sélecteur d'exemple

Maintenant, commencez à créer le sélecteur d’exemple MMR à l’aide de la méthode MaxMarginalRelevanceExampleSelector() contenant différents paramètres :

exemple_sélecteur = MaxMarginalRelevanceExampleSelector. from_examples (
exemples ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = Quelques modèles d'invite de tir (
exemple_sélecteur = exemple_sélecteur ,
exemple_invite = exemple_invite ,
préfixe = 'Donnez l'antonyme de chaque entrée' ,
suffixe = 'Entrée : {adjectif} \n Sortir:' ,
variables_d'entrée = [ 'adjectif' ] ,
)

Étape 4 : Test du sélecteur d'exemple MMR

Testez le sélecteur d’exemple MMR de pertinence marginale maximale en l’appelant dans la méthode print() avec l’entrée :

imprimer ( mmr_prompt. format ( adjectif = 'inquiet' ) )

Étape 5 : Utiliser la similarité sémantique

Cette étape utilise la méthode SemanticSimilarityExampleSelector(), puis la méthode FewShotPromptTemplate() prise en charge par LangChain :

exemple_sélecteur = SemanticSimilarityExampleSelector. from_examples (
exemples ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
similaire_prompt = Quelques modèles d'invite de tir (
exemple_sélecteur = exemple_sélecteur ,
exemple_invite = exemple_invite ,
préfixe = 'Donnez l'antonyme de chaque entrée' ,
suffixe = 'Entrée : {adjectif} \n Sortir:' ,
variables_d'entrée = [ 'adjectif' ] ,
)
imprimer ( similaire_prompt. format ( adjectif = 'inquiet' ) )

Il s’agit d’utiliser la sélection par pertinence marginale maximale ou MMR dans LangChain.

Conclusion

Pour utiliser le sélecteur d'exemple de sélection par pertinence marginale maximale ou MMR dans LangChain, installez les modules requis. Après cela, importez les bibliothèques pour créer l'ensemble d'exemples à l'aide du modèle d'invite d'entrée et de sortie. Créez le sélecteur d'exemple MMR pour le tester à l'aide du sélecteur d'exemple MMR et de la méthode FewShotPromptTemplate() pour obtenir une sortie pertinente. Ce guide a illustré le processus d'utilisation de l'exemple de sélecteur de sélection par MMR dans LangChain.