Pesquisa de vetores da Vertex AI permite que os usuários pesquisem itens semanticamente semelhantes usando embeddings de vetores. Usando o fluxo de trabalho da pesquisa de vetores do Spanner para a Vertex AI, é possível integrar o banco de dados do Spanner com a pesquisa de vetores para realizar uma pesquisa de similaridade vetorial nos dados do Spanner.
O diagrama a seguir mostra o fluxo de trabalho completo do aplicativo é possível ativar e usar a pesquisa de vetores no Spanner dados:
O fluxo de trabalho geral é o seguinte:
Gere e armazene embeddings de vetores.
É possível gerar embeddings de vetores dos dados, armazenar e gerenciá-las no Spanner com seus dados operacionais. Você pode gerar embeddings com o SQL
ML.PREDICT
do Spanner para acessar o modelotextembedding-gecko
da Vertex AI ou use 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 com o Workflows para exportar e fazer upload de embeddings para um índice da Pesquisa Vetorial. 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 a pesquisa por similaridade vetorial usando o índice da Pesquisa Vetorial.
Consultar o índice da Pesquisa Vetorial para pesquisar e encontrar resultados itens semanticamente parecidos. É possível consultar usando um endpoint público ou com o 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 vetor 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 faz 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 o
e embeddings do catálogo de produtos.
Em seguida, consulte o índice de 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 troncos 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.
Você também pode usar a IA generativa processar os resultados retornados pelo Spanner antes de exibir para o cliente. Por exemplo, é possível usar a grande IA generativa do Google modelos para gerar um resumo conciso dos produtos recomendados. Para mais mais informações, veja este tutorial 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 Spanner para a Vertex AI Fluxo de trabalho da pesquisa de vetores, consulte o repositório do GitHub (link em inglês).
- 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.