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:
O fluxo de trabalho geral é o seguinte:
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 modelotextembedding-gecko
da Vertex AI ou usar outros modelos de incorporação implantados na Vertex AI.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.
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
- Saiba como gerar embeddings usando o Spanner.
- Saiba mais sobre a multiferramenta de IA: embeddings vetoriais
- Saiba mais sobre machine learning e embeddings no nosso curso intensivo sobre embeddings.
- Saiba mais sobre o fluxo de trabalho de pesquisa de vetores do Spanner para Vertex AI, consulte o repositório do GitHub.
- Saiba mais sobre o pacote spanner-analytics de código aberto, que facilita operações comuns de análise de dados no Python e inclui integrações com os notebooks do Jupyter.