Menu Docs
Página inicial do Docs
/
MongoDB Atlas

Visão geral do Atlas Vector Search

Nesta página

  • O que é pesquisa vetorial?
  • Casos de uso
  • Integrações de IA
  • Conceitos chave
  • Índices do Atlas Vector Search
  • Consultas do Atlas Vector Search
  • Próximos passos

Você pode utilizar o Atlas Vector Search para executar pesquisa vetorial em seus dados armazenados no Atlas Vector Search. A pesquisa vetorial permite consultar seus dados com base no significado semântica, em vez de apenas nas correspondências de palavras-chave, o que ajuda a recuperar resultados de pesquisa mais relevantes. Ele permite que seus aplicativos baseados em IA ofereçam suporte a casos de uso, como pesquisa semântica, pesquisa híbrida e pesquisa generativa, incluindo RAG.

Ao utilizar o Atlas como um banco de banco de dados vetorial, você pode indexar dados vetoriais junto com seus outros dados no Atlas sem problemas. Isso permite filtrar campos em sua coleção e executar consultas de pesquisa vetorial em dados vetoriais. Você também pode combinar a pesquisa vetorial com queries de pesquisa de texto completo para retornar os resultados mais relevantes para seu caso de uso. Você pode integrar o Atlas Vector Search com estruturas e serviços populares de IA para implementar facilmente a pesquisa vetorial em seus aplicativos.

Comece a usar o Atlas Vector Search

Observação

O Atlas Vector Search oferece suporte à pesquisa ANN em clusters que executam MongoDB v6.0.11, v7.0.2 ou posterior e pesquisa ENN em clusters executando MongoDB v6.0.16, v7.0.10, v7.3.2, ou posterior.

A pesquisa vetorial é um método de pesquisa que retorna resultados com base no significado semântico ou subjacente dos seus dados. Ao contrário da pesquisa tradicional de texto completo, que encontra correspondências de texto, a pesquisa vetorial encontra vetores que estão próximos à sua query de pesquisa no espaço multidimensional. Quanto mais próximos os vetores estiverem da sua query, mais semelhantes eles serão em termos de significado.

Ao interpretar o significado da consulta de pesquisa e dos dados, a pesquisa vetorial permite que você considere a intenção do pesquisador e o contexto de pesquisar para recuperar resultados mais relevantes.

Por exemplo, se você pesquisou o termo "frutas vermelhas", a pesquisa de texto completo retorna apenas os dados que contêm explicitamente essas palavras-chave. No entanto, a pesquisa semântica pode retornar dados que são semelhantes em significado, como frutas de cor vermelha, como maçãs ou morangos.

O Atlas Vector Search oferece suporte aos seguintes casos de uso de pesquisa vetorial:

  • Pesquisa semântica: faça query de suas incorporações vetoriais com base na similaridade semântica usando o algoritmo de pesquisa ANN ou ENN.

    Para saber mais, consulte Como executar pesquisas semânticas e executar queries de Vector Search .

  • Pesquisa híbrida: combine os resultados das queries de pesquisa semântica e de pesquisa de texto completo. Para saber mais, consulte Executar pesquisa híbrida com o Atlas Vector Search e o Atlas Search.

  • Pesquisa Generativa: Ao usar o Atlas como um banco de banco de dados vetorial, você pode usar o Atlas Vector Search para alimentar seus aplicativos de processamento de linguagem natural (NLP), aprendizado de máquina (ML) e aplicativos de IA generativa . Especificamente, você pode implementar a geração aumentada de recuperação (RAG) fazendo o seguinte:

    1. Ingerir dados no Atlas.

    2. Recupere documentos relevantes com o Atlas Vector Search.

    3. Gere respostas em seus dados usando um LLM.

    Para saber mais, consulte RAG com Atlas Vector Search.

Você pode utilizar o Atlas Vector Search com modelos populares de incorporação e chat de fornecedores de IA, comoOpenAI, AWS e Google. O MongoDB e os parceiros também fornecem integrações de produtos específicos para ajudá-lo a aproveitar o Atlas Vector Search em seus aplicativos movidos a IA. Essas integrações incluem ferramentas e bibliotecas integradas que permitem implementar o RAG do início ao fim.

Para saber mais, consulte Integrar o Vector Search com tecnologias de IA.

vetor

Um vetor é uma array de números que representa seus dados em várias dimensões. Os vetores podem representar qualquer tipo de dados, desde dados de texto, imagem e áudio até dados não estruturados. A similaridade semântica é determinada medindo a distância entre os vetores.

As dimensões vetoriais referem-se ao número de elementos na array e, portanto, ao número de dimensões no espaço vetorial onde os vetores são traçados.

Especificamente, o Atlas Vector Search usa vetores densos, que são um tipo de vetor de alta dimensão que favorece menor armazenamento e riqueza semântica. Ao contrário dos vetores esparsos, os vetores densos podem ser compactados com mais dados, o que permite que o Atlas Vector Search capture relacionamentos mais complexos.

incorporações de vetor

Incorporações de vetor são vetores que você usa para representar seus dados. Essas incorporações capturam relacionamentos significativos em seus dados e habilitam tarefas como pesquisa e recuperação semântica. Você cria incorporações vetoriais passando seus dados por um modelo de incorporação e pode armazenar essas incorporações no Atlas como um campo em um documento.

O Atlas Vector Search determina a similaridade semântica ao identificar as incorporações vetoriais que estão mais próximas do seu vetor de query.

Para saber mais, consulte Como criar incorporações vetoriais.

modelo de incorporação

Os modelos de incorporação são algoritmos que você usa para converter seus dados em vetores de incorporação. Para fazer isso, os modelos de incorporação usam LLMs, modelos de aprendizado de máquina treinados com base em um grande corpus de dados, para gerar incorporações vetoriais que captam o significado semântico de seus dados.

O modelo de incorporação escolhido determina as dimensões das incorporações vetoriais. Você deve especificar estas dimensões como um campo no seu índice do Atlas Vector Search .

A incorporação de modelos varia dependendo de como o modelo foi formado. Portanto, modelos diferentes oferecem vantagens diferentes, dependendo dos seus dados e caso de uso. Para saber mais, consulte Escolher um modelo de incorporação.

Para realizar a pesquisa vetorial em seus dados no Atlas, você deve criar um índice do Atlas Vector Search. Os índices do Atlas Vector Search são separados dos outros índices de banco de dados e são usados para recuperar com eficiência documentos que contêm incorporações de vetor no momento da consulta. Na definição de índice da Atlas Vector Search, você indexa os campos em sua coleção que contêm suas incorporações para habilitar a pesquisa vetorial nesses campos. Atlas Vector Search suporta embeddings que são menores ou iguais a 4096 dimensões de comprimento.

Você também pode pré-filtrar seus dados indexando quaisquer campos booleanos, de data, numéricos, de objectId, de string e UUID na sua coleção com os quais queira executar as queries do Atlas Vector Search. Filtrar seus dados restringe o escopo de sua pesquisa e garante que determinadas incorporações vetoriais não sejam consideradas para comparação.

Para saber como indexar campos para o Atlas Vector Search, consulte Como indexar campos para o Vector Search.

O Atlas Vector Search oferece suporte a pesquisa aproximada do vizinho mais próximo (ANN) com o algoritmo Hierarchical Navigable Small Worlds e pesquisa exata do vizinho mais próximo (ENN).

Para encontrar os vetores mais semelhantes, o Atlas Vector Search executa a pesquisa ANN sem examinar cada incorporação de vetor e a pesquisa ENN exaustivamente em todas as incorporações de vetor indexadas. Para saber mais, consulte Definição do VectorSearch.

As queries do Atlas Vector Search consistem em estágios de pipeline de agregação em que o estágio $vectorSearch é o primeiro estágio no pipeline. O processo para uma query básica do Atlas Vector Search é o seguinte:

  1. Você seleciona a pesquisa ANN ou ENN e especifica o vetor de query, que é a incorporação de vetor que representa sua query de pesquisa.

  2. O Atlas Vector Search encontra incorporações vetoriais em seus dados que estão mais próximas do vetor de query.

  3. O Atlas Vector Search retorna os documentos que contêm os vetores mais semelhantes.

Para personalizar sua consulta de pesquisa vetorial, você pode pré-filtrar seus dados em campos que você indexou usando uma expressão de correspondência MQL com operadores de consulta ou agregação suportados, ou pode adicionar estágios de agregação adicionais para processar e organizar melhor seus resultados.

Para saber como criar e executar consultas do Atlas Vector Search, consulte Executar consultas do Vector Search.

Para ter uma experiência prática na criação de índices do Atlas Vector Search e na execução de consultas do Atlas Vector Search em dados de amostra, experimente o curso sobre o Atlas Vector Search na MongoDB University e os tutoriais nas páginas a seguir:

Para um desempenho ideal, recomendamos a implantação de nós de pesquisa separados para isolamento da carga de trabalho. Os nós de pesquisa oferecem suporte à execução simultânea de query para melhorar a latência de query individual. Para saber mais, consulte Analisar as opções de implantação.