Kako uporabljati možnost Select by Maximal Marginal Relevance (MMR) v LangChain?

Kako Uporabljati Moznost Select By Maximal Marginal Relevance Mmr V Langchain



LangChain je modul, ki se lahko uporablja za izdelavo jezikovnih modelov za interakcijo z ljudmi v naravnih jezikih. Ljudje posredujejo poziv v besedilni obliki, model pa uporablja vzorčni izbirnik za ekstrahiranje rezultatov s pomočjo poizvedbe. Izbirniki primerov se uporabljajo za pridobivanje izhodnih podatkov na podlagi vnosa z izbiro primera, ki je najbližji poizvedbi ali pozivu.

Ta vodnik bo ponazoril postopek uporabe izbirnika primerov izbire z največjo mejno ustreznostjo v LangChain.

Kako uporabljati možnost Select by Maximal Marginal Relevance (MMR) v LangChain?

Izbirnik primera največje mejne ustreznosti se uporablja za pridobivanje informacij z uporabo kosinusne podobnosti poziva in primera. Kosinusna podobnost se izračuna po uporabi metod vdelave podatkov in pretvorbi besedila v numerično obliko.







Če se želite naučiti postopka uporabe izbirnika primerov MMR v LangChainu, preprosto pojdite skozi navedene korake:



1. korak: Namestite module



Začnite postopek z namestitvijo odvisnosti LangChaina z ukazom pip:





pip namestite langchain

Namestite modul OpenAI, da uporabite njegovo okolje za uporabo metode OpenAIEmbedding():



pip namestite openai

Namestite ogrodje FAISS, ki ga lahko uporabite za pridobivanje rezultatov z uporabo semantične podobnosti:

pip namestite faiss-gpu

Zdaj namestite tiktoken tokenizer za razdelitev besedila na manjše dele z uporabo naslednje kode:

pip namestite tiktoken

2. korak: Uporaba knjižnic in primerov

Naslednji korak je uvoz knjižnic za izdelavo izbirnika primerov MMR, FAISS, OpenAIEmbeddings in PromptTemplate. Po uvozu knjižnic preprosto ustvarite nabor primerov, ki daje vhode in izhode za njihove vhode v več nizih:

od Langchain. pozive . primer_izbirnika uvoz (
MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
od Langchain. vektorske trgovine uvoz FAISS
od Langchain. vdelave uvoz OpenAIEmbeddings
od Langchain. pozive uvoz FewShotPromptTemplate , PromptTemplate

primer_prompt = PromptTemplate (
vhodne_spremenljivke = [ 'vnos' , 'izhod' ] ,
predlogo = 'Vnos: {vnos} \n Izhod: {izhod}' ,
)

primeri = [
{ 'vnos' : 'srečen' , 'izhod' : 'žalosten' } ,
{ 'vnos' : 'visok' , 'izhod' : 'kratek' } ,
{ 'vnos' : 'energičen' , 'izhod' : 'letargičen' } ,
{ 'vnos' : 'sončno' , 'izhod' : 'mračno' } ,
{ 'vnos' : 'vetrovno' , 'izhod' : 'mirno' } ,
]

3. korak: Gradnja izbirnika primerov

Zdaj začnite graditi primer izbirnika MMR z uporabo metode MaxMarginalRelevanceExampleSelector(), ki vsebuje različne parametre:

primer_izbirnika = MaxMarginalRelevanceExampleSelector. iz_primerov (
primeri ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
primer_izbirnika = primer_izbirnika ,
primer_prompt = primer_prompt ,
predpono = 'Navedite antonim vsakega vnosa' ,
pripona = 'Vnos: {pridevnik} \n Izhod:' ,
vhodne_spremenljivke = [ 'pridevnik' ] ,
)

4. korak: Preizkušanje izbirnika primerov MMR

Preizkusite izbirnik primera MMR z največjo mejno pomembnostjo, tako da ga pokličete v metodi print() z vnosom:

tiskanje ( mmr_prompt. format ( pridevnik = 'zaskrbljen' ) )

5. korak: Uporaba SemanticSimilarity

Ta korak uporablja metodo SemanticSimilarityExampleSelector() in nato metodo FewShotPromptTemplate(), ki jo podpira LangChain:

primer_izbirnika = SemanticSimilarityExampleSelector. iz_primerov (
primeri ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
podoben_prompt = FewShotPromptTemplate (
primer_izbirnika = primer_izbirnika ,
primer_prompt = primer_prompt ,
predpono = 'Navedite antonim vsakega vnosa' ,
pripona = 'Vnos: {pridevnik} \n Izhod:' ,
vhodne_spremenljivke = [ 'pridevnik' ] ,
)
tiskanje ( podoben_prompt. format ( pridevnik = 'zaskrbljen' ) )

To je vse o uporabi izbire po največji mejni ustreznosti ali MMR v LangChainu.

Zaključek

Če želite v LangChain uporabiti izbirnik primerov izbire po največji mejni ustreznosti ali MMR, namestite zahtevane module. Po tem uvozite knjižnice, da zgradite nabor primerov z uporabo predloge vhodnega in izhodnega poziva. Zgradite izbirnik primera MMR, da ga preizkusite z uporabo izbirnika primera MMR in metode FewShotPromptTemplate(), da dobite ustrezne rezultate. Ta vodnik je ponazoril postopek uporabe primera izbirnika select-by-MMR v LangChain.