EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Parte #1: Crie seu próprio Vector Search com o MongoDB Atlas e o Amazon SageMaker

Dominic Frei4 min read • Published Sep 18, 2024 • Updated Sep 18, 2024
IASem servidorAWSAtlasPesquisa vetorialPython
Ícone do FacebookÍcone do Twitterícone do linkedin
Logotipo do Amazon SageMaker
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Você já ouviu falar em aprendizado de máquina, modelos e AI, mas não sabe bem por onde começar? Deseja pesquisar seus dados semanticamente? Tem interesse em usar a pesquisa vetorial em seu aplicativo?
Então você veio ao lugar certo!
Esta série apresentará o MongoDB Atlas Vector Search e o Amazon SageMaker, e como usar os dois juntos para pesquisar semanticamente seus dados.
Este artigo é parte de uma série de três partes:
  1. Crie seu próprio Vector Search com o MongoDB Atlas e o Amazon SageMaker
Esta primeira parte da série se concentrará na arquitetura de tal aplicativo — ou seja, as partes de que você precisa, como elas estão conectadas e o que elas fazem.
Em seguida, as seguintes partes da série abordarão os detalhes de como os elementos individuais apresentados nessa arquitetura funcionam (Amazon SageMaker na Parte 2 e MongoDB Atlas Vector Search na Parte 3) e sua configuração e implementação reais. Se você estiver interessado apenas em uma dessas duas implementações, dê uma olhada rápida nas imagens da arquitetura e vá para a parte correspondente da série. Mas, para obter uma compreensão profunda do Vector Search, recomendável ler a série completa.
No entanto, vamos começar com o motivo: por que você deve usar o MongoDB Atlas Vector Search e o Amazon SageMaker?

Componentes do seu aplicativo.

No aprendizado de máquina, um modelo de incorporação é um tipo de modelo que aprende a representar objetos - como palavras, frases ou até mesmo documentos inteiros - como vetores em um espaço de alta dimensão. Esses vetores, chamados de embeddings, capturam as relações semânticas entre os objetos.
Por outro lado, um modelo de linguagem grande, que é um termo do qual você já deve ter escutado, é projetado para entender e gerar texto semelhante ao humano. Ele descobre padrões e relacionamentos dentro da linguagem processando grandes quantidades de dados de texto. Embora também gere incorporações como uma representação interna, o objetivo principal é entender e gerar texto coerente.
Os modelos de incorporação são frequentemente usados em tarefas como processamento de linguagem natural (NLP), onde a compreensão das relações semânticas é crucial. Por exemplo, os embeddings de palavras podem ser usados para encontrar semelhanças entre palavras com base em seu uso contextual.
Em resumo, os modelos de incorporação se concentram na representação de objetos de maneira significativa em um espaço vetorial, enquanto os grandes modelos de linguagem são mais versáteis, lidando com uma ampla gama de tarefas relacionadas à linguagem, entendendo e gerando texto.
Para nossas necessidades neste aplicativo, um modelo de incorporação é suficiente. Em particular, usaremos o All MiniLM L6 v2 da Abraçando a Face.
O Amazon SageMaker não é apenas mais um serviço da AWS; é uma plataforma versátil projetada por desenvolvedores, para desenvolvedores. Ele nos permite assumir o controle de nossos projetos de aprendizado de máquina com facilidade. Ao contrário das estruturas de ML tradicionais, o SageMaker simplifica todo o ciclo de vida do ML, do pré-processamento de dados à implantação do modelo. Como engenheiros de software, valorizamos a eficiência, e o SageMaker oferece exatamente isso, permitindo que nos concentremos mais na criação de modelos inteligentes e menos no gerenciamento da infraestrutura. Ele fornece uma variedade de algoritmos pré-construídos, tornando-o acessível mesmo para aqueles que não estão familiarizados com o campo do aprendizado de máquina.
OMongoDB Atlas Vector Search é uma mudança de jogo para desenvolvedores como nós, que avaliamos o poder da simplicidade e da eficiência nas operações de banco de dados. Em vez de vasculhar queries complexas e código extensivo, o Atlas Vector Search fornece uma maneira intuitiva e direta de implementar a funcionalidade de Atlas Search baseada em vetor. Como engenheiros de software, sabemos o quão crucial é melhorar a experiência do usuário com resultados de Atlas Search rápidos e precisos. Essa tecnologia aproveita os benefícios de técnicas avançadas de indexação de vetores, tornando-a ideal para projetos que envolvem mecanismos de recomendações, similaridade de conteúdo ou até mesmo recursos relacionados a jogos. Com o MongoDB Atlas Vector Search, podemos integrar dados vetoriais em nossos aplicativos sem problemas, reduzindo significativamente o tempo e o esforço de desenvolvimento. É o ideal de qualquer desenvolvedor realizar-se – prático, eficiente e projetado para facilitar nossa vida no mundo em constante mudança do desenvolvimento de software.

Gerar e atualizar incorporações para seus dados

Existem duas etapas para usar o Vector Search em seu aplicativo.
O primeiro passo é realmente criar vetores (também chamados de incorporações ou vetores de incorporação), bem como atualizá-los sempre que seus dados forem alterados. A maneira mais fácil de observar dados recém-inseridos e atualizados do seu aplicativo de servidor é usar MongoDB Atlas Triggers e observar exatamente esses dois eventos. Os gatilhos em si estão fora do escopo deste tutorial, mas você pode encontrar outros ótimos recursos sobre como configurá-los na Central de Desenvolvedores.
O trigger então executa um script que cria novos vetores. Isso pode, por exemplo, ser feito por meio do MongoDB Atlas Functions ou, como neste diagrama, usando o Lambda. O script em si usa o endpoint Amazon SageMaker com seu modelo desejado implantado por meio da REST API para criar ou atualizar um vetor em seu banco de dados Atlas.
A parte importante aqui que torna o uso tão fácil e o desempenho tão bom é que os dados e as incorporações são salvos dentro do mesmo banco de dados:
Os dados que pertencem juntos são salvos juntos.
Como implantar e preparar esse endpoint do SageMaker e oferecê-lo como um serviço REST para seu aplicativo será discutido em detalhes na Parte 2 deste tutorial.
Arquitetura para criação de embeddings

Consultando seus dados

A outra metade do seu aplicativo será responsável por receber consultas para semanticamente Atlas Search seus dados.
Observe que uma pesquisa deve ser feita usando a versão vetorizada da query. E a vetorização deve ser feita com o mesmo modelo que usamos para vetorizar os dados em si. O mesmo endpoint do Amazon SageMaker pode, é claro, ser usado para isso.
Portanto, sempre que um aplicativo cliente envia uma solicitação para o aplicativo servidor, duas coisas precisam acontecer.
  1. O aplicativo do servidor precisa chamar o serviço REST que fornece o endpoint do Amazon SageMaker (consulte a seção anterior).
  2. Com o vetor recebido, o aplicativo do servidor precisa executar uma pesquisa usando o Vector Search para recuperar os resultados do banco de dados.
Arquitetura para query dos dados
A implementação de como consultar o Atlas pode ser encontrada na Parte 3 deste tutorial.

Concluindo

Esta primeira parte curta da série forneceu uma visão geral de uma arquitetura possível para usar o Amazon SageMaker e o MongoDB Atlas Vector Search para pesquisar semanticamente seus dados.
Dê uma olhada na Parte 2 se você estiver interessado em como configurar o Amazon SageMaker e na Parte 3 Go entrar em detalhes sobre o MongoDB Atlas Vector Search.
✅ Já tem uma conta AWS? O Atlas aceita pagamentos por uso por meio do AWS Marketplace (AWS MP) sem nenhum compromisso inicial — basta se inscrever no MongoDB Atlas por meio do AWS Marketplace.
✅ Obtenha ajuda em nossos fóruns da comunidade.
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
{Parte de uma série
Pesquisa de vetores com o MongoDB Atlas e o Amazon SageMaker
Próximo
Continuar

Mais nesta série
Relacionado
Artigo

A relevância do Atlas Search explicada


Aug 14, 2024 | 13 min read
Início rápido

Criar uma API com o AWS API Gateway e o Atlas Data API


Jul 12, 2024 | 8 min read
Tutorial

Criação de aplicativos de IA generativa usando o MongoDB: aproveitando o poder do Atlas Vector Search e dos modelos de código aberto


Sep 18, 2024 | 10 min read
Tutorial

Migrar de um RDBMS para o MongoDB com a ajuda da AI: uma introdução ao conversor de query


Aug 28, 2024 | 4 min read
Sumário