Denne vejledning vil illustrere processen med at bruge eksempelvælgeren 'Select by Maximal Marginal Relevance' i LangChain.
Hvordan bruges Select by Maximal Marginal Relevance (MMR) i LangChain?
Eksempelvælgeren Maximal Marginal Relevance bruges til at udtrække information ved hjælp af cosinus-ligheden mellem prompten og eksemplet. Cosinus-ligheden beregnes efter anvendelse af indlejringsmetoderne på dataene og konvertering af tekst til numerisk form.
For at lære processen med at bruge MMR-eksempelvælgeren i LangChain skal du blot gennemgå de anførte trin:
Trin 1: Installer moduler
Start processen ved at installere afhængighederne af LangChain ved hjælp af pip-kommandoen:
pip installer langkæde
Installer OpenAI-modulet for at bruge dets miljø til at anvende OpenAIEmbedding()-metoden:
pip installer openai
Installer FAISS-rammeværket, som kan bruges til at få output ved hjælp af semantisk lighed:
pip installer faiss-gpu
Installer nu tiktoken tokenizer for at opdele teksten i mindre bidder ved hjælp af følgende kode:
pip installer tiktoken
Trin 2: Brug af biblioteker og eksempler
Det næste trin er at importere biblioteker til at bygge en MMR-eksempelvælger, FAISS, OpenAIEmbeddings og PromptTemplate. Efter import af bibliotekerne skal du blot oprette et eksempelsæt, der giver input og output for deres respektive input i flere arrays:
fra langkæde. prompter . eksempelvælger importere (MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
fra langkæde. vektorbutikker importere FAISS
fra langkæde. indlejringer importere OpenAIE-indlejringer
fra langkæde. prompter importere FewShotPromptTemplate , PromptTemplate
eksempel_prompt = PromptTemplate (
input_variables = [ 'input' , 'produktion' ] ,
skabelon = 'Input: {input} \n Output: {output}' ,
)
eksempler = [
{ 'input' : 'lykkelig' , 'produktion' : 'trist' } ,
{ 'input' : 'høj' , 'produktion' : 'kort' } ,
{ 'input' : 'energisk' , 'produktion' : 'sløv' } ,
{ 'input' : 'solrig' , 'produktion' : 'dyster' } ,
{ 'input' : 'blæsende' , 'produktion' : 'berolige' } ,
]
Trin 3: Byggeeksempelvælger
Begynd nu at bygge MMR-eksempelvælgeren ved hjælp af MaxMarginalRelevanceExampleSelector()-metoden, der indeholder forskellige parametre:
eksempelvælger = MaxMarginalRelevanceExampleSelector. fra_eksempler (eksempler ,
OpenAIE-indlejringer ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
eksempelvælger = eksempelvælger ,
eksempel_prompt = eksempel_prompt ,
præfiks = 'Giv antonymet for hvert input' ,
suffiks = 'Input: {adjektiv} \n Produktion:' ,
input_variables = [ 'adjektiv' ] ,
)
Trin 4: Test af MMR-eksempelvælgeren
Test MMR-eksempelvælgeren Maksimal marginalrelevans ved at kalde den i print()-metoden med input:
Print ( mmr_prompt. format ( adjektiv = 'bekymret' ) )
Trin 5: Brug af SemanticSimilarity
Dette trin bruger metoden SemanticSimilarityExampleSelector() og bruger derefter FewShotPromptTemplate() metoden, der understøttes af LangChain:
eksempelvælger = SemanticSimilarityExampleSelector. fra_eksempler (eksempler ,
OpenAIE-indlejringer ( ) ,
FAISS ,
k = 2 ,
)
lignende_prompt = FewShotPromptTemplate (
eksempelvælger = eksempelvælger ,
eksempel_prompt = eksempel_prompt ,
præfiks = 'Giv antonymet for hvert input' ,
suffiks = 'Input: {adjektiv} \n Produktion:' ,
input_variables = [ 'adjektiv' ] ,
)
Print ( lignende_prompt. format ( adjektiv = 'bekymret' ) )
Det handler om at bruge select by Maximal Marginal Relevance eller MMR i LangChain.
Konklusion
For at bruge select by Maximal Marginal Relevance eller MMR-eksempelvælgeren i LangChain skal du installere de nødvendige moduler. Importer derefter bibliotekerne for at bygge eksempelsættet ved hjælp af input- og outputpromptskabelonen. Byg MMR-eksempelvælgeren for at teste den ved at bruge MMR-eksempelvælgeren og FewShotPromptTemplate()-metoden for at få relevant output. Denne vejledning har illustreret processen med at bruge select-by-MMR eksempelvælgeren i LangChain.