Como usar a seleção por relevância marginal máxima (MMR) em LangChain?

Como Usar A Selecao Por Relevancia Marginal Maxima Mmr Em Langchain



LangChain é um módulo que pode ser usado para construir modelos de linguagem para interagir com humanos em linguagens naturais. Os humanos fornecem o prompt na forma textual e o modelo usa um seletor de exemplo para extrair a saída usando a consulta. Seletores de exemplo são usados ​​para buscar a saída com base na entrada, escolhendo o exemplo relevante mais próximo da consulta ou prompt.

Este guia ilustrará o processo de uso do seletor de exemplo Select by Maximal Marginal Relevance no LangChain.

Como usar a seleção por relevância marginal máxima (MMR) em LangChain?

O seletor de exemplo Maximal Marginal Relevance é usado para extrair informações usando a similaridade de cosseno do prompt e do exemplo. A similaridade do cosseno é calculada após a aplicação dos métodos de incorporação aos dados e a conversão do texto em formato numérico.







Para aprender o processo de uso do seletor de exemplo MMR no LangChain, basta seguir as etapas listadas:



Etapa 1: instalar módulos



Inicie o processo instalando as dependências do LangChain usando o comando pip:





pip instalar langchain

Instale o módulo OpenAI para usar seu ambiente para aplicar o método OpenAIEmbedding():



pip instalar openai

Instale a estrutura FAISS que pode ser usada para obter a saída usando similaridade semântica:

pip instalar faiss-gpu

Agora, instale o tokenizer tiktoken para dividir o texto em partes menores usando o seguinte código:

pip instalar tiktoken

Etapa 2: usando bibliotecas e exemplos

A próxima etapa é importar bibliotecas para construir um seletor de exemplo MMR, FAISS, OpenAIEmbeddings e PromptTemplate. Após importar as bibliotecas, basta criar um conjunto de exemplos que forneça entradas e saídas para suas respectivas entradas em vários arrays:

de cadeia longa. Comandos . exemplo_seletor importar (
MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
de cadeia longa. lojas de vetores importar FAISS
de cadeia longa. incorporações importar OpenAIEbeddings
de cadeia longa. Comandos importar Modelo FewShotPrompt , Modelo de prompt

exemplo_prompt = Modelo de prompt (
variáveis_de_entrada = [ 'entrada' , 'saída' ] ,
modelo = 'Entrada: {entrada} \n Saída: {saída}' ,
)

exemplos = [
{ 'entrada' : 'feliz' , 'saída' : 'triste' } ,
{ 'entrada' : 'alto' , 'saída' : 'curto' } ,
{ 'entrada' : 'energético' , 'saída' : 'letárgico' } ,
{ 'entrada' : 'ensolarado' , 'saída' : 'sombrio' } ,
{ 'entrada' : 'ventoso' , 'saída' : 'calma' } ,
]

Etapa 3: Construindo o Seletor de Exemplo

Agora, comece a construir o seletor de exemplo MMR usando o método MaxMarginalRelevanceExampleSelector() contendo diferentes parâmetros:

exemplo_seletor = MaxMarginalRelevanceExampleSelector. de_exemplos (
exemplos ,
OpenAIEbeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = Modelo FewShotPrompt (
exemplo_seletor = exemplo_seletor ,
exemplo_prompt = exemplo_prompt ,
prefixo = 'Dê o antônimo de cada entrada' ,
sufixo = 'Entrada: {adjetivo} \n Saída:' ,
variáveis_de_entrada = [ 'adjetivo' ] ,
)

Etapa 4: testando o seletor de exemplo MMR

Teste o seletor de exemplo MMR de Relevância Marginal Máxima chamando-o no método print() com a entrada:

imprimir ( mmr_prompt. formatar ( adjetivo = 'preocupado' ) )

Etapa 5: usando semelhança semântica

Esta etapa usa o método SemanticSimilarityExampleSelector() e, em seguida, usa o método FewShotPromptTemplate() que é suportado pelo LangChain:

exemplo_seletor = SemanticSimilarityExampleSelector. de_exemplos (
exemplos ,
OpenAIEbeddings ( ) ,
FAISS ,
k = 2 ,
)
prompt_semelhante = Modelo FewShotPrompt (
exemplo_seletor = exemplo_seletor ,
exemplo_prompt = exemplo_prompt ,
prefixo = 'Dê o antônimo de cada entrada' ,
sufixo = 'Entrada: {adjetivo} \n Saída:' ,
variáveis_de_entrada = [ 'adjetivo' ] ,
)
imprimir ( prompt_semelhante. formatar ( adjetivo = 'preocupado' ) )

Trata-se de usar a seleção por Relevância Marginal Máxima ou MMR em LangChain.

Conclusão

Para usar o seletor de exemplo select by Maximal Marginal Relevance ou MMR no LangChain, instale os módulos necessários. Depois disso, importe as bibliotecas para construir o conjunto de exemplos usando o modelo de prompt de entrada e saída. Construa o seletor de exemplo MMR para testá-lo usando o seletor de exemplo MMR e o método FewShotPromptTemplate() para obter resultados relevantes. Este guia ilustrou o processo de uso do seletor de exemplo select-by-MMR no LangChain.