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.
Considerações
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.
Pré-requisitos
Para ativar a pesquisa vetorial usando a Incorporação automatizada, você deve ter o seguinte:
M10ou cluster superiorUma 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
mongoshpara criar índices e executar queryDriver 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
MongoDB Vector Search Índice para incorporação automatizada
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.
Acesso necessário
Você precisa ter a função Project Data Access Admin ou superior para criar e gerenciar índices de Vector Search do MongoDB.
Sintaxe do Índice
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 }
Campos do índice
Os seguintes campos são obrigatórios na definição do índice:
Campo | Tipo | Descrição |
|---|---|---|
| string | O tipo do campo. Para incorporação automática, deve ser |
| string | O nome do campo na coleção que você deseja indexar para Incorporação Automática. |
| 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:
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. |
Considerações
Os campos de índice para Incorporação automatizada são mutuamente exclusivos com os seguintes campos de índice do tipo vector:
numDimensionssimilarityquantization
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.
Criar um índice para incorporação automatizada
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.
query de MongoDB Vector Search com incorporação automatizada
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.
Sintaxe de consulta
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 }
Campos de query
Os campos a seguir são obrigatórios para uma query do MongoDB Vector Search usando incorporações automatizadas:
Campo | Tipo | necessidade | Descrição |
|---|---|---|---|
| booleano | Condicional | Este campo é obrigatório se Sinalizador que especifica se a pesquisa ENN ou ANN deve ser executada. O valor pode ser um dos seguintes:
Se omitido, o padrão é |
| 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. |
| número | Obrigatório | Número (somente do tipo |
| número | Condicional | Este campo é obrigatório se Número de vizinhos mais próximos a serem utilizados durante a pesquisa. O valor deve ser menor ou igual a ( |
| string | Obrigatório | Campo do tipo vetor indexado para pesquisa. |
| string | Obrigatório | Texto para o qual deverão ser geradas automaticamente as incorporações e realizar a pesquisa semântica. |
Considerações
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.