Esboço rápido
Esta postagem irá demonstrar o seguinte:
- Como adicionar memória ao agente OpenAI Functions em LangChain
- Etapa 1: instalação de estruturas
- Passo 2: Configurando Ambientes
- Passo 3: Importando Bibliotecas
- Etapa 4: Construindo Banco de Dados
- Etapa 5: upload do banco de dados
- Etapa 6: configurando o modelo de linguagem
- Passo 7: Adicionando Memória
- Etapa 8: inicializando o agente
- Etapa 9: Testando o Agente
- Conclusão
Como adicionar memória ao agente OpenAI Functions em LangChain?
OpenAI é uma organização de Inteligência Artificial (IA) formada em 2015 e no início era uma organização sem fins lucrativos. A Microsoft tem investido muita fortuna desde 2020, à medida que o Processamento de Linguagem Natural (PNL) com IA vem crescendo com chatbots e modelos de linguagem.
A construção de agentes OpenAI permite que os desenvolvedores obtenham resultados mais legíveis e diretos da Internet. Adicionar memória aos agentes permite que eles entendam melhor o contexto do chat e também armazenem as conversas anteriores em sua memória. Para aprender o processo de adição de memória ao agente de funções OpenAI em LangChain, basta seguir as seguintes etapas:
Etapa 1: instalação de estruturas
Primeiro de tudo, instale as dependências LangChain do “Langchain-experimental” framework usando o seguinte código:
pip instalar langchain - experimental
Instale o “resultados de pesquisa do Google” módulo para obter os resultados da pesquisa do servidor do Google:
pip instalar google - procurar - resultados
Além disso, instale o módulo OpenAI que pode ser usado para construir os modelos de linguagem no LangChain:
pip instalar openai
Passo 2: Configurando Ambientes
Depois de obter os módulos, configure os ambientes usando as chaves API do OpenAI e SerpAPI contas:
importar osimportar Obter passagem
os. aproximadamente [ 'OPENAI_API_KEY' ] = Obter passagem. Obter passagem ( 'Chave de API OpenAI:' )
os. aproximadamente [ 'SERPAPI_API_KEY' ] = Obter passagem. Obter passagem ( 'Chave de API Serpapi:' )
Execute o código acima para inserir as chaves API para acessar o ambiente e pressione Enter para confirmar:
Passo 3: Importando Bibliotecas
Agora que a configuração foi concluída, use as dependências instaladas do LangChain para importar as bibliotecas necessárias para construir a memória e os agentes:
de langchain. correntes importar LMMathChainde langchain. llms importar OpenAI
#get biblioteca para pesquisar no Google pela internet
de langchain. Serviços de utilidade pública importar SerpAPIWrapper
de langchain. Serviços de utilidade pública importar Banco de dados SQL
de langchain_experimental. SQL importar SQLDatabaseChain
#get biblioteca para construir ferramentas para inicializando o agente
de langchain. agentes importar Tipo de agente , Ferramenta , agente_de_inicialização
de langchain. chat_models importar ChatOpenAI
Etapa 4: Construindo Banco de Dados
Para prosseguir com este guia, precisamos construir o banco de dados e conectar-nos ao agente para extrair respostas dele. Para construir o banco de dados, é necessário baixar o SQLite usando este guia e confirme a instalação usando o seguinte comando:
sqlite3Executando o comando acima no Terminal do Windows exibe a versão instalada do SQLite (3.43.2):
Depois disso, basta acessar o diretório do seu computador onde o banco de dados será construído e armazenado:
CD Área de trabalhocd meudb
sqlite3 Chinook. banco de dados
O usuário pode simplesmente baixar o conteúdo do banco de dados deste link no diretório e execute o seguinte comando para construir o banco de dados:
. ler Chinook_Sqlite. SQLSELECIONAR * DO LIMITE DO Artista 10 ;
O banco de dados foi construído com sucesso e o usuário pode pesquisar dados dele usando diferentes consultas:
Etapa 5: upload do banco de dados
Depois que o banco de dados for construído com sucesso, carregue o “.db” arquivo para o Google Collaboratory usando o seguinte código:
do Google. ET AL importar arquivoscarregado = arquivos. carregar ( )
Escolha o arquivo do sistema local clicando no botão 'Escolher os arquivos' botão após executar o código acima:
Após o upload do arquivo, basta copiar o caminho do arquivo que será utilizado na próxima etapa:
Etapa 6: configurando o modelo de linguagem
Construa o modelo de linguagem, cadeias, ferramentas e cadeias usando o seguinte código:
llm = ChatOpenAI ( temperatura = 0 , modelo = 'gpt-3.5-turbo-0613' )procurar = SerpAPIWrapper ( )
llm_math_chain = LMMathChain. de_llm ( llm = llm , detalhado = Verdadeiro )
banco de dados = Banco de dados SQL. de_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. de_llm ( llm , banco de dados , detalhado = Verdadeiro )
ferramentas = [
Ferramenta (
nome = 'Procurar' ,
função = procurar. correr ,
descrição = 'Faça perguntas direcionadas para obter respostas às perguntas sobre assuntos recentes' ,
) ,
Ferramenta (
nome = 'Calculadora' ,
função = llm_math_chain. correr ,
descrição = 'útil para responder/resolver problemas matemáticos' ,
) ,
Ferramenta (
nome = 'FooBar-DB' ,
função = db_chain. correr ,
descrição = 'útil para responder perguntas sobre FooBar e a entrada deve ser na forma de uma pergunta contendo contexto completo' ,
) ,
]
- O llm variável contém as configurações do modelo de linguagem usando o método ChatOpenAI() com o nome do modelo.
- A pesquisa variável contém o método SerpAPIWrapper() para construir as ferramentas para o agente.
- Construa o llm_math_chain para obter as respostas relacionadas ao domínio Matemática usando o método LLMMathChain().
- A variável db contém o caminho do arquivo que contém o conteúdo do banco de dados. O usuário precisa alterar apenas a última parte que é “conteúdo/Chinook.db” do caminho mantendo o “sqlite:///../../../../../” o mesmo.
- Construa outra cadeia para responder consultas do banco de dados usando o db_chain variável.
- Configurar ferramentas como procurar , calculadora , e FooBar-DB para pesquisar a resposta, responder questões matemáticas e consultas do banco de dados, respectivamente:
Passo 7: Adicionando Memória
Após configurar as funções OpenAI, basta construir e adicionar a memória ao agente:
de langchain. Comandos importar MensagensPlaceholderde langchain. memória importar ConversationBufferMemory
agente_kwargs = {
'mensagens_prompt_extra' : [ MensagensPlaceholder ( nome variável = 'memória' ) ] ,
}
memória = ConversationBufferMemory ( chave_de_memória = 'memória' , mensagens_retornadas = Verdadeiro )
Etapa 8: inicializando o agente
O último componente a construir e inicializar é o agente, contendo todos os componentes como llm , ferramenta , OPENAI_FUNCTIONS , e outros a serem usados neste processo:
agente = agente_de_inicialização (ferramentas ,
llm ,
agente = Tipo de agente. OPENAI_FUNCTIONS ,
detalhado = Verdadeiro ,
agente_kwargs = agente_kwargs ,
memória = memória ,
)
Etapa 9: Testando o Agente
Por fim, teste o agente iniciando o chat usando o botão “ oi ' mensagem:
agente. correr ( 'oi' )
Adicione algumas informações à memória executando o agente com ela:
agente. correr ( 'meu nome é John Snow' )
Agora, teste a memória fazendo a pergunta sobre o chat anterior:
agente. correr ( 'qual é o meu nome' )O agente respondeu com o nome obtido da memória, então a memória está funcionando com sucesso com o agente:
É tudo por agora.
Conclusão
Para adicionar memória ao agente de funções OpenAI em LangChain, instale os módulos para obter as dependências para importação das bibliotecas. Depois disso, basta construir o banco de dados e carregá-lo no notebook Python para que possa ser usado com o modelo. Configure o modelo, as ferramentas, as cadeias e o banco de dados antes de adicioná-los ao agente e inicializá-lo. Antes de testar a memória, crie-a usando ConversationalBufferMemory() e adicione-a ao agente antes de testá-la. Este guia elaborou como adicionar memória ao agente de funções OpenAI em LangChain.