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 PlatformPROJECT: 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