Gerar embeddings de texto usando um modelo aberto e a função AI.GENERATE_EMBEDDING
Neste tutorial, mostramos como criar um
modelo remoto
baseado no
modelo de embedding de texto de código aberto Qwen3-Embedding-0.6B
e como usar esse modelo com a
função AI.GENERATE_EMBEDDING
para incorporar resenhas de filmes da tabela pública bigquery-public-data.imdb.reviews.
Permissões necessárias
Para seguir este tutorial, você precisa dos seguintes papéis do Identity and Access Management (IAM):
- Criar e usar conjuntos de dados, conexões e modelos do BigQuery: administrador do BigQuery (
roles/bigquery.admin). - Conceda permissões à conta de serviço da conexão: administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin). - Implantar e remover modelos na plataforma de agentes do Gemini Enterprise: administrador da plataforma de agentes (
roles/aiplatform.admin).
Esses papéis predefinidos contêm as permissões necessárias para executar as tarefas neste documento. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
- Criar um conjunto de dados:
bigquery.datasets.create - Criar, delegar e usar uma conexão:
bigquery.connections.* - Defina a conexão padrão:
bigquery.config.* - Defina as permissões da conta de serviço:
resourcemanager.projects.getIamPolicyeresourcemanager.projects.setIamPolicy - Implantar e cancelar a implantação de um modelo da Agent Platform:
aiplatform.endpoints.deployaiplatform.endpoints.undeploy
- Crie um modelo e execute a inferência:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Custos
Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
- Gemini Enterprise Agent Platform: You incur costs for calls to the Agent Platform model that's represented by the remote model.
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Para mais informações, consulte Preços do BigQuery na documentação do BigQuery.
Os modelos abertos implantados no Agent Platform são cobrados por hora de máquina. Isso significa que o faturamento começa assim que o endpoint é totalmente configurado e continua até que você cancele a implantação dele. Para mais informações sobre os preços da Agent Platform, consulte a página Preços da Agent Platform.
Antes de começar
-
No console do Google Cloud , na página do seletor de projetos, selecione ou crie um projeto do Google Cloud .
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
-
Ative as APIs BigQuery, BigQuery Connection e Agent Platform.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.
crie um conjunto de dados
Crie um conjunto de dados do BigQuery para armazenar seu modelo de ML.
Console
No console do Google Cloud , acesse a página BigQuery.
No painel Explorer, clique no nome do seu projeto.
Clique em Conferir ações > Criar conjunto de dados.
Na página Criar conjunto de dados, faça o seguinte:
Para o código do conjunto de dados, insira
bqml_tutorial.Em Tipo de local, selecione Multirregião e EUA.
Mantenha as configurações padrão restantes e clique em Criar conjunto de dados.
bq
Para criar um conjunto de dados, use o
comando bq mk --dataset.
Crie um conjunto de dados chamado
bqml_tutorialcom o local dos dados definido comoUS.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Confirme se o conjunto de dados foi criado:
bq ls
API
Chame o método datasets.insert com um recurso de conjunto de dados definido.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
Criar o modelo remoto
Crie um modelo remoto que represente uma Agent Platform hospedada:
No console do Google Cloud , acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
CREATE OR REPLACE MODEL `bqml_tutorial.qwen3_embedding_model` REMOTE WITH CONNECTION DEFAULT OPTIONS ( HUGGING_FACE_MODEL_ID = 'Qwen/Qwen3-Embedding-0.6B' );
A consulta leva até 20 minutos para ser concluída. Depois disso, o
modelo qwen3_embedding_model aparece no conjunto de dados bqml_tutorial no
painel Explorer. Como a consulta usa uma instrução CREATE MODEL para criar um
modelo, não há resultados de consulta.
Realizar embedding de texto
Realize o embedding de texto em avaliações de filmes do IMDB usando o modelo remoto e a função AI.GENERATE_EMBEDDING:
No console do Google Cloud , acesse a página BigQuery.
No editor de consultas, insira a seguinte instrução para realizar o embedding de texto em cinco avaliações de filmes:
SELECT * FROM AI.GENERATE_EMBEDDING( MODEL `bqml_tutorial.qwen3_embedding_model`, ( SELECT review AS content, * FROM `bigquery-public-data.imdb.reviews` LIMIT 5 ) );
Os resultados incluem as seguintes colunas:
embedding: uma matriz de números de ponto flutuante de precisão dupla para representar os embeddings gerados.status: o status da resposta da API sobre a linha correspondente. Se a operação tiver sido bem-sucedida, esse valor estará vazio.content: o texto de entrada de que os embeddings serão extraídos.- Todas as colunas da tabela
bigquery-public-data.imdb.reviews.
Cancelar a implantação do modelo
Se você optar por não excluir o projeto conforme recomendado, será necessário cancelar a implantação do modelo de incorporação Qwen3 na Agent Platform para evitar o faturamento contínuo dele. O BigQuery cancela automaticamente a implantação do modelo após um período especificado de inatividade (6,5 horas por padrão).
Como alternativa, você pode cancelar a implantação do modelo imediatamente usando a
instrução ALTER MODEL,
conforme mostrado no exemplo a seguir:
ALTER MODEL `bqml_tutorial.qwen3_embedding_model` SET OPTIONS (deploy_model = false);
Para mais informações, consulte Cancelamento automático ou imediato da implantação de modelos abertos.
Limpar
- No console Google Cloud , acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
A seguir
- Aprenda a usar embeddings de texto para pesquisa semântica e geração aumentada por recuperação (RAG).