Kaip naudoti „Select by Maximal Marginal Relevance“ (MMR) „LangChain“?

Kaip Naudoti Select By Maximal Marginal Relevance Mmr Langchain



„LangChain“ yra modulis, kurį galima naudoti kuriant kalbos modelius, skirtus bendrauti su žmonėmis natūraliomis kalbomis. Žmonės pateikia raginimą tekstine forma, o modelis naudoja pavyzdinį parinkiklį, kad ištrauktų išvestį naudodami užklausą. Pavyzdžių parinkikliai naudojami norint gauti išvestį pagal įvestį, pasirenkant artimiausią užklausai arba raginimui tinkamą pavyzdį.

Šiame vadove bus parodytas „LangChain“ pavyzdžio parinkiklio „Select by Maximal Marginal Relevance“ naudojimo procesas.

Kaip naudoti „Select by Maximal Marginal Relevance“ (MMR) „LangChain“?

Maksimalios ribinės reikšmės pavyzdžio parinkiklis naudojamas informacijai išgauti naudojant raginimo ir pavyzdžio kosinuso panašumą. Kosinuso panašumas apskaičiuojamas pritaikius duomenims įterpimo metodus ir pavertus tekstą skaitine forma.





Norėdami sužinoti, kaip naudoti MMR pavyzdžių parinkiklį LangChain, tiesiog atlikite nurodytus veiksmus:



1 veiksmas: įdiekite modulius



Pradėkite procesą įdiegdami LangChain priklausomybes naudodami pip komandą:





pip įdiegti langchain

Įdiekite OpenAI modulį, kad galėtumėte naudoti jo aplinką OpenAIEMbedding() metodui taikyti:



pip install openai

Įdiekite FAISS sistemą, kurią galima naudoti norint gauti išvestį naudojant semantinį panašumą:

pip įdiegti faiss-gpu

Dabar įdiekite tiktoken tokenizer, kad padalintumėte tekstą į mažesnius gabalus naudodami šį kodą:

pip įdiegti tiktoken

2 veiksmas: bibliotekų ir pavyzdžių naudojimas

Kitas veiksmas – importuoti bibliotekas, skirtas MMR pavyzdiniam parinkikliui, FAISS, OpenAIEMbeddings ir PromptTemplate kurti. Importavę bibliotekas, tiesiog sukurkite pavyzdinį rinkinį, kuriame pateikiamos atitinkamos jų įvesties įvestis ir išvestis keliuose masyvuose:

langchain. raginimai . example_selector importuoti (
MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
langchain. vektorių parduotuvės importuoti FAISS
langchain. įterpimai importuoti OpenAIEmbeddings
langchain. raginimai importuoti FewShotPromptTemplate , PromptTemplate

example_prompt = PromptTemplate (
įvesties_kintamieji = [ 'įvestis' , 'išvestis' ] ,
šabloną = 'Įvestis: {input} \n Išvestis: {output}' ,
)

pavyzdžių = [
{ 'įvestis' : 'laimingas' , 'išvestis' : 'liūdnas' } ,
{ 'įvestis' : 'aukštas' , 'išvestis' : 'trumpas' } ,
{ 'įvestis' : 'energetiškas' , 'išvestis' : 'letargiškas' } ,
{ 'įvestis' : 'saulėtas' , 'išvestis' : 'niūrus' } ,
{ 'įvestis' : 'vėjuotas' , 'išvestis' : 'Ramus' } ,
]

3 veiksmas: kūrimo pavyzdžio parinkiklis

Dabar pradėkite kurti MMR pavyzdžio parinkiklį naudodami MaxMarginalRelevanceExampleSelector() metodą su skirtingais parametrais:

example_selector = MaxMarginalRelevanceExampleSelector. from_examples (
pavyzdžių ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
example_selector = example_selector ,
example_prompt = example_prompt ,
priešdėlis = „Suteikite kiekvieno įvesties antonimą“ ,
priesaga = 'Įvestis: {būdvardis} \n Išvestis:' ,
įvesties_kintamieji = [ 'būdvardis' ] ,
)

4 veiksmas: MMR pavyzdžio parinkiklio tikrinimas

Išbandykite maksimalios ribos atitikimo MMR pavyzdžio parinkiklį, iškviesdami jį print() metodu su įvestimi:

spausdinti ( mmr_prompt. formatu ( būdvardis = 'neramus' ) )

5 veiksmas: SemanticSimilarity naudojimas

Šiame veiksme naudojamas SemanticSimilarityExampleSelector() metodas, o tada naudojamas FewShotPromptTemplate() metodas, kurį palaiko LangChain:

example_selector = SemanticSimilarityExampleSelector. from_examples (
pavyzdžių ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
panašus_prompt = FewShotPromptTemplate (
example_selector = example_selector ,
example_prompt = example_prompt ,
priešdėlis = „Suteikite kiekvieno įvesties antonimą“ ,
priesaga = 'Įvestis: {būdvardis} \n Išvestis:' ,
įvesties_kintamieji = [ 'būdvardis' ] ,
)
spausdinti ( panašus_prompt. formatu ( būdvardis = 'neramus' ) )

Tai viskas apie tai, kad „LangChain“ reikia pasirinkti pagal maksimalų ribinį atitikimą arba MMR.

Išvada

Norėdami naudoti „Select by Maximal Marginal Relevance“ arba „MMR“ pavyzdžių parinkiklį „LangChain“, įdiekite reikiamus modulius. Po to importuokite bibliotekas, kad sukurtumėte pavyzdžių rinkinį naudodami įvesties ir išvesties raginimo šabloną. Sukurkite MMR pavyzdžio parinkiklį, kad jį išbandytumėte naudodami MMR pavyzdžio parinkiklį ir FewShotPromptTemplate() metodą, kad gautumėte atitinkamą išvestį. Šiame vadove iliustruotas „LangChain“ pasirinkimo pagal MMR pavyzdinio parinkiklio naudojimo procesas.