Générer du texte avec la fonction AI.GENERATE

Ce tutoriel vous explique comment générer du texte à partir de données textuelles ou multimodales à l'aide de la fonction AI.GENERATE. Avec la fonction AI.GENERATE, vous utilisez une connexion à une ressource cloud pour vous connecter à un modèle Gemini hébergé. Vous n'avez ainsi pas besoin de créer ni de gérer votre propre modèle.

Ce guide vous explique comment effectuer les tâches suivantes :

  • Résume le contenu textuel et affiche les résultats dans le format par défaut de la fonction.
  • Résumer du contenu textuel et générer des résultats structurés.
  • transcrire et traduire des contenus vidéo ;
  • Analyser le contenu d'un fichier audio.

Coûts

Dans ce document, vous utilisez les composants facturables suivants de 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.

Pour obtenir une estimation des coûts en fonction de votre utilisation prévue, utilisez le simulateur de coût.

Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai sans frais.

Pour en savoir plus sur les tarifs de BigQuery, consultez la page Tarifs de BigQuery dans la documentation BigQuery.

Pour en savoir plus sur les tarifs de l'IA générative Agent Platform, consultez la page Tarifs d'Agent Platform.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  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. BigQuery est automatiquement activé dans les nouveaux projets. Pour activer BigQuery dans un projet préexistant, accédez à

    Activez l'API BigQuery.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer l'API

Rôles requis

Pour utiliser la fonction AI.GENERATE, vous avez besoin des rôles IAM (Identity and Access Management) suivants :

  • Créer et utiliser des ensembles de données et des tables BigQuery : Éditeur de données BigQuery (roles/bigquery.dataEditor) sur votre projet.
  • Créer, déléguer et utiliser des connexions BigQuery : administrateur de connexion BigQuery (roles/bigquery.connectionsAdmin) sur votre projet.
  • Accordez des autorisations au compte de service de la connexion : Administrateur IAM du projet (roles/resourcemanager.projectIamAdmin) sur le projet contenant le point de terminaison de la plate-forme Gemini Enterprise Agent.
  • Créer des jobs BigQuery : rôle Utilisateur de job BigQuery (roles/bigquery.jobUser) sur votre projet.

Ces rôles prédéfinis contiennent les autorisations requises pour effectuer les tâches décrites dans ce document. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

  • Créez un ensemble de données : bigquery.datasets.create
  • Créer, déléguer et utiliser une connexion : bigquery.connections.*
  • Définissez les autorisations du compte de service : resourcemanager.projects.getIamPolicy et resourcemanager.projects.setIamPolicy.
  • Interroger les données d'une table : bigquery.tables.getData

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un ensemble de données

Créez un ensemble de données BigQuery pour stocker votre modèle de ML.

Console

  1. Dans la console Google Cloud , accédez à la page BigQuery.

    Accéder à la page "BigQuery"

  2. Dans le volet Explorateur, cliquez sur le nom de votre projet.

  3. Cliquez sur Afficher les actions > Créer un ensemble de données.

  4. Sur la page Créer un ensemble de données, procédez comme suit :

    • Dans le champ ID de l'ensemble de données, saisissez bqml_tutorial.

    • Pour Type d'emplacement, sélectionnez Multirégional, puis États-Unis.

    • Conservez les autres paramètres par défaut, puis cliquez sur Créer un ensemble de données.

bq

Pour créer un ensemble de données, utilisez la commande bq mk --dataset.

  1. Créez un ensemble de données nommé bqml_tutorial et définissez l'emplacement des données sur US.

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. Vérifiez que l'ensemble de données a été créé :

    bq ls

API

Appelez la méthode datasets.insert avec une ressource d'ensemble de données définie.

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

Créer une connexion

Créez une connexion de ressource cloud et obtenez le compte de service de la connexion. Créez la connexion dans le même emplacement que l'ensemble de données que vous avez créé à l'étape précédente.

Pour créer une connexion, procédez comme suit :

  1. Accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le volet Explorateur, cliquez sur Ajouter des données :

    Élément d'interface utilisateur "Ajouter des données".

    La boîte de dialogue Ajouter des données s'ouvre.

  3. Dans le panneau Filtrer par, dans la section Type de source de données, sélectionnez Applications métier.

    Vous pouvez également saisir Vertex AI dans le champ Rechercher des sources de données.

  4. Dans la section Sources de données recommandées, cliquez sur Vertex AI.

  5. Cliquez sur la carte de solution Vertex AI Models: BigQuery Federation (Vertex AI : Fédération BigQuery).

  6. Dans la liste Type de connexion, sélectionnez Modèles distants Vertex AI, fonctions à distance, BigLake et Spanner (ressource Cloud).

  7. Dans le champ ID de connexion, saisissez test_connection.

  8. Cliquez sur Créer une connexion.

  9. Cliquez sur Accéder à la connexion.

  10. Dans le volet Informations de connexion, copiez l'ID du compte de service à utiliser à l'étape suivante.

Accorder l'accès au compte de service

Attribuez le rôle d'utilisateur Vertex AI au compte de service de la connexion.

Pour accorder le rôle, procédez comme suit :

  1. Accédez à la page IAM et administration.

    Accéder à IAM et administration

  2. Cliquez sur Ajouter.

    La boîte de dialogue Ajouter des comptes principaux s'ouvre.

  3. Dans le champ Nouveaux comptes principaux, saisissez l'ID du compte de service que vous avez copié précédemment.

  4. Dans le champ Sélectionner un rôle, sélectionnez Vertex AI, puis Utilisateur Vertex AI.

  5. Cliquez sur Ajouter un autre rôle.

  6. Dans le champ Sélectionner un rôle, sélectionnez Cloud Storage, puis Lecteur des objets Storage.

  7. Cliquez sur Enregistrer.

Résumer du texte et utiliser le format de sortie par défaut

Pour générer du texte à l'aide de la fonction AI.GENERATE et afficher les résultats au format par défaut de la fonction AI.GENERATE, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez la requête suivante :

    WITH
    bbc_news AS (
      SELECT body FROM `bigquery-public-data.bbc_news.fulltext` LIMIT 5
    )
    SELECT AI.GENERATE(body) AS news FROM bbc_news;

    Le résultat ressemble à ce qui suit :

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

Résumer du texte et générer des résultats structurés

Pour générer du texte à l'aide de la fonction AI.GENERATE et mettre en forme le résultat à l'aide de l'argument output_schema de la fonction AI.GENERATE, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page "BigQuery".

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez la requête suivante :

    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, output_schema  => 'summary STRING, good_sentiment BOOL')]) AS news;

    Le résultat ressemble à ce qui suit :

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

Transcrire et traduire des contenus vidéo

Pour créer une table d'objets sur des contenus vidéo publics, puis transcrire et traduire une vidéo :

  1. Dans la console Google Cloud , accédez à la page "BigQuery".

    Accéder à BigQuery

  2. Dans l'éditeur de requêtes, exécutez la requête suivante pour créer la table d'objets :

    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. Dans l'éditeur de requête, exécutez la requête suivante pour transcrire et traduire le fichier pixel8.mp4 :

    SELECT
    AI.GENERATE(
      (OBJ.GET_ACCESS_URL(ref, 'r'), 'Transcribe the video in Japanese and then translate to English.'),
      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');

    Le résultat ressemble à ce qui suit :

    +--------------------------------------------+--------------------------------+
    | 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...     | す 。 東京 に は いろんな 顔 が    |
    +--------------------------------------------+--------------------------------+
    

Analyser le contenu d'un fichier audio

Suivez ces étapes pour créer une table d'objets sur le contenu audio public, puis analysez le contenu des fichiers audio.

  1. Dans la console Google Cloud , accédez à la page "BigQuery".

    Accéder à BigQuery

  2. Dans l'éditeur de requêtes, exécutez la requête suivante pour créer la table d'objets :

    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. Dans l'éditeur de requête, exécutez la requête suivante pour analyser les fichiers audio :

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

    Les résultats ressemblent à ce qui suit :

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

Effectuer un nettoyage

  1. Dans la console Google Cloud , accédez à la page Gérer les ressources.

    Accéder à la page "Gérer les ressources"

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.