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

Como medir a precisão dos resultados da sua query

Você pode medir a precisão de sua consulta do MongoDB Vector Search avaliando se os resultados de uma pesquisa ANN correspondem aos resultados de uma pesquisa ENN em relação a vetores quantizados usando os mesmos critérios de query. Ou seja, você pode comparar os resultados da pesquisa ANN com os resultados da pesquisa ENN e medir com que frequência os resultados da pesquisa ANN incluem os vizinhos mais próximos nos resultados da pesquisa ENN.

Talvez você queira medir a precisão dos resultados se tiver alguma das seguintes opções:

  • vetores quantizados

  • Um grande número de vetores

  • Vetor de baixa dimensionamento

Para experimentar os exemplos desta página, você precisa do seguinte:

  • Um cluster com, opcionalmente, o conjunto de dados de amostra.

Para avaliar a precisão dos $vectorSearch resultados da query, você deve fazer o seguinte:

  1. Crie um índice do MongoDB Vector Search no campo de vetor e em quaisquer outros campos pelos quais você deseja pré-filtrar os dados.

    Recomendamos o uso de vetores quantizados para melhorar o armazenamento de seus vetores e a velocidade de suas queries. Se você não tiver vetores quantizados, poderá ativar a quantização automática ao indexar seu campo do tipo vector .

  2. Construa e execute a query ENN seguida pela query ANN.

  3. Compare os resultados da query ANN com os resultados da query ENN para avaliar as similaridades e diferenças nos resultados.

Esta seção demonstra como executar as etapas anteriores do 3 em relação aos dados na coleção sample_mflix.embedded_movies. Se não quiser usar o conjunto de dados de amostra, você poderá executar os procedimentos em seus próprios dados.

Esta seção demonstra como criar um índice do MongoDB Vector Search para executar queries ANN e ENN do MongoDB Vector Search.

Os nove principais documentos no exemplo de resultados de query ENN e ANN são os mesmos e têm a mesma pontuação. Isso mostra um alto nível de similaridade nos principais resultados da query. No entanto, o décimo documento nos resultados das queries ENN e ANN é diferente, o que reflete uma leve variação na pesquisa exata e aproximada do vizinho mais próximo.

A pesquisaENN examina todos os possíveis candidatos e retorna a correspondência mais próxima da query com base na pontuação de similaridade. A pesquisaANN utiliza aproximações para acelerar a pesquisa, o que pode alterar a pontuação dos documentos. Se você aumentar o numCandidates valor de na query ANN, os resultados serão uma correspondência mais próxima dos resultados da query ENN. No entanto, isso consumiria recursos computacionais adicionais e pode reduzir a velocidade da query. O décimo documento nos resultados reflete a compensação entre precisão e velocidade.

Depois de avaliar numericamente os resultados em relação à verdade fundamental da ENN, recomendamos testar um conjunto de 100 queries da mesma maneira e calcular a "semelhança de jáccard" entre os conjuntos de resultados. A similaridade de Jaccard pode ser calculada dividindo a interseção entre dois conjuntos, ou seja, os itens sobrepostos, pelo tamanho total do conjunto. Isso dá uma noção do desempenho de recuperação das queries de ANN, incluindo aquelas realizadas em vetores quantizados.

Se você notar grandes discrepâncias entre os resultados da query ENN e ANN, recomendamos ajustar o numCandidates valor de para atingir um equilíbrio ideal entre precisão e velocidade para sua aplicação.

Recomendamos que você use listas de julgamento para uma lista estruturada de queries com resultados ideais para a consulta ANN ou valores de verdade real de ENN. Você pode usar os resultados da consulta ENN como lista de julgamento de referência e, em seguida, avaliar os resultados da consulta ANN em relação a essa lista de julgamento para medir o recall, a sobreposição e o desempenho. As listas de julgamento propiciam uma maneira de avaliar se queries ANN atendem aos limiares de precisão ou recall desejados em comparação com a linha de base ENN. Use LLMs para gerar queries de exemplo.

Para melhorar a precisão dos resultados da $vectorSearch, você pode reclassificá-los por relevância semântica para a query. A reclassificação reordena seus resultados para priorizar os documentos mais pertinentes. Você pode aplicar o estágio $rerank após o estágio $vectorSearch para reordenar os resultados usando um modelo de reclassificação.

Para saber mais, consulte fases do pipeline de agregação$rerank.