Menu Docs
Página inicial do Docs
/
MongoDB Atlas

Visão geral do Atlas Vector Search

Nesta página

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

Você pode usar o Atlas Vector Search para realizar pesquisa vetorial em seus dados no Atlas. Ao definir um índice do Atlas Vector Search em sua coleção, você pode indexar sem dificuldades dados vetoriais junto com seus outros dados e executar queries de pesquisa vetorial nos campos indexados.

O Atlas Vector Search permite vários casos de uso de pesquisa, incluindo pesquisa semântica, híbrida e generativa. Ao armazenar as incorporações de vetores junto com seus outros dados no Atlas, você pode filtrar as consultas de pesquisa semântica em outros campos da sua coleção e combinar a pesquisa semântica com a pesquisa de texto completo. Ao usar o Atlas como um banco de dados de vetores, você também pode aproveitar a pesquisa de vetores em aplicativos de IA e integrá-la a estruturas e serviços de IA populares.

O Atlas Vector Search tem suporte em clusters do Atlas que executam a versão 6.0.11, 7.0.2 ou posterior do MongoDB para pesquisa ANN e a versão 6.0.16, 7.0.10, 7.3.2 ou posterior do MongoDB para pesquisa ENN.

Comece a usar o Atlas Vector Search

Observação

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.

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.

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.

O número de dimensões de um vetor é determinado pelo modelo de incorporação usado para criá-lo. Além disso, o número de dimensões de um vetor é igual ao número de dimensões do espaço vetorial no qual os vetores são plotados para determinar sua semelhança.

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

A incorporação de vetor, ou vetorização, é o processo de converter dados em vetores. Essas incorporações capturam relacionamentos significativos em seus dados e permitem tarefas como pesquisa e recuperação semântica. Para usar o Atlas como um banco de dados vetorial, você cria incorporações passando os dados por um modelo de incorporação e armazena essas incorporações como um campo no 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 que você escolhe determina como você configura seu índice do Atlas Vector Search e afeta seus resultados de consulta com base em como o modelo de incorporação foi ensinado. Como resultado, modelos diferentes oferecem vantagens variáveis, 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.

O Atlas Vector Search aceita os seguintes tipos de queries de pesquisa vetorial:

Ao utilizar o Atlas como um banco de dados vetorial, você pode usar o Atlas Vector Search para sustentar seus aplicativos de processamento de linguagem natural (NLP), aprendizado de máquina (ML) e IA generativa.

Especificamente, você pode implementar a geração aumentada de recuperação (RAG) armazenando dados no Atlas, usando o Atlas Vector Search para recuperar documentos relevantes de seus dados e aproveitando um LLM para responder a perguntas sobre seus dados. Você pode implementar o RAG localmente ou integrando o Atlas Vector Search a estruturas e serviços populares. Para saber mais, consulte Geração aumentada de recuperação (RAG) com Atlas Vector Search.

Você pode usar o Atlas Vector Search com modelos populares de bate-papo e incorporação de provedores de IA, como OpenAI, AWS e Google. O MongoDB e seus parceiros também fornecem integrações de produtos específicos para ajudá-lo a aproveitar o Atlas Vector Search em seus aplicativos alimentados por IA. Essas integrações incluem ferramentas e bibliotecas integradas que permitem usar o Atlas como um banco de dados vetorial, criar aplicativos de IA generativos e implementar a RAG do início ao fim.

Por exemplo, integrando o Atlas Vector Search a estruturas de código aberto, como LangChain e LlamaIndex, você pode criar aplicativos que respondem a perguntas sobre seus dados, além de LLMs populares.

Para saber mais e começar, consulte Integrar a pesquisa vetorial com tecnologias de AI.

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: