Aquesta guia il·lustrarà el procés d'ús del selector d'exemple de selecció per rellevància marginal màxima a LangChain.
Com utilitzar la selecció per rellevància marginal màxima (MMR) a LangChain?
El selector d'exemple de rellevància marginal màxima s'utilitza per extreure informació mitjançant la semblança del cosinus de l'indicador i l'exemple. La similitud del cosinus es calcula després d'aplicar els mètodes d'inserció a les dades i convertir el text en forma numèrica.
Per conèixer el procés d'utilitzar el selector d'exemple MMR a LangChain, simplement seguiu els passos indicats:
Pas 1: instal·leu els mòduls
Inicieu el procés instal·lant les dependències del LangChain mitjançant l'ordre pip:
pip install langchain
Instal·leu el mòdul OpenAI per utilitzar el seu entorn per aplicar el mètode OpenAIEmbedding():
pip install openai
Instal·leu el marc FAISS que es pot utilitzar per obtenir la sortida mitjançant la similitud semàntica:
pip install faiss-gpu
Ara, instal·leu el tiktoken tokenizer per dividir el text en trossos més petits mitjançant el codi següent:
pip install tiktoken
Pas 2: Ús de biblioteques i exemples
El següent pas és importar biblioteques per crear un selector d'exemple MMR, FAISS, OpenAIEmbeddings i PromptTemplate. Després d'importar les biblioteques, simplement creeu un conjunt d'exemples que proporcioni entrades i sortides per a les seves entrades respectives en múltiples matrius:
des de langchain. indicacions . exemple_selector importar (MaxMarginalRelevanceExampleSelector ,
Semantic SimilarityExampleSelector ,
)
des de langchain. botigues de vectors importar FAISS
des de langchain. incrustacions importar OpenAIEmbeddings
des de langchain. indicacions importar FewShotPromptTemplate , PromptTemplate
exemple_demanada = PromptTemplate (
variables_entrada = [ 'entrada' , 'sortida' ] ,
plantilla = 'Entrada: {entrada} \n Sortida: {sortida}' ,
)
exemples = [
{ 'entrada' : 'feliç' , 'sortida' : 'trist' } ,
{ 'entrada' : 'alt' , 'sortida' : 'curt' } ,
{ 'entrada' : 'energètic' , 'sortida' : 'letàrgic' } ,
{ 'entrada' : 'assolellat' , 'sortida' : 'ombrívol' } ,
{ 'entrada' : 'Ventós' , 'sortida' : 'calma' } ,
]
Pas 3: Creació d'un selector d'exemples
Ara, comenceu a crear el selector d'exemple MMR utilitzant el mètode MaxMarginalRelevanceExampleSelector() que conté diferents paràmetres:
exemple_selector = MaxMarginalRelevanceExampleSelector. de_exemples (exemples ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
exemple_selector = exemple_selector ,
exemple_demanada = exemple_demanada ,
prefix = 'Dóna l'antònim de cada entrada' ,
sufix = 'Entrada: {adjectiu} \n Sortida:' ,
variables_entrada = [ 'adjectiu' ] ,
)
Pas 4: prova del selector d'exemples MMR
Proveu el selector d'exemple MMR de rellevància marginal màxima cridant-lo al mètode print() amb l'entrada:
imprimir ( mmr_prompt. format ( adjectiu = 'preocupat' ) )
Pas 5: Ús de SemanticSimilarity
Aquest pas utilitza el mètode SemanticSimilarityExampleSelector() i després el mètode FewShotPromptTemplate() compatible amb LangChain:
exemple_selector = Semantic SimilarityExampleSelector. de_exemples (exemples ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
semblant_demanada = FewShotPromptTemplate (
exemple_selector = exemple_selector ,
exemple_demanada = exemple_demanada ,
prefix = 'Dóna l'antònim de cada entrada' ,
sufix = 'Entrada: {adjectiu} \n Sortida:' ,
variables_entrada = [ 'adjectiu' ] ,
)
imprimir ( semblant_demanada. format ( adjectiu = 'preocupat' ) )
Es tracta d'utilitzar la selecció per rellevància marginal màxima o MMR a LangChain.
Conclusió
Per utilitzar el selector d'exemple de selecció per rellevància marginal màxima o MMR a LangChain, instal·leu els mòduls necessaris. Després d'això, importeu les biblioteques per crear el conjunt d'exemples mitjançant la plantilla d'indicadors d'entrada i sortida. Creeu el selector d'exemple MMR per provar-lo mitjançant el selector d'exemple MMR i el mètode FewShotPromptTemplate() per obtenir una sortida rellevant. Aquesta guia ha il·lustrat el procés d'utilitzar el selector d'exemple select-by-MMR a LangChain.