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. Como usar o Spanner para a pesquisa de vetores da Vertex AI fluxo de trabalho, é possível integrar o banco de dados do Spanner Pesquisa de vetor para realizar uma pesquisa de similaridade vetorial no seu 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 embeddings com a pesquisa de vetor.

    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. Você pode usar O Cloud Scheduler deve programar periodicamente esse fluxo de trabalho para manter O índice da Pesquisa Vetorial atualizado com as alterações mais recentes no seu e embeddings 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 de vetores é uma que tem um inventário com milhares de itens. Neste cenário, você é um desenvolvedor de uma loja on-line e gostaria gostaria de usar a pesquisa por similaridade vetorial no catálogo de produtos Spanner, para ajudar seus clientes a encontrar produtos relevantes com base nos as consultas de pesquisa.

Siga as etapas 1 e 2 apresentadas no fluxo de trabalho geral para gerar embeddings para seu catálogo de produtos e sincronize-os com Pesquisa de vetor.

Agora imagine que um cliente navegando no seu aplicativo realiza uma pesquisa como "melhores Shorts esportivos que secam rapidamente para usar na água". Quando seu receber essa consulta, será preciso gerar um embedding de solicitação para esta solicitação de pesquisa usando o Spanner ML.PREDICT função SQL. Use o mesmo modelo de embedding usado para gerar o e embeddings do catálogo de produtos.

Em seguida, consulte o índice da Pesquisa Vetorial por IDs de produtos com os embeddings correspondentes são semelhantes ao embedding de solicitação gerado pelo a 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 de vetores retornar esses IDs de produto semelhantes, você poderá consultar o Spanner para os produtos descrições, contagem de inventário, preço, e outros metadados relevantes para exibir ao seu cliente.

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, confira este tutorial usar a IA generativa para receber recomendações personalizadas em um aplicativo de e-commerce.

A seguir