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.