Menu Docs

Página inicial do DocsIniciar e gerenciar o MongoDBMongoDB Atlas

Visão geral do Atlas Vector Search

Nesta página

  • O que é pesquisa vetorial?
  • Conceitos chave
  • Índices do Atlas Vector Search
  • Queries do Atlas Vector Search
  • Casos de uso
  • Integrações de IA

Você pode utilizar o Atlas Vector Search para executar pesquisa vetorial em seus dados no Atlas. Ao definir um índice do Atlas Vector Search em sua coleção, você pode indexar dados vetoriais sem problemas junto com seus outros dados e, em seguida, executar consultas 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. Além disso, você pode aproveitar o Atlas Vector Search em aplicativos deIA e integrá-lo 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.

Introdução ao 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 query 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ântica ou subjacente dos seus dados. Ao contrário da pesquisa tradicional de texto completo, que encontra correspondências de texto, a pesquisa vetorial localiza vetores 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 significado.

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

Por exemplo, se você pesquisou o termo "Fruto vermelho", a Pesquisa de texto completo retornará apenas dados que contenham explicitamente essas palavras-chave. No entanto, a pesquisa semântica pode retornar dados com significado semelhante, como frutas de cor vermelha como Maçãs ou morangos.

vetor

Um vetor é uma array de números que representa seus dados em múltiplas 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 vetores.

Especificamente, o Atlas Vector Search utiliza vetores densos, que são um tipo de vetor de alta dimensão que favorece o armazenamento e a herança semântica menores. 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 vetoriais

As incorporações vetoriais, ou vetorização, são o processo de conversão de dados em vetores. Você cria essas incorporações passando seus dados por um modelo de incorporação e armazena essas incorporações como um campo em sua coleção do Atlas.

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 Queries do Atlas Vector Search.

modelo de incorporação

Modelos de incorporação são algoritmos que convertem dados complexos em vetores. Para 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 encapsulam o significado semântica de seus dados.

Essas incorporações permitem que o Atlas Vector Search entenda melhor os relacionamentos em seus dados e execute tarefas como pesquisa e recuperação semântica. Dependendo dos seus dados e tarefa, diferentes modelos de incorporação oferecem vantagens variáveis.

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 largura.

Você também pode pré-filtrar seus dados indexando quaisquer campos booleanos, de cadeia de caracteres e numéricos em sua coleção nos quais 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. AANN otimiza a velocidade aproximando os vetores mais semelhantes no espaço multidimensional sem digitalizar todos os vetores. Essa abordagem é particularmente útil para recuperar dados de grandes conjuntos de dados vetoriais.

As queries do Atlas Vector Search consistem em aggregation pipeline stages onde o estágio $vectorSearch é o primeiro estágio do pipeline. O processo para uma query básica do Atlas Vector Search é o seguinte:

  1. Você especifica o vetor de consulta, que é a incorporação do vetor que representa sua consulta de pesquisa.

  2. O Atlas Vector Search usa a pesquisa ANN para encontrar incorporações vetoriais em seus dados que estejam 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 comparação 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 oferece suporte aos 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 criar 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 com estruturas e serviços populares. Para saber mais, consulte Conceitos chave de IA.

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 generativos movidos a IA e IA . Essas integrações incluem ferramentas e bibliotecas integradas que permitem criar aplicativos 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 responder a perguntas sobre seus dados além dos LLMspopulares.

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

← Changelog do Atlas Search