BlogAtlas Vector Search eleito o banco de dados vetorial mais amado no relatório Retool State of AI de 2024Saiba mais >>
Desenvolvedor MongoDB
MongoDB
mais
Entre para seguir os tópicos
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
MongoDBchevron-right

Introdução ao LangChain e ao Atlas Vector Search do MongoDB Atlas

Anaiya Raisinghani, Prakul Agarwal5 min read • Published Dec 08, 2023 • Updated Jan 12, 2024
MongoDB
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Neste tutorial, aproveitaremos o poder do LangChain, MongoDB e OpenAI para ingerir e processar dados criados após o ChatGPT-3.5. Acompanhe o processo para criar seu próprio chatbot capaz de ler documento extensos e fornecer respostas perspicazes a queries complexas!

O que é LangChain?

O LangChain é uma biblioteca Python versátil que permite que os desenvolvedores criem aplicativos baseados em grandes modelos de linguagem (LLMs). Ele ajuda a facilitar a integração de vários LLMs (ChatGPT-3, Hugging Face, etc.) em outras aplicações e a entender e utilizar informações recentes. Como mencionado no nome, LangChain encadeia diferentes componentes, que são chamados de links, para criar um fluxo de trabalho. Cada link individual executa uma tarefa diferente no processo, como acessar uma fonte de dados, chamar um modelo de linguagem, processar a saída, etc. Como a ordem desses links pode ser movida para criar diferentes fluxos de trabalho, o LangChain é superflexível e pode ser usado para criar uma grande variedade de aplicativos.

LangChain e MongoDB

O MongoDB se integra bem ao LangChain por causa dos recursos de pesquisa semântica fornecidos pelo mecanismo de busca vetorial do MongoDB Atlas. Isso permite a combinação perfeita, os usuários podem consultar com base no significado e não por palavras específicas! Além da integração MongoDB LangChain Python e MongoDB LangChain Javascript, o MongoDB recentemente fez parceria com a LangChain no lançamento dos modelos LangChain para facilitar a criação de aplicativos baseados em IA.

Pré-requisitos para o sucesso

  • Conta do MongoDB Atlas
  • Conta da API OpenAI e sua chave de API
  • IDE de sua preferência (este tutorial usa Google Colab)

Mergulhando no tutorial

Nossa primeira etapa é garantir que estamos baixando todos os pacotes essenciais de que precisamos para ter sucesso neste tutorial. No Google Colab, execute o seguinte comando:
Aqui, estamos instalando seis pacotes diferentes em um. O primeiro pacote é langchain (o pacote do framework que estamos usando para integrar os recursos do modelo de linguagem), pypdf (uma biblioteca para trabalhar com documentos PDF no Python), pymongo (o driver oficial do MongoDB para Python para podermos interagir com nosso banco de dados do nosso aplicativo), openai (para que possamos usar os modelos de linguagem do OpenAI), python-dotenv (uma biblioteca usada para ler pares de valores-chave de um arquivo .env) e tiktoken (um pacote para manuseio de token).

Configuração do ambiente

Depois que este comando for executado e nossos pacotes baixados com sucesso, vamos configurar nosso ambiente. Antes de executar esta etapa, certifique-se de ter salvo sua chave de API e sua string do MongoDB Atlas em um arquivo .env na raiz do seu projeto. A ajuda para encontrar sua string do MongoDB Atlas pode ser encontrada nos Docs.
Fique à vontade para dar o nome que quiser ao seu banco de dados, à sua coleção e até mesmo ao seu índice de pesquisa vetorial. Basta continuar a usar os mesmos nomes durante o tutorial. O sucesso desse bloco de código garante que o banco de dados e a coleção sejam criados em seu MongoDB cluster.

Carregando nossos dados

Vamos carregar o PDF GPT-4 Technical Report. Conforme mencionado acima, esse relatório foi publicado após a data limite de informações do ChatGPT da OpenAI, portanto, o modelo de aprendizado não foi treinado para responder perguntas sobre as informações incluídas neste documento de 100 páginas.
O pacote LangChain nos ajudará a responder a quaisquer perguntas que tenhamos sobre este PDF. Vamos carregar nossos dados:
Neste bloco de código, estamos carregando nosso PDF, usando um comando para fazer a divisão dos dados em várias partes e, em seguida, inserindo os documentos em nossa coleção para que possamos usar nosso Atlas Search nos dados inseridos.
Para testar e ter certeza de que nossos dados estão carregados corretamente, execute um teste:
Sua saída deve ser semelhante a esta: saída do nosso comando docs[0] para ver se nossos dados estão carregados corretamente

Criando nosso índice de pesquisa

Vamos até a interface de usuário do MongoDB Atlas para criar nosso índice de pesquisa vetorial. Primeiro, clique na aba "Search" e, em seguida, em "Create Search Index.". Você será direcionado para esta página. Clique em "JSON Editor. "
clique no editor JSON na tela
Certifique-se de que o banco de dados e a coleção corretos estejam pressionados e de que você tenha escolhido o nome correto do índice, que foi definido acima. Em seguida, cole o índice de pesquisa que estamos usando para este tutorial:
Esses campos devem especificar o nome do campo em nossos documentos. Com embedding, estamos especificando que as dimensões do modelo usado para incorporar são 1536, e a função de similaridade usada para encontrar os vizinhos k mais próximos é cosine. É crucial que as dimensões em nosso índice de pesquisa correspondam às do modelo de linguagem que estamos usando para incorporar nossos dados.
Confira nossa documentação do Vector Search para obter mais informações sobre as definições de configuração do índice.
Depois de configurado, ficará assim: configuração adequada do nosso índice de pesquisa vetorial
Crie o índice de pesquisa e deixe-o carregar.

Executando queries em nossos dados

Agora, estamos prontos para consultar nossos dados! Neste tutorial, mostraremos várias maneiras de executar queries. Vamos utilizar filtros junto com o Vector Search para ver nossos resultados. Vamos começar. Certifique-se de que está conectado ao seu cluster antes de tentar executar a query, caso contrário, ela não funcionará.

Pesquisa semântica no LangChain

Para começar, vamos primeiro ver um exemplo usando o LangChain para realizar uma pesquisa semântica:
Isso dá o resultado: saída da pesquisa semântica do LangChain
E nos fornece os resultados relevantes que correspondem semanticamente à intenção por trás da pergunta. Agora, vamos ver o que acontece quando fazemos uma pergunta usando o LangChain.

Pergunta e resposta no LangChain

Execute esse bloco de código para ver o que acontece quando fazemos perguntas para ver nossos resultados:
Após a execução, obtemos o resultado:
Isso fornece uma resposta sucinta à nossa pergunta, com base na fonte de dados fornecida.

Conclusão

Parabéns! Você carregou com sucesso dados externos e os consultou usando o LangChain e o MongoDB. Para obter mais informações sobre o MongoDB Vector Search, visite nossa documentação

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Avaliação de desempenho do esquema no MongoDB usando o PerformanceBench


Abr. 02, 2024 | 20 minutos de leitura
Tutorial

Analise dados de séries temporais com Python e MongoDB usando PyMongoArrow e Pandas


Set. 21, 2023 | 6 minutos de leitura
Artigo

Implementando o direito ao apagamento com o CSFLE


Mar. 08, 2023 | 7 minutos de leitura
Artigo

Inúmeras coleções


Jun. 12, 2024 | 6 minutos de leitura
Sumário