Kuidas kasutada LangChainis maksimaalse marginaalse asjakohasuse (MMR) valikut?

Kuidas Kasutada Langchainis Maksimaalse Marginaalse Asjakohasuse Mmr Valikut



LangChain on moodul, mida saab kasutada keelemudelite loomiseks, et suhelda inimestega loomulikes keeltes. Inimesed esitavad viipa tekstilisel kujul ja mudel kasutab päringu abil väljundi eraldamiseks näidisvalijat. Näidisvalijaid kasutatakse väljundi toomiseks sisendi põhjal, valides päringule või viipale lähima asjakohase näite.

See juhend illustreerib maksimaalse marginaalse asjakohasuse valija valimise protsessi LangChainis.

Kuidas kasutada LangChainis maksimaalse marginaalse asjakohasuse (MMR) valikut?

Maksimaalse marginaalse asjakohasuse näite valijat kasutatakse teabe eraldamiseks, kasutades viipa ja näite koosinussarnasust. Koosinuse sarnasus arvutatakse pärast manustamismeetodite rakendamist andmetele ja teksti teisendamist numbrilisse vormi.







LangChainis MMR-i näidisvalija kasutamise õppimiseks tehke lihtsalt loetletud sammud:



1. samm: installige moodulid



Käivitage protsess, installides LangChaini sõltuvused, kasutades käsku pip:





pip install langchain

Installige OpenAI moodul, et kasutada selle keskkonda OpenAIEMbedding() meetodi rakendamiseks:



pip install openai

Installige FAISS-i raamistik, mida saab kasutada semantilise sarnasuse abil väljundi saamiseks:

pip installi faiss-gpu

Nüüd installige tiktoken tokenizer, et jagada teksti väiksemateks tükkideks, kasutades järgmist koodi:

pip install tiktoken

2. samm: teekide ja näidete kasutamine

Järgmine samm on teekide importimine MMR-i näidisvalija, FAISS-i, OpenAIEMbeddingsi ja PromptTemplate loomiseks. Pärast teekide importimist looge lihtsalt näidiskomplekt, mis annab sisendid ja väljundid nende vastavate sisendite jaoks mitmes massiivis:

alates langchain. viipasid . näite_valija importida (
Max MarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
alates langchain. vektorpoed importida FAISS
alates langchain. manused importida OpenAIEembeddings
alates langchain. viipasid importida FewShotPromptTemplate , PromptMall

example_prompt = PromptMall (
sisend_muutujad = [ 'sisend' , 'väljund' ] ,
malli = 'Sisend: {input} \n Väljund: {output}' ,
)

näiteid = [
{ 'sisend' : 'õnnelik' , 'väljund' : 'kurb' } ,
{ 'sisend' : 'pikk' , 'väljund' : 'lühike' } ,
{ 'sisend' : 'energiline' , 'väljund' : 'letargiline' } ,
{ 'sisend' : 'päikeseline' , 'väljund' : 'sünge' } ,
{ 'sisend' : 'tuuline' , 'väljund' : 'rahulik' } ,
]

3. samm: Näidiste valija

Nüüd alustage MMR-i näite valija loomist, kasutades MaxMarginalRelevanceExampleSelector() meetodit, mis sisaldab erinevaid parameetreid:

näite_valija = Max MarginalRelevanceExampleSelector. from_examples (
näiteid ,
OpenAIEembeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
näite_valija = näite_valija ,
example_prompt = example_prompt ,
eesliide = 'Andke iga sisendi antonüüm' ,
järelliide = 'Sisend: {omadussõna} \n Väljund:' ,
sisend_muutujad = [ 'omadussõna' ] ,
)

4. samm: MMR-i näite valija testimine

Testige maksimaalse marginaalse asjakohasuse MMR-i näite valijat, kutsudes seda print() meetodil sisendiga:

printida ( mmr_prompt. vormingus ( omadussõna = 'murelik' ) )

5. samm: SemanticSimilarity kasutamine

See samm kasutab meetodit SemanticSimilarityExampleSelector() ja seejärel meetodit FewShotPromptTemplate(), mida toetab LangChain:

näite_valija = SemanticSimilarityExampleSelector. from_examples (
näiteid ,
OpenAIEembeddings ( ) ,
FAISS ,
k = 2 ,
)
sarnane_viipa = FewShotPromptTemplate (
näite_valija = näite_valija ,
example_prompt = example_prompt ,
eesliide = 'Andke iga sisendi antonüüm' ,
järelliide = 'Sisend: {omadussõna} \n Väljund:' ,
sisend_muutujad = [ 'omadussõna' ] ,
)
printida ( sarnane_viipa. vormingus ( omadussõna = 'murelik' ) )

See kõik puudutab maksimaalse marginaalse asjakohasuse või MMR-i valikut LangChainis.

Järeldus

Maximal Marginal Relevance või MMR-i näidisvalija kasutamiseks LangChainis installige vajalikud moodulid. Pärast seda importige teegid, et luua näidiskomplekt, kasutades sisend- ja väljundviiba malli. Koostage MMR-i näite valija, et seda testida, kasutades asjakohase väljundi saamiseks MMR-i näite valijat ja meetodit FewShotPromptTemplate(). See juhend on illustreerinud MMR-i näidisvalija kasutamise protsessi LangChainis.