Exportar embeddings do Spanner para a pesquisa de vetores da Vertex AI

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:

Fluxo de trabalho do Spanner para a pesquisa de vetores.

O fluxo de trabalho geral é o seguinte:

  1. 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 modelo textembedding-gecko da Vertex AI ou use outros modelos de embedding implantados na Vertex AI.

  2. 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.

  3. 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