Escolher um índice vetorial

Selecione uma versão da documentação:

Nesta página, descrevemos as estratégias de pesquisa vetorial da IA do AlloyDB e explicamos quando usar cada uma delas. Por padrão, o AlloyDB usa a pesquisa de vizinhos k-mais próximos (KNN) para encontrar vetores semelhantes a uma consulta. Os índices vetoriais implementam uma estratégia de pesquisa chamada Vizinho aproximado mais próximo (ANN). Ao criar um índice vetorial, a IA do AlloyDB usa ANN, que oferece melhor desempenho do que KNN. Ao selecionar um índice vetorial, é necessário equilibrar a latência e o recall da consulta.

O recall mede a eficácia com que uma pesquisa recupera todos os itens relevantes para uma determinada consulta. Por exemplo, imagine que você tenha 100 incorporações, cada uma representando uma entidade no seu banco de dados. Você consulta seus embeddings com um vetor de destino e limita a 10 resultados. Uma pesquisa de vetor KNN encontra os 10 vetores exatos mais próximos usando um método de cálculo de força bruta, o que resulta em 100% de recall. O AlloyDB AI usa esse método por padrão se nenhum índice de pesquisa vetorial for criado ou escolhido. Ao criar um índice de vetor no AlloyDB para PostgreSQL, ele geralmente usa ANN, que pode particionar vetores de acordo com a similaridade para facilitar uma recuperação mais rápida. Como resultado, usando ANN, os 10 vetores retornados no exemplo anterior podem não ser exatamente os 10 vetores mais próximos em distância. Se apenas 8 dos 10 vetores recuperados forem os mais próximos no espaço do vetor de consulta, o recall será de 80%.

A latência da consulta define a velocidade com que os resultados da pesquisa são gerados. Por exemplo, a latência é calculada com base no tempo gasto em uma pesquisa para retornar os vetores depois que você envia uma consulta.

Escolher sua estratégia de pesquisa

Ao realizar uma pesquisa vetorial no AlloyDB, escolha uma das seguintes estratégias de pesquisa:

Estratégia de pesquisa Descrição Casos de uso
Vizinhos mais próximos (KNN) Um algoritmo que encontra os pontos de dados k-vizinhos mais próximos de um determinado ponto de dados de consulta. Quando você realiza uma pesquisa vetorial sem criar um índice, uma pesquisa de KNN é feita por padrão.
  • Seu aplicativo é muito sensível à precisão e você precisa das correspondências mais próximas exatas.
  • Você tem menos de 100.000 vetores.
Vizinhos mais próximos aproximados (ANN) Um algoritmo que encontra aproximadamente os pontos de dados mais próximos. A ANN divide os pontos de dados de clientes atuais em pequenos grupos com base em semelhanças.
  • Seu aplicativo exige baixa latência.
  • Você tem mais de 100.000 vetores.

O Google recomenda que você crie um índice de vetor para otimizar a performance nas suas consultas de pesquisa vetorial. Para mais informações sobre como o índice ANN é usado em pesquisas de similaridade, consulte Criar índices e consultar vetores usando o ScaNN.

A seguir