Receber embeddings de texto da Agent Platform

Esta página descreve como usar a API Embedding de texto da plataforma de agentes do Gemini Enterprise para gerar, armazenar e atualizar embeddings de texto para dados armazenados no Spanner em bancos de dados com dialeto GoogleSQL e PostgreSQL.

Um embedding de texto é uma representação vetorial de dados de texto e é usado de várias maneiras para encontrar itens semelhantes. Você interage com eles sempre que faz uma Pesquisa Google ou recebe recomendações ao fazer compras on-line. Ao criar embeddings de texto, você recebe representações vetoriais de texto natural como matrizes de números de ponto flutuante. Isso significa que é atribuída uma representação numérica a todo o texto de entrada. Ao comparar a distância numérica entre as representações vetoriais de duas partes de texto, um aplicativo pode determinar a semelhança entre o texto ou os objetos representados por ele.

Com a API de embeddings de texto da Agent Platform, é possível criar um embedding de texto com a IA generativa. Neste tutorial, você vai usar o modelo de embedding de texto da Agent Platform para gerar embeddings de texto dos dados armazenados no Spanner.

Para saber mais sobre embeddings de texto e modelos compatíveis, consulte Receber embeddings de texto.

Objetivo

Neste tutorial, você aprenderá a realizar as seguintes tarefas:

  • Registre um modelo de embedding de texto da Agent Platform em um esquema do Spanner usando instruções DDL.
  • Faça referência ao modelo registrado usando consultas SQL para gerar embeddings com base em dados armazenados no Spanner.

Preços

Neste tutorial, usamos componentes faturáveis do Google Cloud, incluindo:

  • Spanner
  • Agent Platform

Para mais informações sobre os custos do Spanner, consulte a página de preços do Spanner.

Para mais informações sobre os custos da Agent Platform, consulte a página Preços da Agent Platform.

gerar e armazenar embeddings de texto

Dependendo do modelo usado, a geração de embeddings pode levar algum tempo. Para cargas de trabalho mais sensíveis ao desempenho, a prática recomendada é evitar gerar incorporações em transações de leitura e gravação. Em vez disso, gere os embeddings em uma transação somente leitura usando os exemplos de SQL a seguir.

GoogleSQL

Registrar um modelo de embeddings de texto no Spanner

No GoogleSQL, é necessário registrar um modelo antes de usá-lo com a função ML.PREDICT. Para registrar o modelo de embedding de texto do Agent Platform em um banco de dados do Spanner, execute a seguinte instrução DDL:

CREATE MODEL MODEL_NAME
INPUT(
  content STRING(MAX),
  -- Optional: For models that support specifying task type.
  task_type STRING(MAX),
)
OUTPUT(
  embeddings
    STRUCT<
      statistics STRUCT<truncated BOOL, token_count FLOAT64>,
      values ARRAY<FLOAT64>>
)
REMOTE OPTIONS (
  endpoint = '//aiplatform.googleapis.com/projects/PROJECT/locations/LOCATION/publishers/google/models/$MODEL_NAME'
);

Substitua:

  • MODEL_NAME: o nome do modelo de embedding de texto da Agent Platform
  • PROJECT: o projeto que hospeda o endpoint da Agent Platform.
  • LOCATION: o local do endpoint da Plataforma de Agentes

O Spanner concede as permissões adequadas automaticamente. Caso contrário, revise o controle de acesso ao endpoint do modelo.

A descoberta e a validação de esquemas não estão disponíveis para modelos de IA generativa. É necessário fornecer cláusulas INPUT e OUTPUT que correspondam ao esquema dos modelos. Para conferir o esquema completo do modelo de embedding de texto, consulte Receber embeddings de texto.

Gerar embeddings de texto

Para gerar embeddings, transmita um trecho de texto diretamente para a função ML.PREDICT usando o seguinte SQL:

SELECT