Como usar a memória da entidade no LangChain?

Como Usar A Memoria Da Entidade No Langchain



LangChain é um módulo que permite a criação de modelos capazes de processar linguagens naturais, que são as linguagens que os humanos utilizam para comunicação. LangChain contém todos os módulos e dependências necessários que podem ser usados ​​para construir grandes modelos de linguagem ou chatbots. Esses modelos precisam ser treinados para aprender a linguagem natural para gerar textos a partir das consultas fornecidas pelo usuário.

Este guia ilustrará o processo de uso de memória de entidade em LangChain.

Como usar a memória da entidade no LangChain?

A entidade é usada para manter os principais fatos armazenados na memória para extrair quando solicitados pelo ser humano por meio de consultas/solicitações. Para aprender o processo de utilização da memória da entidade no LangChain, basta visitar o seguinte guia:







Etapa 1: instalar módulos

Primeiro, instale o módulo LangChain usando o comando pip para obter suas dependências:



pip instalar langchain



Depois disso, instale o módulo OpenAI para obter suas bibliotecas para construção de LLMs e modelos de chat:





pip instalar openai

Configure o ambiente OpenAI usando a chave API que pode ser extraída da conta OpenAI:



importar os

importar Obter passagem

os . aproximadamente [ 'OPENAI_API_KEY' ] = Obter passagem . Obter passagem ( 'Chave de API OpenAI:' )

Etapa 2: usando memória de entidade

Para usar a memória da entidade, importe as bibliotecas necessárias para construir o LLM usando o método OpenAI():

de cadeia longa. llms importar OpenAI

de cadeia longa. memória importar ConversationEntityMemory

llm = OpenAI ( temperatura = 0 )

Depois disso, defina o memória variável usando o método ConversationEntityMemory() para treinar o modelo usando as variáveis ​​de entrada e saída:

memória = ConversationEntityMemory ( llm = llm )

_entrada = { 'entrada' : 'Joe are Root está fazendo um projeto' }

memória. carregar_memória_variáveis ( _entrada )

memória. salvar_contexto (

_entrada ,

{ 'saída' : 'Ótimo! Que tipo de projeto é esse?' }

)

Agora, teste a memória usando a consulta/prompt no entrada variável chamando o método load_memory_variables():

memória. carregar_memória_variáveis ( { 'entrada' : 'quem é raiz' } )

Agora, dê mais algumas informações para que o modelo possa adicionar mais algumas entidades na memória:

memória = ConversationEntityMemory ( llm = llm , mensagens_retornadas = Verdadeiro )

_entrada = { 'entrada' : 'Joe are Root está fazendo um projeto' }

memória. carregar_memória_variáveis ( _entrada )

memória. salvar_contexto (

_entrada ,

{ 'saída' : 'Ótimo! Que tipo de projeto é esse' }

)

Execute o código a seguir para obter a saída usando as entidades armazenadas na memória. É possível através do entrada contendo o prompt:

memória. carregar_memória_variáveis ( { 'entrada' : 'quem é Joe' } )

Etapa 3: usando memória de entidade em uma cadeia

Para usar a memória da entidade após construir uma cadeia, basta importar as bibliotecas necessárias usando o seguinte bloco de código:

de cadeia longa. correntes importar Cadeia de conversação

de cadeia longa. memória importar ConversationEntityMemory

de cadeia longa. memória . incitar importar ENTITY_MEMORY_CONVERSATION_TEMPLATE

de pydantico importar Modelo Base

de digitando importar Lista , Ditado , Qualquer

Construa o modelo de conversação usando o método ConversationChain() usando argumentos como llm:

conversação = Cadeia de conversação (

llm = llm ,

detalhado = Verdadeiro ,

incitar = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,

memória = ConversationEntityMemory ( llm = llm )

)

Chame o método conversa.predict() com a entrada inicializada com o prompt ou consulta:

conversação. prever ( entrada = 'Joe are Root está fazendo um projeto' )

Agora, obtenha a saída separada para cada entidade descrevendo as informações sobre ela:

conversação. memória . entidade_store . loja

Use a saída do modelo para fornecer a entrada para que o modelo possa armazenar mais informações sobre essas entidades:

conversação. prever ( entrada = “Eles estão tentando adicionar estruturas de memória mais complexas ao Langchain” )

Após fornecer as informações que estão sendo armazenadas na memória, basta fazer a pergunta para extrair as informações específicas sobre as entidades:

conversação. prever ( entrada = 'O que você sabe sobre Joe e Root' )

Etapa 4: testando o armazenamento de memória

O usuário pode inspecionar os armazenamentos de memória diretamente para obter as informações neles armazenadas usando o seguinte código:

de imprimir importar imprimir

imprimir ( conversação. memória . entidade_store . loja )

Fornece mais informações a serem armazenadas na memória, pois mais informações fornecem resultados mais precisos:

conversação. prever ( entrada = 'Root fundou uma empresa chamada HJRS' )

Extraia informações do armazenamento de memória após adicionar mais informações sobre as entidades:

de imprimir importar imprimir

imprimir ( conversação. memória . entidade_store . loja )

A memória contém informações sobre várias entidades como HJRS, Joe, LangChain e Root:

Agora extraia informações sobre uma entidade específica usando a consulta ou prompt definido na variável de entrada:

conversação. prever ( entrada = 'O que você sabe sobre Root' )

Trata-se de usar a memória da entidade usando a estrutura LangChain.

Conclusão

Para usar a memória da entidade no LangChain, basta instalar os módulos necessários para importar as bibliotecas necessárias para construir modelos após configurar o ambiente OpenAI. Depois disso, construa o modelo LLM e armazene entidades na memória fornecendo informações sobre as entidades. O usuário também pode extrair informações usando essas entidades e construir essas memórias em cadeias com informações agitadas sobre as entidades. Esta postagem elaborou o processo de uso da memória da entidade no LangChain.