Gerar embeddings de texto usando um modelo aberto e a função AI.GENERATE_EMBEDDING

Este tutorial mostra 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 AI.GENERATE_EMBEDDING função para incorporar resenhas de filmes da bigquery-public-data.imdb.reviews tabela pública.

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).
  • Conceder permissões à conta de serviço da conexão: administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin).
  • Implantar e cancelar a implantação de modelos na Vertex AI: administrador da Vertex AI (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.*
  • Definir a conexão padrão: bigquery.config.*
  • Definir permissões da conta de serviço: resourcemanager.projects.getIamPolicy e resourcemanager.projects.setIamPolicy
  • Implantar e cancelar a implantação de um modelo da Vertex AI:
    • aiplatform.endpoints.deploy
    • aiplatform.endpoints.undeploy
  • Criar um modelo e executar a inferência:
    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
    • bigquery.models.updateMetadata

Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.

Custos

Neste documento, você usará os seguintes componentes faturáveis do Cloud de Confiance by S3NS:

  • BigQuery ML: You incur costs for the data that you process in BigQuery.
  • Vertex AI: You incur costs for calls to the Vertex AI model that's represented by the remote model.

Para mais informações, consulte Preços do BigQuery em a documentação do BigQuery.

Os modelos abertos implantados na Vertex AI 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. Para mais informações sobre preços da Vertex AI, consulte a página de preços da Vertex AI.

Antes de começar

  1. No Cloud de Confiance console do, na página do seletor de projetos, escolha ou crie um Cloud de Confiance projeto do.

    Papéis necessários para selecionar ou criar um projeto

    • Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
    • Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos (roles/resourcemanager.projectCreator), que contém a resourcemanager.projects.create permissão. Saiba como conceder papéis.

    Acessar o seletor de projetos

  2. Verifique se o faturamento está ativado para o Cloud de Confiance projeto.

  3. Ative as APIs BigQuery, BigQuery Connection e Vertex AI.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar as APIs

Criar um conjunto de dados

Crie um conjunto de dados do BigQuery para armazenar o modelo de ML.

Console

  1. No Cloud de Confiance console, acesse a página BigQuery.

    Acessar a página do BigQuery

  2. No painel Explorer, clique no nome do seu projeto.

  3. Clique em Ver ações > Criar conjunto de dados

  4. Na página Criar conjunto de dados, faça o seguinte:

    • Para o ID do conjunto de dados, insira bqml_tutorial.

    • Em Tipo de local, selecione Multirregião e selecione EUA.

    • Mantenha as configurações padrão restantes e clique em Criar conjunto de dados.

bq

Para criar um novo conjunto de dados, use o bq mk --dataset comando.

  1. Crie um conjunto de dados chamado bqml_tutorial com o local de dados definido como US.

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. Confirme se o conjunto de dados foi criado:

    bq ls

API

Chame o datasets.insert método com um recurso de conjunto de dados definido.

{
  "datasetReference": {
     "datasetId": "bqml_tutorial"
  }
}

Criar o modelo remoto

Crie um modelo remoto que represente um modelo da Vertex AI hospedado:

  1. No Cloud de Confiance console, acesse a página BigQuery.

    Acessar o BigQuery

  2. 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 resenhas de filmes do IMDB usando o modelo remoto e a função AI.GENERATE_EMBEDDING:

  1. No Cloud de Confiance console, acesse a página BigQuery.

    Acessar o BigQuery

  2. No editor de consultas, insira a seguinte instrução para realizar o embedding de texto em cinco resenhas 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 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 do qual 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, cancele a implantação do modelo de embedding Qwen3 na Vertex AI para evitar o faturamento contínuo. 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 ALTER MODEL instrução, 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

  1. No Cloud de Confiance console, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  3. Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.

A seguir