Ovaj će vodič ilustrirati postupak korištenja primjera selektora odabira prema maksimalnoj marginalnoj relevantnosti u LangChainu.
Kako koristiti odabir prema maksimalnoj marginalnoj relevantnosti (MMR) u LangChainu?
Selektor primjera maksimalne granične relevantnosti koristi se za izdvajanje informacija pomoću kosinusne sličnosti upita i primjera. Kosinusna sličnost izračunava se nakon primjene metoda ugrađivanja podataka i pretvaranja teksta u numerički oblik.
Da biste naučili postupak korištenja selektora primjera MMR-a u LangChainu, jednostavno prođite kroz navedene korake:
Korak 1: Instalirajte module
Pokrenite postupak instaliranjem ovisnosti LangChaina pomoću naredbe pip:
pip instalirati langchain
Instalirajte OpenAI modul da biste koristili njegovo okruženje za primjenu metode OpenAIEmbedding():
pip instaliraj openai
Instalirajte okvir FAISS koji se može koristiti za dobivanje rezultata pomoću semantičke sličnosti:
pip instaliraj faiss-gpu
Sada instalirajte tiktoken tokenizer za dijeljenje teksta u manje dijelove pomoću sljedećeg koda:
pip instaliraj tiktoken
Korak 2: Korištenje biblioteka i primjera
Sljedeći korak je uvoz biblioteka za izradu selektora primjera MMR-a, FAISS, OpenAIEmbeddings i PromptTemplate. Nakon uvoza biblioteka, jednostavno stvorite skup primjera koji daje ulaze i izlaze za njihove odgovarajuće ulaze u više polja:
iz langchain. upita . primjer_selektor uvoz (MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
iz langchain. vektorske trgovine uvoz FAISS
iz langchain. ugradnje uvoz OpenAIEembeddings
iz langchain. upita uvoz FewShotPromptTemplate , PromptTemplate
primjer_prompt = PromptTemplate (
ulazne_varijable = [ 'ulazni' , 'izlaz' ] ,
šablona = 'Unos: {unos} \n Izlaz: {izlaz}' ,
)
primjeri = [
{ 'ulazni' : 'sretan' , 'izlaz' : 'tužan' } ,
{ 'ulazni' : 'visok' , 'izlaz' : 'kratak' } ,
{ 'ulazni' : 'energičan' , 'izlaz' : 'letargičan' } ,
{ 'ulazni' : 'sunčano' , 'izlaz' : 'sumoran' } ,
{ 'ulazni' : 'vjetrovito' , 'izlaz' : 'smiriti' } ,
]
Korak 3: Izrada izbornika primjera
Sada počnite graditi MMR primjer selektora pomoću metode MaxMarginalRelevanceExampleSelector() koja sadrži različite parametre:
primjer_selektor = MaxMarginalRelevanceExampleSelector. iz_primjera (primjeri ,
OpenAIEembeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
primjer_selektor = primjer_selektor ,
primjer_prompt = primjer_prompt ,
prefiks = 'Navedite antonim za svaki unos' ,
sufiks = 'Unos: {pridjev} \n Izlaz:' ,
ulazne_varijable = [ 'pridjev' ] ,
)
Korak 4: Testiranje izbornika primjera MMR-a
Testirajte primjer selektora maksimalne marginalne relevantnosti MMR pozivanjem u metodi print() s unosom:
ispisati ( mmr_prompt. format ( pridjev = 'zabrinut' ) )
Korak 5: Korištenje SemanticSimilarity
Ovaj korak koristi metodu SemanticSimilarityExampleSelector(), a zatim koristi metodu FewShotPromptTemplate() koju podržava LangChain:
primjer_selektor = SemanticSimilarityExampleSelector. iz_primjera (primjeri ,
OpenAIEembeddings ( ) ,
FAISS ,
k = 2 ,
)
sličan_prompt = FewShotPromptTemplate (
primjer_selektor = primjer_selektor ,
primjer_prompt = primjer_prompt ,
prefiks = 'Navedite antonim za svaki unos' ,
sufiks = 'Unos: {pridjev} \n Izlaz:' ,
ulazne_varijable = [ 'pridjev' ] ,
)
ispisati ( sličan_prompt. format ( pridjev = 'zabrinut' ) )
To je sve o korištenju odabira prema maksimalnoj marginalnoj relevantnosti ili MMR-u u LangChainu.
Zaključak
Da biste koristili selektor primjera odabira prema maksimalnoj graničnoj relevantnosti ili MMR u LangChainu, instalirajte potrebne module. Nakon toga uvezite biblioteke za izradu skupa primjera pomoću predloška ulaznog i izlaznog odzivnika. Izgradite selektor primjera MMR-a da biste ga testirali pomoću selektora primjera MMR-a i metode FewShotPromptTemplate() kako biste dobili relevantne rezultate. Ovaj je vodič ilustrirao postupak korištenja primjera selektora odabira prema MMR-u u LangChainu.