Menu Docs
Página inicial do Docs
/
Atlas
/

Como criar incorporações de vetor

Você pode armazenar incorporações de vetores junto com seus outros dados do MongoDB. Essas incorporações capturam relacionamentos significativos nos seus dados e permitem que você execute pesquisas semânticas e implemente o RAG.

Use o seguinte tutorial para aprender como criar incorporações vetoriais e consultá‑las usando a pesquisa vetorial. Especificamente, você executa as seguintes ações:

  1. Defina uma função que utiliza um modelo de incorporação para gerar incorporações vetoriais.

    Selecione se deseja usar um modelo proprietário ou de código aberto. Para obter incorporações de última geração, utilize a Voyage AI.

  2. Crie incorporações dos seus dados e armazene‑os no MongoDB.

    Selecione se deseja criar incorporações a partir de novos dados ou de dados existentes que você já tem em uma coleção MongoDB .

  3. Crie incorporações a partir de seus termos de pesquisa e execute uma query de pesquisa vetorial.

Para aplicativos de produção, normalmente você escreve um script para gerar incorporações vetoriais. Você pode começar com o código de amostra nesta página e personalizá-lo para seu caso de uso.

Para concluir este tutorial, você deve ter o seguinte:

Nesta seção, você cria incorporações vetoriais a partir de seus dados usando a função que você definiu e, em seguida, armazena essas incorporações em uma coleção do MongoDB.

Nesta seção, você indexa as incorporações vetoriais na sua coleção e cria uma incorporação que é usada para executar uma query de pesquisa de vetor de amostra.

A pesquisa vetorial retorna documentos cujas incorporações estão mais próximas da incorporação da sua consulta. Isso indica que eles são semelhantes em significado.

Considere os seguintes fatores ao criar incorporações vetoriais:

Para criar incorporações vetoriais, você deve usar um modelo de incorporação. Modelos de incorporação são algoritmos que você usa para gerar representações numéricas dos seus dados. Escolha uma das seguintes formas para acessar um modelo de incorporação:

Método
Descrição

Carregue um modelo de código aberto

Se você não tiver uma chave API para um modelo de incorporação proprietário, carregue um modelo de incorporação de código aberto localmente a partir do seu aplicativo.

Use um modelo proprietário

A maioria dos fornecedores de IA oferece APIspara seus modelos de incorporação proprietários que você pode usar para criar incorporações vetoriais. Para incorporações de última geração, use Voyage AI.

Aproveite uma integração

Você pode integrar o MongoDB Vector Search com estruturas de código aberto e serviços de IA para se conectar rapidamente a modelos de incorporação de código aberto e proprietários e gerar incorporações vetoriais para o MongoDB Vector Search.

Para saber mais, consulte Integrar MongoDB com tecnologias de IA.

O modelo de incorporação escolhido afeta os resultados da query e determina o número de dimensões especificadas no índice do MongoDB Vector Search . Cada modelo oferece vantagens diferentes, dependendo dos seus dados e caso de uso. Para incorporações de última geração, incluindo modelos de incorporação multimodais e específicos de domínio, use Voyage AI.

Ao escolher um modelo de incorporação para o MongoDB Vector Search, considere as seguintes métricas:

  • Dimensões de incorporação: o comprimento da incorporação do vetor.

    Embeddings menores são mais eficientes em termos de armazenamento, enquanto embeddings maiores podem capturar relacionamentos mais sutis em seus dados. O modelo que você escolher deve encontrar um equilíbrio entre eficiência e complexidade.

  • Máximo de tokens: o número de tokens que podem ser compactados em uma única incorporação.

  • Tamanho do modelo: o tamanho do modelo em gigabytes.

    Embora os modelos maiores tenham melhor desempenho, eles exigem mais recursos computacionais à medida que você dimensiona o MongoDB Vector Search para a produção.

  • Média de recuperação: uma pontuação que mede o desempenho dos sistemas de recuperação.

    Uma pontuação mais alta indica que o modelo é melhor na classificação de documentos relevantes no topo da lista de resultados recuperados. Essa pontuação é importante ao escolher um modelo para aplicativos RAG .

Se você tiver um grande número de vetores de ponto flutuante e quiser reduzir o armazenamento e o espaço ocupado pelo WiredTiger (como uso de disco e memória) em mongod, compacte suas incorporações convertendo‑as em vetores binData.

BinData é um tipo de dados BSON que armazena dados binários. O tipo padrão para incorporações vetoriais é uma array de flutuantes de 32bits (float32). Os dados binários são mais eficientes em armazenamento do que o formato de array padrão e, portanto, exigem três vezes menos espaço em disco.

Armazenar vetores binData melhora o desempenho das consultas, pois menos recursos são necessários para carregar um documento no conjunto de trabalho. Isso pode melhorar significativamente a velocidade de consulta para queries vetoriais onde você está retornando mais de 20 documentos. Se você compactar suas incorporações float32, poderá consultá-las com vetores float32 ou binData.

O tutorial nesta página inclui uma função de exemplo que você pode usar para converter seus vetores float32 em vetores binData.

BSON Os vetores BinData são compatíveis com os seguintes drivers:

Vetores de ponto flutuante são tipicamente difíceis de compactar porque cada elemento no array possui seu próprio tipo (apesar de a maioria dos vetores ser uniformemente digitada). Por essa razão, converter a saída do vetor float de um modelo de incorporação em um vetor binData com subtipo float32 é um esquema de serialização mais eficiente. Vetores binData armazenam um único descritor de tipo para o vetor inteiro, o que reduz a sobrecarga de armazenamento.

Considere as seguintes estratégias para garantir que suas incorporações estejam corretas e ideais:

Depois de aprender a criar embeddings e consultar suas embeddings com o MongoDB Vector Search, comece a criar aplicativos de IA generativa implementando a geração aumentada de recuperação (RAG):

Você também pode quantizar suas incorporações vetoriais de ponto flutuante de 32 bits em menos bits para reduzir ainda mais o consumo de recursos e melhorar a velocidade das consultas. Para aprender mais, consulte Quantização de vetores.

Voltar

Compatibilidade e limitações

Receber um selo de habilidade

Domine "RAG com MongoDB" gratuitamente!

Saiba mais

Nesta página