Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Atlas

Visão geral da Vector Search do MongoDB

Ao usar o Atlas como um banco de dados vetorial, você pode usar o MongoDB Vector Search para pesquisar e indexar sem problemas seus dados vetoriais junto com outros dados do MongoDB . O MongoDB Vector Search permite fazer query de dados com base em seu significado semântica, combinar pesquisa vetorial com pesquisa de texto completo e filtrar suas consultas em outros campos da coleção para que você possa recuperar os resultados mais relevantes para o seu caso de uso.

Use o MongoDB Vector Search para alimentar seus aplicativos de IA e sistemas de agentes implementando geração aumentada de recuperação (RAG). Você também pode integrar o MongoDB Vector Search a estruturas e serviços populares de IA para criar rapidamente aplicativos e agentes de IA.

Introdução à Vector Search do MongoDB

Observação

O MongoDB Vector Search suporta pesquisaANN em clusters que executam o MongoDB 6.0.11 v, v7.0.2 ou posterior e pesquisa ENN em clusters que executam o MongoDB v.., v.., 6 0v..,16 7010732ou 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 MongoDB Vector Search é compatível com os 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 realizar pesquisas semânticas e executar queries de Vector Search.

  • Pesquisa híbrida: combine os resultados de várias queries de pesquisa, incluindo pesquisa vetorial e a pesquisa de texto completo. Para aprender mais, consulte Como realizar a pesquisa híbrida.

  • Pesquisa generativa Use a Vector Search do MongoDB para recuperar dados relevantes para seus aplicativos de IA generativa, implementando a geração aumentada de recuperação (RAG).

    Para saber como implementar o RAG, consulte RAG com Vector Search do MongoDB . Para saber como criar agentes de IA com pesquisa vetorial, incluindo a implementação de RAG agente, consulte Criar agentes de IA com MongoDB.

Você pode usar o MongoDB Vector Search com modelos de incorporação e generativos de qualquer fornecedor de IA. O MongoDB e os parceiros também fornecem integrações de produtos específicos para ajudá-lo a aproveitar o MongoDB Vector Search em seus aplicativos movidos a IA. Essas integrações incluem frameworks, plataformas e ferramentas que permitem implementar rapidamente agentes de pesquisa vetorial, RAG e IA.

Para saber mais, consulte Integrar MongoDB 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 de um vetor referem-se ao número de elementos no array e, portanto, ao número de dimensões no espaço vetorial onde os vetores são representados.

Especificamente, a MongoDB Vector Search usa vetores densos, que são um tipo de vetor de alta dimensão que favorece o armazenamento e a falta semântica menores. Em oposição aos vetores esparsos, os vetores densos podem ser compactados com mais dados, o que permite que o MongoDB Vector Search capture relacionamentos mais complexos.

incorporações de vetor

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

A Vector Search do MongoDB determina a similaridade semântica identificando 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 essas dimensões como um campo no índice do MongoDB Vector Search .

Os modelos de incorporação variam conforme o treinamento do modelo. Portanto, diferentes modelos oferecem vantagens diferentes, dependendo de seus dados e do caso de uso. Para saber mais, consulte Escolher um modelo de incorporação. Para modelos de incorporação de última geração, use Voyage AI.

Para executar uma pesquisa vetorial em seus dados no Atlas, você deve criar um índice do MongoDB Vector Search . Os índices do MongoDB 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 MongoDB Vector Search , você indexa os campos em sua coleção que contêm suas incorporações para habilitar a pesquisa vetorial nesses campos. A Vector Search do MongoDB suporta incorporações menores e iguais a 8192 dimensões de comprimento.

Você também pode pré-filtrar seus dados indexando campos adicionais em sua coleção nos quais deseja executar suas consultas do MongoDB Vector Search . Você pode filtrar valores booleanos, de data, de objectId, numéricos, de string e de UUID, incluindo arrays desses tipos. 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 MongoDB Vector Search, consulte Como indexar campos para o Vector Search.

O MongoDB Vector Search suporta a pesquisa aproximada do vizinho maispróximo (ANN) com o algoritmo Hierarchical Navigable Small Worlds e a pesquisaexata do vizinho mais próximo (ENN).

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

As queries da Vector Search do MongoDB consistem em estágios de pipeline de agregação em que o $vectorSearch estágio é o primeiro estágio no pipeline. O processo para uma query básica do MongoDB 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. A Vector Search do MongoDB encontra incorporações vetoriais em seus dados que estão mais próximas do vetor de consulta.

  3. A Vector Search do MongoDB 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 queries do MongoDB Vector Search , consulte Executar queries do Vector Search .

Para obter uma experiência prática na criação de índices do MongoDB Vector Search e na execução de queries do MongoDB Vector Search em dados de exemplo, experimente o Curso de Vector Search do MongoDB 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.

Receber um selo de habilidade

Domine os "Fundamentos da pesquisa vetorial" gratuitamente!

Saiba mais

Nesta página