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 habilita várioscasos de uso de pesquisa , incluindo pesquisa semântica, híbrida e generativa. Ao armazenar incorporações vetoriais junto com seus outros dados no Atlas, você pode filtrar consultas de pesquisa semântica em outros campos em sua coleção e combinar a pesquisa semântica com a pesquisa de texto completo. Ao usar o Atlas como um banco de dados vetorial, você também pode aproveitar a pesquisa vetorial em aplicativos deIA e integrá-la a estruturas e serviços populares de IA .

O Atlas Vector Search é suportado em Atlas clusters que executam o MongoDB versão 6.0.11, 7.0.2 ou posterior para pesquisa da ANN e versão 6 do MongoDB.0.16, 7.0.10, 7.32 ou posterior para procurar ENN .

Comece a usar o Atlas Vector Search

Observação

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

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 utilizado 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 traçados para determinar sua similaridade.

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

As incorporações vetoriais, ou vetorização, são o processo de conversão de dados em vetores. Essas incorporações capturam relacionamentos significativos em seus dados e habilitam tarefas como pesquisa e recuperação semântica. Para usar o Atlas como um banco de dados vetorial, você cria incorporações passando seus 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 identificando as incorporações vetoriais mais próximas em termos de distância do vetor de query.

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

modelo de incorporação

Modelos de incorporação são algoritmos que você usa para converter seus dados em incorporações vetoriais. Para fazer isso, os modelos de incorporação usam LLMs, modelos de aprendizado de máquina treinaram em um grande corpus de dados, para gerar incorporações vetoriais que capturam o significado semântica 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, diferentes modelos de incorporação oferecem vantagens variáveis, dependendo dos seus dados e do seu caso de uso.

Para executar uma 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 do banco de dados e usados para recuperar com eficiência documentos que contêm incorporações vetoriais no momento da query. Na definição de índice do Atlas Vector Search, você indexa os campos em sua coleção que contêm suas incorporações para habilitar a pesquisa vetorial nesses campos. O Atlas Vector Search suporta incorporações menores e iguais a 4096 dimensões de comprimento.

Você também pode pré-filtrar seus dados indexando quaisquer campos de boolean, data, numéricos, objectId e string em sua coleção nos quais você deseja executar suas queries do Atlas Vector Search. A filtragem de dados limita o escopo da 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 suporta a pesquisa aproximada do vizinho mais próximo (ANN) com os mundos pequenos hierárquicos navegáveis . algoritmo e pesquisa exata do vizinho mais próximo (ENN ).

Para encontrar os vetores mais semelhantes, o Atlas Vector Search executa a pesquisa ANN sem digitalizar todas as incorporações vetoriais, e a pesquisa ENN exaustivamente em todas as incorporações vetoriais indexadas. Para saber mais, consulte Definição de 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 pesquisa ANN ou ENN e especifica o vetor de consulta, que é a incorporação do vetor que representa sua consulta de pesquisa.

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

  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 indexados usando uma expressão de correspondência MQL com operadores de consulta ou agregação compatíveis ou pode adicionar estágios de agregação adicionais para processar e organizar melhor os resultados.

Para aprender como criar e executar queries do Atlas Vector Search, consulte Executar queries do Vector Search.

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

Ao usar o Atlas como um 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) 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 com estruturas e serviços populares. Para saber mais, consulte Geração de recuperação aumentada (RAG) com Pesquisa vetorial do Atlas.

Você pode utilizar o Atlas Vector Search com modelos populares de chat e incorporação de fornecedores de IA , como OpenAI, 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 usar o Atlas como um banco de dados vetorial, criar aplicativos de IA generativos e implementar o RAG do início ao fim.

Por exemplo, ao integrar o Atlas Vector Search com estruturas de código aberto como o LangChain e LlamaIndex, você pode criar aplicativos que respondem a perguntas sobre seus dados com base nos LLMs populares.

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

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