O Vertex AI Vector Search permite que os usuários pesquisem itens semanticamente semelhantes usando embeddings vetoriais. Usando o fluxo de trabalho da pesquisa de vetores do Spanner para a Vertex AI, é possível integrar o banco de dados do Spanner à pesquisa de vetores para realizar uma pesquisa de similaridade vetorial nos dados do Spanner.
O diagrama a seguir mostra o fluxo de trabalho do aplicativo completo de como ativar e usar a Pesquisa de vetores nos dados do Spanner:
O fluxo de trabalho geral é o seguinte:
Gerar e armazenar embeddings de vetor.
Você pode gerar embeddings de vetor dos seus dados e armazená-los e gerenciar no Spanner com seus 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 embedding implantados na Vertex AI.Sincronize os embeddings com a Pesquisa vetorial.
Use o fluxo de trabalho da pesquisa de vetores do Spanner para a Vertex AI, que é implantado usando Fluxos de trabalho para exportar e fazer upload de embeddings em um índice de pesquisa de vetores. Use o Cloud Scheduler para programar esse fluxo de trabalho periodicamente e manter o índice da pesquisa de vetores atualizado com as mudanças mais recentes nas incorporações no Spanner.
Realize pesquisas de similaridade vetorial usando seu índice de pesquisa de vetor.
Consultar o índice da pesquisa vetorial para pesquisar e encontrar resultados de itens semanticamente semelhantes. É possível fazer consultas usando um endpoint público ou pelo peering de VPC.
Exemplo de caso de uso:
Um caso de uso ilustrativo da Pesquisa Vetorial é um varejista on-line que tem um inventário de centenas de milhares de itens. Nesse cenário, você é um desenvolvedor de um varejista on-line e quer usar a pesquisa de similaridade de vetores 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 de vetor para seu catálogo de produtos e sincronize esses embeddings com a Pesquisa de vetor.
Agora imagine que um cliente navegando no seu aplicativo realiza uma pesquisa como
"melhores shorts esportivos de secagem rápida que posso usar na água". Quando o
aplicativo receber essa consulta, será 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 do catálogo de produtos.
Em seguida, consulte o índice da Pesquisa vetorial para encontrar IDs de produtos cujos embeddings correspondentes sejam semelhantes ao embedding de solicitação gerado a partir da 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 shorts de natação.
Depois que a Pesquisa vetorial retornar esses IDs de produtos semelhantes, você poderá consultar a Ferramenta para mostrar ao cliente as descrições, a contagem de inventário, o preço e outros metadados relevantes dos produtos.
Também é possível usar a IA generativa para processar os resultados retornados pelo Spanner antes de mostrá-los ao cliente. Por exemplo, você pode usar os 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 de vetor
- Saiba mais sobre machine learning e embeddings no nosso curso intensivo sobre embeddings.
- Saiba mais sobre o fluxo de trabalho da pesquisa de vetor do Spanner para a Vertex AI no repositório do GitHub.
- Saiba mais sobre o pacote de código aberto spanner-analytics, que facilita operações comuns de análise de dados em Python e inclui integrações com notebooks do Jupyter.