Gere texto com a função AI.GENERATE

Este tutorial mostra como gerar texto a partir de texto ou dados multimodais através da função AI.GENERATE. Com a função AI.GENERATE, usa uma associação de recursos da nuvem para se ligar a um modelo do Gemini alojado, para que não tenha de criar e manter um modelo seu.

Este tutorial mostra como concluir as seguintes tarefas:

  • Resumir conteúdo de texto e gerar resultados no formato predefinido da função.
  • Resumir conteúdo de texto e gerar resultados estruturados.
  • Transcrever e traduzir conteúdo de vídeo.
  • Analisar o conteúdo de ficheiros de áudio.

Custos

Neste documento, usa os seguintes componentes faturáveis do Google Cloud:

  • 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.

Para gerar uma estimativa de custos com base na sua utilização prevista, use a calculadora de preços.

Os novos Google Cloud utilizadores podem ser elegíveis para uma avaliação sem custo financeiro.

Para mais informações acerca dos preços do BigQuery, consulte os preços do BigQuery na documentação do BigQuery.

Para mais informações sobre os preços da IA generativa do Vertex AI, consulte a página de preços do Vertex AI.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. O BigQuery é ativado automaticamente em novos projetos. Para ativar o BigQuery num projeto pré-existente, aceda a

    Enable the BigQuery API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  7. Funções necessárias

    Para usar a função AI.GENERATE, precisa das seguintes funções de gestão de identidade e de acesso (IAM):

    • Criar e usar conjuntos de dados e tabelas do BigQuery: Editor de dados do BigQuery (roles/bigquery.dataEditor) no seu projeto.
    • Criar, delegar e usar associações do BigQuery: administrador de associações do BigQuery (roles/bigquery.connectionsAdmin) no seu projeto.
    • Conceda autorizações à conta de serviço da ligação: administrador de IAM do projeto (roles/resourcemanager.projectIamAdmin) no projeto que contém o ponto final do Vertex AI.
    • Criar tarefas do BigQuery: utilizador de tarefas do BigQuery (roles/bigquery.jobUser) no seu projeto.

    Estas funções predefinidas contêm as autorizações necessárias para realizar as tarefas descritas neste documento. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:

    Autorizações necessárias

    • Crie um conjunto de dados: bigquery.datasets.create
    • Crie, delegue e use uma associação: bigquery.connections.*
    • Defina as autorizações da conta de serviço: resourcemanager.projects.getIamPolicy e resourcemanager.projects.setIamPolicy
    • Consultar dados de tabelas: bigquery.tables.getData

    Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

    Crie um conjunto de dados

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

    Consola

    1. Na Google Cloud consola, aceda à página BigQuery.

      Aceda à página do BigQuery

    2. No painel Explorador, clique no nome do 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, introduza bqml_tutorial.

      • Em Tipo de localização, selecione Várias regiões e, de seguida, selecione EUA (várias regiões nos Estados Unidos).

      • Deixe as restantes predefinições como estão e clique em Criar conjunto de dados.

    bq

    Para criar um novo conjunto de dados, use o comando bq mk com a flag --location. Para uma lista completa de parâmetros possíveis, consulte a referência do comando bq mk --dataset.

    1. Crie um conjunto de dados com o nome bqml_tutorial com a localização dos dados definida como US e uma descrição de BigQuery ML tutorial dataset:

      bq --location=US mk -d \
       --description "BigQuery ML tutorial dataset." \
       bqml_tutorial

      Em vez de usar a flag --dataset, o comando usa o atalho -d. Se omitir -d e --dataset, o comando cria um conjunto de dados por predefinição.

    2. Confirme que 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"
      }
    }

    DataFrames do BigQuery

    Antes de experimentar este exemplo, siga as instruções de configuração dos DataFrames do BigQuery no início rápido do BigQuery com os DataFrames do BigQuery. Para mais informações, consulte a documentação de referência do BigQuery DataFrames.

    Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.

    import google.cloud.bigquery
    
    bqclient = google.cloud.bigquery.Client()
    bqclient.create_dataset("bqml_tutorial", exists_ok=True)

    Crie uma associação

    Crie uma associação de recursos na nuvem e obtenha a conta de serviço da associação. Crie a associação na mesma localização que o conjunto de dados criado no passo anterior.

    Siga estes passos para criar uma associação:

    1. Aceda à página do BigQuery.

      Aceda ao BigQuery

    2. No painel Explorador, clique em Adicionar dados:

      O elemento da IU Adicionar dados.

      É apresentada a caixa de diálogo Adicionar dados.

    3. No painel Filtrar por, na secção Tipo de origem de dados, selecione Aplicações empresariais.

      Em alternativa, no campo Pesquisar origens de dados, pode introduzir Vertex AI.

    4. Na secção Origens de dados em destaque, clique em Vertex AI.

    5. Clique no cartão da solução Modelos da Vertex AI: federação do BigQuery.

    6. Na lista Tipo de ligação, selecione Modelos remotos, funções remotas, BigLake e Spanner da Vertex AI (recurso da nuvem).

    7. No campo ID de associação, escreva test_connection.

    8. Clique em Criar associação.

    9. Clique em Aceder à associação.

    10. No painel Informações da ligação, copie o ID da conta de serviço para utilização no passo seguinte.

    Conceda acesso à conta de serviço

    Conceda à conta de serviço da ligação a função de utilizador do Vertex AI.

    Para conceder a função, siga estes passos:

    1. Aceda à página IAM e administrador.

      Aceda a IAM e administração

    2. Clique em Adicionar.

      É apresentada a caixa de diálogo Adicionar responsáveis.

    3. No campo Novos membros, introduza o ID da conta de serviço que copiou anteriormente.

    4. No campo Selecionar uma função, selecione Vertex AI e, de seguida, selecione Utilizador da Vertex AI.

    5. Clique em Adicionar outra função.

    6. No campo Selecionar uma função, escolha Cloud Storage e, de seguida, selecione Visualizador de objetos de armazenamento.

    7. Clique em Guardar.

    Resumir texto e usar o formato de saída predefinido

    Siga estes passos para gerar texto com a função AI.GENERATE e apresentar os resultados no formato predefinido da função AI.GENERATE:

    1. Na Google Cloud consola, aceda à página BigQuery.

      Aceda ao BigQuery

    2. No editor de consultas, execute a seguinte consulta:

      WITH
      bbc_news AS (
        SELECT body FROM `bigquery-public-data.bbc_news.fulltext` LIMIT 5
      )
      SELECT AI.GENERATE(body, connection_id => 'us.test_connection') AS news FROM bbc_news;

      O resultado é semelhante ao seguinte:

      +---------------------------------------------+------------------------------------+---------------+
      | news.result                                 | news.full_response                 | news.status   |
      +---------------------------------------------+------------------------------------+---------------+
      | This article presents a debate about the    | {"candidates":[{"avg_logprobs":    |               |
      | "digital divide" between rich and poor      | -0.31465074559841777, content":    |               |
      | nations. Here's a breakdown of the key..    | {"parts":[{"text":"This article..  |               |
      +---------------------------------------------+------------------------------------+---------------+
      | This article discusses how advanced         | {"candidates":[{"avg_logprobs":    |               |
      | mapping technology is aiding humanitarian   | -0.21313422900091983,"content":    |               |
      | efforts in Darfur, Sudan. Here's a...       | {"parts":[{"text":"This article..  |               |
      +---------------------------------------------+------------------------------------+---------------+
      | ...                                         | ...                                | ...           |
      +---------------------------------------------+------------------------------------+---------------+
      

    Resumir texto e gerar resultados estruturados

    Siga estes passos para gerar texto através da função AI.GENERATE e use o argumento output_schema da função AI.GENERATE para formatar a saída:

    1. Na Google Cloud consola, aceda à página do BigQuery.

      Aceda ao BigQuery

    2. No editor de consultas, execute a seguinte consulta:

      WITH
      bbc_news AS (
        SELECT
          body
        FROM
          `bigquery-public-data`.bbc_news.fulltext
        LIMIT 5
      )
      SELECT
      news.good_sentiment,
      news.summary
      FROM
      bbc_news,
      UNNEST(ARRAY[AI.GENERATE(body, connection_id  => 'us.test', output_schema  => 'summary STRING, good_sentiment BOOL')]) AS news;

      O resultado é semelhante ao seguinte:

      +----------------+--------------------------------------------+
      | good_sentiment | summary                                    |
      +----------------+--------------------------------------------+
      | true           | A World Bank report suggests the digital   |
      |                | divide is rapidly closing due to increased |
      |                | access to technology in developing..       |
      +----------------+--------------------------------------------+
      | true           | A review of sports games, focusing on the  |
      |                | rivalry between EA Sports and ESPN, and    |
      |                | the recent deal where EA acquired the..    |
      +----------------+--------------------------------------------+
      | ...            | ...                                        |
      +----------------+--------------------------------------------+
      

    Transcreva e traduza conteúdo de vídeo

    Siga estes passos para criar uma tabela de objetos sobre conteúdo de vídeo público e, de seguida, transcrever e traduzir um vídeo:

    1. Na Google Cloud consola, aceda à página do BigQuery.

      Aceda ao BigQuery

    2. No editor de consultas, execute a seguinte consulta para criar a tabela de objetos:

      CREATE OR REPLACE EXTERNAL TABLE `bqml_tutorial.video`
      WITH CONNECTION `us.test_connection`
      OPTIONS (
        object_metadata = 'SIMPLE',
        uris =
          ['gs://cloud-samples-data/generative-ai/video/*']);
    3. No editor de consultas, execute a seguinte consulta para transcrever e traduzir o pixel8.mp4ficheiro:

      SELECT
      AI.GENERATE(
        (OBJ.GET_ACCESS_URL(ref, 'r'), 'Transcribe the video in Japanese and then translate to English.'),
        connection_id => 'us.test_connection',
        endpoint => 'gemini-2.5-flash',
        output_schema => 'japanese_transcript STRING, english_translation STRING'
      ).* EXCEPT (full_response, status)
      FROM
      `bqml_tutorial.video`
      WHERE
      REGEXP_CONTAINS(uri, 'pixel8.mp4');

      O resultado é semelhante ao seguinte:

      +--------------------------------------------+--------------------------------+
      | english_translation                        | japanese_transcript            |
      +--------------------------------------------+--------------------------------+
      | My name is Saeka Shimada. I'm a            | 島田 さえか です 。 東京 で フ     |
      | photographer in Tokyo. Tokyo has many      | ォトグラファー を し て い ま      |
      | faces. The city at night is totally...     | す 。 東京 に は いろんな 顔 が    |
      +--------------------------------------------+--------------------------------+
      

    Analise o conteúdo de ficheiros de áudio

    Siga estes passos para criar uma tabela de objetos sobre conteúdo de áudio público e, em seguida, analisar o conteúdo dos ficheiros de áudio.

    1. Na Google Cloud consola, aceda à página do BigQuery.

      Aceda ao BigQuery

    2. No editor de consultas, execute a seguinte consulta para criar a tabela de objetos:

      CREATE OR REPLACE EXTERNAL TABLE `bqml_tutorial.audio`
        WITH CONNECTION `us.test_connection`
        OPTIONS (
          object_metadata = 'SIMPLE',
          uris =
            ['gs://cloud-samples-data/generative-ai/audio/*']);
    3. No editor de consultas, execute a seguinte consulta para analisar os ficheiros de áudio:

      SELECT
      AI.GENERATE(
        (OBJ.GET_ACCESS_URL(ref, 'r'), 'Summarize the content of this audio file.'),
        connection_id => 'us.test_connection',
        endpoint => 'gemini-2.5-flash',
        output_schema => 'topic ARRAY<STRING>, summary STRING'
      ).* EXCEPT (full_response, status), uri
      FROM
      `bqml_tutorial.audio`;

      Os resultados têm um aspeto semelhante ao seguinte:

      +--------------------------------------------+-----------------------------------------------------------+
      | summary                                    | topic              | uri                                  |
      +--------------------------------------------+-----------------------------------------------------------+
      | The audio contains a distinctive 'beep'    | beep sound         | gs://cloud-samples-data/generativ... |
      | sound, followed by the characteristic      |                    |                                      |
      | sound of a large vehicle or bus backing..  |                    |                                      |
      +--------------------------------------------+--------------------+--------------------------------------+
      |                                            | vehicle backing up |                                      |
      |                                            +--------------------+                                      |
      |                                            | bus                |                                      |
      |                                            +--------------------+                                      |
      |                                            | alarm              |                                      |
      +--------------------------------------------+--------------------+--------------------------------------+
      | The speaker introduces themselves          | Introduction       | gs://cloud-samples-data/generativ... |
      | as Gemini and expresses their excitement   |                    |                                      |
      | and readiness to dive into something..     |                    |                                      |
      +--------------------------------------------+--------------------+--------------------------------------+
      |                                            | Readiness          |                                      |
      |                                            +--------------------+                                      |
      |                                            | Excitement         |                                      |
      |                                            +--------------------+                                      |
      |                                            | Collaboration      |                                      |
      +--------------------------------------------+--------------------+--------------------------------------+
      | ...                                        | ...                | ...                                  |
      +--------------------------------------------+--------------------+--------------------------------------+
      

    Limpar

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.