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.