Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Gerar incorporações automaticamente usando a Vector Search do MongoDB

Importante

Os índices do tipo text Vector Search do MongoDB estão obsoletos, pois nos preparamos para fazer a transição da visualização privada para a visualização pública. Para saber mais, consulte Visualizar recursos.

Você pode configurar o MongoDB Vector Search para gerar e gerenciar automaticamente incorporações vetoriais para os dados de texto em seu cluster. Você pode criar um índice de pesquisa semântica de IA de um clique em seu Atlas M10 ou superior e usar modelos de incorporação do Voyage AI, simplificando a indexação, a atualização e a query com vetores.

Quando você ativa a Incorporação automatizada, o MongoDB Vector Search gera automaticamente incorporações usando o modelo de incorporação especificado no momento do índice para o campo de texto especificado em sua coleção do Atlas e no momento da query para sua string em sua query em relação ao campo indexado para incorporações automatizadas.

Importante

Você pode usar a incorporação automatizada do MongoDB Vector Search em qualquer cluster M10 ou superior em qualquer provedor de nuvem. No entanto, o serviço que lida com o processo de inferência para gerar incorporações vetoriais é executado no Google Cloud. Isso significa que seus dados são enviados ao Google Cloud para geração e recuperação de incorporação, independentemente do provedor de nuvem do seu cluster. Fornecemos segurança de nível empresarial e, portanto, seus dados são armazenados apenas em seu cluster.

Os modelos de incorporação são executados em uma plataforma de inferência compartilhada e multilocatária. Portanto, durante o período de visualização, você deve usar conjuntos de dados com menos de 100k documento e executar queries somente para a avaliação do recurso e não para o teste de carga. Entre em contato com sua equipe de conta se você tiver um caso de uso com limites mais altos.

Embora não haja limites de taxa rígidos para sua carga de trabalho, existem limites globais. Se suas queries retornarem um erro de limite de taxa (erro 409), execute um backoff e tente novamente no código do seu aplicação . Isso permite que seu aplicação lide normalmente com os limites de taxa e garanta a funcionalidade contínua.

Para ativar a pesquisa vetorial usando a Incorporação automatizada, você deve ter o seguinte:

  • M10 ou cluster superior

  • Uma coleção com um campo de texto que você deseja indexar para incorporações automatizadas.

  • Um dos seguintes clientes:

    • IU do Atlas para criação de índices

    • mongosh para criar índices e executar query

    • Driver de nó 6.6.0 ou superior para criar índices e executar queries

    • Driver Python 4.7 ou superior para criar índices e executar query

As seções a seguir descrevem a sintaxe e os campos do índice do MongoDB Vector Search para ativar a geração automática de incorporações para campos de texto e orientam você nas etapas de configuração do índice para a incorporação automatizada.

Você precisa ter a função Project Data Access Admin ou superior para criar e gerenciar índices de Vector Search do MongoDB.

A seguir está a sintaxe para ativar a geração automática de incorporações:

1{
2 "fields": [
3 {
4 "type": "text",
5 "path": "<field-name>",
6 "model": "voyage-3-large | voyage-3.5 | voyage-3.5-lite"
7 }
8 ]
9}

Os seguintes campos são obrigatórios na definição do índice:

Campo
Tipo
Descrição

type

string

O tipo do campo. Para incorporação automática, deve ser text.

path

string

O nome do campo na coleção que você deseja indexar para Incorporação Automática.

model

string

O modelo de incorporação de IA Voyage a ser usado para gerar as incorporações para o índice. Você pode especificar um dos seguintes modelos:

  • voyage-3-large - Recuperação da mais alta qualidade em idiomas e domínios.

  • voyage-3.5 - Modelo balanceado para uso multilíngue e precisão de recuperação de uso geral.

  • voyage-3.5-lite - Modelo leve e mais rápido, otimizado para latência e custo mais baixo.

Depois de criar o índice, se você alterar o modelo de incorporação posteriormente, o MongoDB Vector Search gerará novas incorporações para o conjunto de dados. Enquanto o MongoDB Vector Search gera as incorporações, você pode continuar a consultar usando as incorporações antigas. Quando as incorporações antigas são substituídas por incorporações do novo modelo de incorporação, o MongoDB Vector Search remove as incorporações antigas.

Os campos de índice para Incorporação automatizada são mutuamente exclusivos com os seguintes campos de índice do tipo vector:

  • numDimensions

  • similarity

  • quantization

Se a sua coleção já tiver incorporações, você deve usar os campos de tipo vector para indexar as incorporações. Para aprender mais sobre como indexar campos com incorporações, consulte Como indexar campos para a pesquisa vetorial.

Você pode criar um índice com os tipos text e vector se quiser indexar um campo de texto para gerar automaticamente incorporações e também indexar um campo com suas próprias incorporações. O MongoDB Vector Search gerará automaticamente incorporações para consultas somente com o campo indexado como o tipo text . Você deve especificar incorporações na query para pesquisar o campo indexado como o tipo vector.

Você também pode indexar campos para pré-filtrar seus dados usando o tipo MongoDB Vector Search filter.

Importante

As queries filtradas são normalmente mais lentas do que uma query não filtrada equivalente.

Para aprender mais sobre como pré-filtragem seus dados, consulte Sobre o tipo filter.

O procedimento a seguir percorre as etapas para ativar as incorporações automatizadas em seu índice do MongoDB Vector Search . Se você carregou o conjunto de dados sample_mflix.movies, o exemplo no procedimento demonstra como ativar a Incorporação Automática para o campo fullplot na coleção.

Depois de criar um índice com Incorporação Automatizada, você pode executar consultas de texto no campo indexado. O MongoDB Vector Search gera automaticamente incorporações para a string de texto na sua consulta usando o mesmo modelo de incorporação especificado no índice. Ele usa as incorporações para pesquisar o índice em busca de documentos semanticamente similares ao texto de query especificado.

As seções a seguir descrevem a sintaxe e os campos do $vectorSearch pipeline para gerar automaticamente incorporações para seu texto de query em relação ao campo indexado para Incorporação Automática e demonstram como executar consultas de pesquisa semântica em relação aos campos indexados para Incorporação Automática.

A seguinte sintaxe demonstra como executar uma query em relação a um campo indexado para Incorporação Automática:

1{
2 "$vectorSearch": {
3 "index": "<index-name>",
4 "limit": <number-of-results>,
5 "numCandidates": <number-of-candidates>,
6 "path": "<field-to-search>",
7 "query": "<query-string>"
8 }
9}

Os campos a seguir são obrigatórios para uma query do MongoDB Vector Search usando incorporações automatizadas:

Campo
Tipo
necessidade
Descrição

exact

booleano

Condicional

Este campo é obrigatório se numCandidates for omitido. Mutuamente exclusivo com numCandidates.

Sinalizador que especifica se a pesquisa ENN ou ANN deve ser executada. O valor pode ser um dos seguintes:

  • false - para executar a pesquisa ANN

  • true - para executar a pesquisa ENN

Se omitido, o padrão é false.

index

string

Obrigatório

Nome do índice do MongoDB Vector Search a ser usado.

A Vector Search do MongoDB não retorna resultados se você digitar incorretamente o nome do índice ou se o índice especificado ainda não existir no cluster.

limit

número

Obrigatório

Número (somente do tipo int) de documentos para retornar nos resultados. Este valor não pode exceder o valor de numCandidates se você especificar numCandidates.

numCandidates

número

Condicional

Este campo é obrigatório se exact for false ou omitido. Mutuamente exclusivo com exact.

Número de vizinhos mais próximos a serem utilizados durante a pesquisa. O valor deve ser menor ou igual a (<=) 10000. Você não pode especificar um número menor que o número de documentos a serem retornados (limit).

path

string

Obrigatório

Campo do tipo vetor indexado para pesquisa.

query

string

Obrigatório

Texto para o qual deverão ser geradas automaticamente as incorporações e realizar a pesquisa semântica.

Você pode executar uma query ANN ou ENN no campo indexado. Para saber mais, veja ANN pesquisa e ENN pesquisa.

Você não pode especificar incorporações vetoriais em sua query em relação a campos indexados para Incorporação automatizada. Em vez disso, você deve executar uma query de linguagem natural no campo. Quando você executa uma query de linguagem natural no campo indexado para Incorporação Automática, o MongoDB Vector Search gera automaticamente as incorporações para o texto da query usando o mesmo modelo de incorporação do campo indexado. Em seguida, ele usa as incorporações geradas para realizar uma pesquisa semântica no campo indexado.

Opcionalmente, você pode especificar filter campos em sua query para pré-filtrar os documentos nos quais o MongoDB pesquisa vetorial executa a pesquisa semântica. Para saber mais, consulte Pré-filtragem da pesquisa vetorial do MongoDB.

Opcionalmente, você também pode recuperar a pontuação dos documentos nos resultados. Para saber mais, consulte Pontuação de pesquisa vetorial do MongoDB.