Come utilizzare la selezione in base alla massima rilevanza marginale (MMR) in LangChain?

Come Utilizzare La Selezione In Base Alla Massima Rilevanza Marginale Mmr In Langchain



LangChain è un modulo che può essere utilizzato per costruire modelli linguistici per interagire con gli esseri umani in linguaggi naturali. Gli esseri umani forniscono il prompt in forma testuale e il modello utilizza un selettore di esempio per estrarre l'output utilizzando la query. I selettori di esempio vengono utilizzati per recuperare l'output in base all'input scegliendo l'esempio pertinente più vicino alla query o al prompt.

Questa guida illustrerà il processo di utilizzo del selettore di esempio Select by Maximal Marginal Relevance in LangChain.

Come utilizzare la selezione in base alla massima rilevanza marginale (MMR) in LangChain?

Il selettore di esempi di rilevanza marginale massima viene utilizzato per estrarre informazioni utilizzando la somiglianza coseno del prompt e dell'esempio. La somiglianza del coseno viene calcolata dopo aver applicato i metodi di incorporamento ai dati e convertito il testo in forma numerica.







Per apprendere il processo di utilizzo del selettore di esempio MMR in LangChain, segui semplicemente i passaggi elencati:



Passaggio 1: installare i moduli



Avvia il processo installando le dipendenze di LangChain utilizzando il comando pip:





pip installa langchain

Installa il modulo OpenAI per utilizzare il suo ambiente per applicare il metodo OpenAIEmbedding():



pip installa openai

Installa il framework FAIISS che può essere utilizzato per ottenere l'output utilizzando la somiglianza semantica:

pip installa faiss-gpu

Ora installa il tokenizer tiktoken per dividere il testo in blocchi più piccoli utilizzando il seguente codice:

pip installa tiktoken

Passaggio 2: utilizzo di librerie ed esempi

Il passaggio successivo consiste nell'importare le librerie per creare un selettore di esempio MMR, FAISS, OpenAIEmbeddings e PromptTemplate. Dopo aver importato le librerie, crea semplicemente un set di esempi che fornisca input e output per i rispettivi input in più array:

da langchain. richiede . esempio_selettore importare (
MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
da langchain. vectorstores importare FAISS
da langchain. incastri importare OpenAIEmbeddings
da langchain. richiede importare FewShotPromptTemplate , Modello Prompt

esempio_prompt = Modello Prompt (
input_variabili = [ 'ingresso' , 'produzione' ] ,
modello = 'Input: {input} \N Uscita: {uscita}' ,
)

esempi = [
{ 'ingresso' : 'Contento' , 'produzione' : 'triste' } ,
{ 'ingresso' : 'Alto' , 'produzione' : 'corto' } ,
{ 'ingresso' : 'energico' , 'produzione' : 'letargico' } ,
{ 'ingresso' : 'soleggiato' , 'produzione' : 'cupola' } ,
{ 'ingresso' : 'ventoso' , 'produzione' : 'calma' } ,
]

Passaggio 3: selettore di esempi di costruzione

Ora, inizia a creare il selettore di esempio MMR utilizzando il metodo MaxMarginalRelevanceExampleSelector() contenente diversi parametri:

esempio_selettore = MaxMarginalRelevanceExampleSelector. da_esempi (
esempi ,
OpenAIEmbeddings ( ) ,
FAISS ,
K = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
esempio_selettore = esempio_selettore ,
esempio_prompt = esempio_prompt ,
prefisso = 'Dai l'antonimo di ogni input' ,
suffisso = 'Input: {aggettivo} \N Produzione:' ,
input_variabili = [ 'aggettivo' ] ,
)

Passaggio 4: testare il selettore di esempi MMR

Testare il selettore di esempio MMR di massima rilevanza marginale chiamandolo nel metodo print() con l'input:

stampa ( mmr_prompt. formato ( aggettivo = 'preoccupato' ) )

Passaggio 5: utilizzo della similarità semantica

Questo passaggio utilizza il metodo SemanticSimilarityExampleSelector() e quindi utilizza il metodo FewShotPromptTemplate() supportato da LangChain:

esempio_selettore = SemanticSimilarityExampleSelector. da_esempi (
esempi ,
OpenAIEmbeddings ( ) ,
FAISS ,
K = 2 ,
)
simile_prompt = FewShotPromptTemplate (
esempio_selettore = esempio_selettore ,
esempio_prompt = esempio_prompt ,
prefisso = 'Dai l'antonimo di ogni input' ,
suffisso = 'Input: {aggettivo} \N Produzione:' ,
input_variabili = [ 'aggettivo' ] ,
)
stampa ( simile_prompt. formato ( aggettivo = 'preoccupato' ) )

Si tratta di utilizzare la selezione in base alla massima rilevanza marginale o MMR in LangChain.

Conclusione

Per utilizzare la selezione in base alla massima rilevanza marginale o il selettore di esempio MMR in LangChain, installare i moduli richiesti. Successivamente, importa le librerie per creare il set di esempi utilizzando il modello di prompt di input e output. Crea il selettore di esempio MMR per testarlo utilizzando il selettore di esempio MMR e il metodo FewShotPromptTemplate() per ottenere output pertinente. Questa guida ha illustrato il processo di utilizzo del selettore di esempio select-by-MMR in LangChain.