Este guia ilustrará o processo de uso de um buffer de resumo de conversa no LangChain.
Como usar um buffer de resumo de conversa no LangChain?
A conversa pode compreender múltiplas mensagens que são como uma interação entre humano e máquina e o buffer pode armazenar as mensagens mais recentes. O ConversaSummaryBufferMemory A biblioteca é usada para combinar ambos os conceitos, como armazenar as mensagens mais recentes e extrair seu resumo.
Para aprender o processo de uso do buffer de resumo de conversa no LangChain, basta seguir o seguinte guia:
Etapa 1: instalar módulos
Primeiro, instale o módulo LangChain usando o comando pip para obter as bibliotecas necessárias:
pip instalar langchain
Instale o tokenizer tiktoken que pode ser usado para dividir os documentos de texto em pequenos pedaços:
pip instalar tiktoken
Depois disso, instale os módulos OpenAI que podem ser usados para construir modelos de linguagem como LLMs e cadeias:
pip instalar openai
Agora, configurar o ambiente obtendo a chave API da conta OpenAI e usando-a no modelo:
importar osimportar Obter passagem
os . aproximadamente [ 'OPENAI_API_KEY' ] = Obter passagem . Obter passagem ( 'Chave de API OpenAI:' )
Etapa 2: usando o buffer de resumo de conversa
Inicie o processo de uso do buffer de resumo de conversa importando as bibliotecas para construir o LLM usando o método OpenAI():
de cadeia longa. memória importar ConversaSummaryBufferMemoryde cadeia longa. llms importar OpenAI
llm = OpenAI ( )
Construa a memória usando o método ConversationSummaryBufferMemory() e depois armazene a conversa na memória:
memória = ConversaSummaryBufferMemory ( llm = llm , max_token_limit = 10 )memória. salvar_contexto ( { 'entrada' : 'olá' } , { 'saída' : 'Como vai' } )
memória. salvar_contexto ( { 'entrada' : 'Eu estou bem e você' } , { 'saída' : 'não muito' } )
Agora, execute a memória chamando o carregar_memória_variáveis () método para extrair mensagens da memória:
memória. carregar_memória_variáveis ( { } )
Agora, use o resumo do buffer da conversa para configurar o buffer limitando o número de mensagens a serem armazenadas no buffer. Depois disso, extraia o resumo dessas mensagens armazenadas no buffer e depois armazene a conversa na memória:
memória = ConversaSummaryBufferMemory (llm = llm , max_token_limit = 10 , mensagens_retornadas = Verdadeiro
)
memória. salvar_contexto ( { 'entrada' : 'olá' } , { 'saída' : 'Como vai' } )
memória. salvar_contexto ( { 'entrada' : 'Eu estou bem e você' } , { 'saída' : 'não muito' } )
Obtenha o resumo das mensagens anteriores armazenadas na memória buffer usando o seguinte código:
mensagens = memória. chat_memory . mensagensresumo_anterior = ''
memória. prever_novo_resumo ( mensagens , resumo_anterior )
Etapa 3: usando o buffer de resumo de conversa em uma cadeia
Construa as correntes usando o Cadeia de Conversa() método contendo o valor da memória buffer para armazenar a mensagem nele:
de cadeia longa. correntes importar Cadeia de conversaçãoconversa_com_resumo = Cadeia de conversação (
llm = llm ,
memória = ConversaSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
detalhado = Verdadeiro ,
)
conversa_com_resumo. prever ( entrada = 'Oi, e ai?' )
Forneça a entrada na forma de texto usando o método predizer() para obter o resumo da conversa:
conversa_com_resumo. prever ( entrada = 'Apenas trabalhando no projeto de PNL' )
Use a saída do modelo e adicione mais dados usando as mensagens na memória buffer e exiba seu resumo:
conversa_com_resumo. prever ( entrada = 'sim, é! Estou trabalhando no design de LLMs' )
O resumo é que o resultado será facilmente compreensível e mais amigável e é mais adequado para chatbots:
conversa_com_resumo. prever (entrada = 'Quero usar LangChain! Você já ouviu falar?'
)
Trata-se de usar o buffer de resumo da conversa no LangChain.
Conclusão
Para usar a memória buffer de resumo de conversas no LangChain, basta instalar os módulos ou estruturas para obter as bibliotecas necessárias. Depois que as bibliotecas forem importadas, construa os LLMs ou chatbots para usar a função ConverstaionSummaryBufferMemory() para obter o resumo da conversa. A memória buffer é usada para limitar o número de mensagens armazenadas na memória a serem usadas para extrair o resumo. Esta postagem elaborou o processo de uso da memória buffer de resumo de conversas no LangChain.