Exportar embeddings do Spanner para a Vertex AI Vector Search

A pesquisa de vetores da Vertex AI permite que os usuários pesquisem itens semanticamente semelhantes usando embeddings vetoriais. Usando o fluxo de trabalho de pesquisa de vetores do Spanner para Vertex AI, é possível integrar seu banco de dados do Spanner com a pesquisa de vetor para realizar uma pesquisa de similaridade vetorial nos dados do Spanner.

O diagrama a seguir mostra o fluxo de trabalho completo do aplicativo, que explica como ativar e usar a pesquisa de vetor nos dados do Spanner:

Fluxo de trabalho do Spanner para pesquisa de vetores.

O fluxo de trabalho geral é o seguinte:

  1. Gerar e armazenar embeddings vetoriais

    É possível gerar embeddings de vetores dos dados e, em seguida, armazená-los e gerenciá-los no Spanner com os dados operacionais. É possível gerar embeddings com a função SQL ML.PREDICT do Spanner para acessar o modelo textembedding-gecko da Vertex AI ou usar outros modelos de incorporação implantados na Vertex AI.

  2. Sincronizar embeddings com a pesquisa de vetores

    Use o fluxo de trabalho de pesquisa de vetores do Spanner para Vertex AI, que é implantado usando fluxos de trabalho para exportar e fazer upload de embeddings em um índice de pesquisa de vetor. É possível usar o Cloud Scheduler para programar periodicamente esse fluxo de trabalho e manter o índice de pesquisa de vetores atualizado com as alterações mais recentes dos embeddings no Spanner.

  3. Executar a pesquisa por similaridade vetorial usando o índice de Pesquisa de vetor.

    Consulte o índice de pesquisa de vetor para pesquisar e encontrar resultados para itens semanticamente semelhantes. Faça consultas usando um endpoint público ou o peering de VPC.

Exemplo de caso de uso:

Um caso de uso ilustrativo da pesquisa de vetores é um varejista on-line que tem um inventário de centenas de milhares de itens. Nesse cenário, você é desenvolvedor de um varejista on-line e quer usar a pesquisa por similaridade vetorial no catálogo de produtos do Spanner para ajudar os clientes a encontrar produtos relevantes com base nas consultas de pesquisa.

Siga as etapas 1 e 2 apresentadas no fluxo de trabalho geral para gerar embeddings vetoriais para o catálogo de produtos e sincronizá-los com a Pesquisa de vetores.

Agora, imagine que um cliente navegando no seu aplicativo realiza uma pesquisa como "melhores shorts esportivos e de secagem rápida que eu posso usar na água". Quando o aplicativo recebe essa consulta, é necessário gerar uma incorporação de solicitação para essa solicitação de pesquisa usando a função SQL ML.PREDICT do Spanner. Use o mesmo modelo de embedding usado para gerar os embeddings para o catálogo de produtos.

Em seguida, consulte o índice de pesquisa de vetor para IDs de produtos com embeddings correspondentes semelhantes ao embedding de solicitação gerado pela solicitação de pesquisa do cliente. O índice de pesquisa pode recomendar IDs de produtos para itens semanticamente semelhantes, como shorts de wakeboard, roupas de surfe e calções de natação.

Depois que a pesquisa de vetores retornar esses IDs de produtos semelhantes, será possível consultar o Spanner para conferir as descrições, a contagem de inventário, o preço e outros metadados relevantes dos produtos e mostrá-los ao cliente.

Também é possível usar a IA generativa para processar os resultados retornados do Spanner antes de mostrá-los para seu cliente. Por exemplo, é possível usar grandes modelos de IA generativa do Google para gerar um resumo conciso dos produtos recomendados. Para mais informações, consulte este tutorial sobre como usar a IA generativa para receber recomendações personalizadas em um aplicativo de e-commerce.

A seguir