Kuinka käyttää valintaa suurimman marginaalirelevanssin mukaan (MMR) LangChainissa?

Kuinka Kayttaa Valintaa Suurimman Marginaalirelevanssin Mukaan Mmr Langchainissa



LangChain on moduuli, jonka avulla voidaan rakentaa kielimalleja vuorovaikutuksessa ihmisten kanssa luonnollisilla kielillä. Ihmiset tarjoavat kehotteen tekstimuodossa ja malli käyttää esimerkkivalitsinta tulosteen poimimiseen kyselyn avulla. Esimerkkivalitsimia käytetään tulosteen hakemiseen syötteen perusteella valitsemalla kyselyä tai kehotetta lähinnä oleva relevantti esimerkki.

Tämä opas havainnollistaa Select by Maximal Marginal Relevance -esimerkkivalitsimen käyttöä LangChainissa.

Kuinka käyttää valintaa suurimman marginaalirelevanssin mukaan (MMR) LangChainissa?

Maksimaalisen marginaalirelevanssin esimerkkivalitsinta käytetään poimimaan tietoa käyttämällä kehotteen ja esimerkin kosinin samankaltaisuutta. Kosinin samankaltaisuus lasketaan sen jälkeen, kun dataan on sovellettu upotusmenetelmiä ja muutettu teksti numeeriseen muotoon.







Jos haluat oppia käyttämään MMR-esimerkkivalitsinta LangChainissa, käy läpi luetellut vaiheet:



Vaihe 1: Asenna moduulit



Aloita prosessi asentamalla LangChainin riippuvuudet pip-komennolla:





pip asennus langchain

Asenna OpenAI-moduuli käyttääksesi sen ympäristöä OpenAIEMbedding()-menetelmän soveltamiseen:



pip install openai

Asenna FAISS-kehys, jota voidaan käyttää tulosteen saamiseksi semanttisen samankaltaisuuden avulla:

pip asentaa faiss-gpu

Asenna nyt tiktoken-tokenizer jakaaksesi tekstin pienemmiksi paloiksi seuraavalla koodilla:

pip asentaa tiktoken

Vaihe 2: Kirjastojen ja esimerkkien käyttäminen

Seuraava vaihe on tuoda kirjastoja MMR-esimerkkivalitsimen, FAISS-, OpenAIEmbeddings- ja PromptTemplate-luokituksen rakentamista varten. Kun olet tuonut kirjastot, luo yksinkertaisesti esimerkkijoukko, joka antaa syötteitä ja tulosteita vastaaville syötteille useissa taulukoissa:

alkaen langchain. kehotteita . esimerkki_valitsin tuonti (
MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
alkaen langchain. vektorivarastot tuonti FAISS
alkaen langchain. upotukset tuonti OpenAIEembeddings
alkaen langchain. kehotteita tuonti FewShotPromptTemplate , PromptTemplate

esimerkki_kehote = PromptTemplate (
input_variables = [ 'syöttö' , 'lähtö' ] ,
sapluuna = 'Syöte: {input} \n Lähtö: {output}' ,
)

esimerkkejä = [
{ 'syöttö' : 'onnellinen' , 'lähtö' : 'surullinen' } ,
{ 'syöttö' : 'pitkä' , 'lähtö' : 'lyhyt' } ,
{ 'syöttö' : 'energinen' , 'lähtö' : 'letargia' } ,
{ 'syöttö' : 'aurinkoinen' , 'lähtö' : 'synkkä' } ,
{ 'syöttö' : 'tuulinen' , 'lähtö' : 'rauhoittaa' } ,
]

Vaihe 3: Rakenna esimerkkivalitsin

Aloita nyt MMR-esimerkkivalitsimen rakentaminen käyttämällä MaxMarginalRelevanceExampleSelector()-menetelmää, joka sisältää erilaisia ​​parametreja:

esimerkki_valitsin = MaxMarginalRelevanceExampleSelector. from_examples (
esimerkkejä ,
OpenAIEembeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
esimerkki_valitsin = esimerkki_valitsin ,
esimerkki_kehote = esimerkki_kehote ,
etuliite = 'Anna jokaisen syötteen antonyymi' ,
pääte = 'Syöte: {adjektiivi} \n Lähtö:' ,
input_variables = [ 'adjektiivi' ] ,
)

Vaihe 4: MMR-esimerkkivalitsimen testaus

Testaa Maximal Marginal Relevance MMR-esimerkkivalitsinta kutsumalla sitä print()-menetelmässä syötteellä:

Tulosta ( mmr_prompt. muoto ( adjektiivi = 'huolestunut' ) )

Vaihe 5: SemanticSimilarityn käyttäminen

Tässä vaiheessa käytetään SemanticSimilarityExampleSelector()-menetelmää ja sitten FewShotPromptTemplate()-menetelmää, jota LangChain tukee:

esimerkki_valitsin = SemanticSimilarityExampleSelector. from_examples (
esimerkkejä ,
OpenAIEembeddings ( ) ,
FAISS ,
k = 2 ,
)
samankaltainen_kehote = FewShotPromptTemplate (
esimerkki_valitsin = esimerkki_valitsin ,
esimerkki_kehote = esimerkki_kehote ,
etuliite = 'Anna jokaisen syötteen antonyymi' ,
pääte = 'Syöte: {adjektiivi} \n Lähtö:' ,
input_variables = [ 'adjektiivi' ] ,
)
Tulosta ( samankaltainen_kehote. muoto ( adjektiivi = 'huolestunut' ) )

Siinä on kyse Maximal Marginal Relevance -valinnan tai MMR:n käyttämisestä LangChainissa.

Johtopäätös

Jos haluat käyttää Select by Maximal Marginal Relevance- tai MMR-esimerkkivalitsinta LangChainissa, asenna tarvittavat moduulit. Tuo sen jälkeen kirjastot luodaksesi esimerkkijoukon käyttämällä syöttö- ja tuloskehotemallia. Rakenna MMR-esimerkkivalitsin testataksesi sitä käyttämällä MMR-esimerkkivalitsinta ja FewShotPromptTemplate()-menetelmää saadaksesi asiaankuuluvan tulosteen. Tämä opas on havainnollistanut prosessia MMR-esimerkkivalitsimen käyttämisestä LangChainissa.