Présentation de l'IA générative

Ce document décrit les fonctions d'intelligence artificielle (IA) générative compatibles avec BigQuery. Ces fonctions acceptent les entrées en langage naturel et utilisent des modèles Vertex AI pré-entraînés et des modèles BigQuery intégrés.

Présentation

BigQuery propose diverses fonctions d'IA pour vous aider à effectuer des tâches telles que les suivantes :

  • Générer des contenus créatifs
  • Analysez du texte ou des données non structurées (comme des images), détectez les sentiments et répondez à des questions.
  • Résume les idées ou les impressions clés véhiculées par le contenu.
  • Extraire des données structurées à partir de texte
  • Classer du texte ou des données non structurées dans des catégories définies par l'utilisateur.
  • Générez des embeddings pour rechercher du texte, des images et des vidéos similaires.
  • Évaluez les entrées pour les classer par qualité, similarité ou d'autres critères.

Il existe deux grandes catégories de fonctionnalités d'IA pour vous aider à accomplir ces tâches :

  • Fonctions d'IA à usage général : ces fonctions vous offrent un contrôle et une transparence totaux sur le choix du modèle, de l'invite et des paramètres à utiliser.

    • Effectuer une inférence, par exemple pour répondre à des questions sur vos données

      • AI.GENERATE est la fonction d'inférence la plus flexible. Elle vous permet d'analyser n'importe quelle combinaison de texte et de données non structurées, et de générer des données structurées correspondant à votre schéma personnalisé.
      • Si vous avez besoin d'un type de sortie spécifique, sélectionnez l'une des fonctions d'inférence plus spécialisées suivantes :

        • AI.GENERATE_BOOL
        • AI.GENERATE_DOUBLE
        • AI.GENERATE_INT
    • Générer des résultats structurés, par exemple en extrayant des noms et des adresses à partir de texte non structuré

      • AI.GENERATE, lorsque vous spécifiez un output_schema
      • AI.GENERATE_TABLE
    • Générer du texte avec une version de fonction table de AI.GENERATE

      • AI.GENERATE_TEXT
    • Générez des embeddings pour la recherche sémantique et le clustering.

      • AI.EMBED
      • AI.GENERATE_EMBEDDING
      • AI.SIMILARITY
  • Fonctions d'IA gérées : ces fonctions ont une syntaxe simplifiée et sont optimisées pour le coût et la qualité. BigQuery choisit un modèle pour vous.

    • Filtrer vos données avec des conditions en langage naturel

      • AI.IF
    • Évaluer les entrées, par exemple en fonction de la qualité ou du sentiment

      • AI.SCORE
    • Classer les entrées dans des catégories définies par l'utilisateur

      • AI.CLASSIFY

Fonctionnalités d'IA à usage général

Les fonctions d'IA à usage général vous offrent un contrôle et une transparence complets sur le choix du modèle, de l'invite et des paramètres à utiliser. Leur sortie inclut des informations détaillées sur l'appel au modèle, y compris l'état et la réponse complète du modèle, qui peuvent inclure des informations sur la classification de sécurité ou des citations.

Générer des données structurées

La génération de données structurées est très semblable à la génération de texte, sauf que vous pouvez mettre en forme la réponse du modèle en spécifiant un schéma SQL. Par exemple, vous pouvez générer un tableau contenant le nom, le numéro de téléphone, l'adresse, la demande et le devis d'un client à partir de la transcription d'un appel téléphonique.

Il existe deux façons de générer des données structurées :

Générer des valeurs d'un type spécifique par ligne

Vous pouvez utiliser des fonctions d'IA générative scalaire avec les modèles Gemini pour analyser les données dans les tables standards BigQuery. Les données incluent à la fois des données textuelles et des données non structurées provenant de colonnes contenant des valeurs ObjectRef. Pour chaque ligne du tableau, ces fonctions génèrent une sortie contenant un type spécifique. Par exemple, vous pouvez analyser des images d'ameublement pour générer du texte pour une colonne design_type, afin que le SKU d'ameublement ait une description associée, telle que mid-century modern ou farmhouse.

Les fonctions d'IA suivantes sont disponibles :

Lorsque vous utilisez la fonction AI.GENERATE avec des modèles Gemini compatibles, vous pouvez utiliser le débit provisionné Vertex AI pour fournir un débit élevé et cohérent pour les requêtes. Pour en savoir plus, consultez Utiliser le débit provisionné Vertex AI.

Générer du texte avec une TVF

Vous pouvez effectuer des tâches d'IA générative à l'aide de la fonction table GENERATE_TEXT, qui utilise des modèles distants dans BigQuery ML pour référencer des modèles déployés ou hébergés dans Vertex AI. Vous pouvez créer les types de modèles distants suivants :

Après avoir créé un modèle distant, vous pouvez utiliser la fonction AI.GENERATE_TEXT pour interagir avec ce modèle :

  • Pour les modèles distants basés sur des modèles Gemini, vous pouvez effectuer les opérations suivantes :

    • Utilisez la fonction AI.GENERATE_TEXT pour générer du texte à partir d'une invite que vous spécifiez dans une requête ou que vous extrayez d'une colonne d'une table standard. Lorsque vous spécifiez la requête dans une requête, vous pouvez faire référence aux types de colonnes de table suivants dans la requête :

    • Utilisez la fonction AI.GENERATE_TEXT pour analyser le contenu texte, image, audio, vidéo ou PDF d'une table d'objets à l'aide d'une requête que vous fournissez en tant qu'argument de fonction.

  • Pour tous les autres types de modèles distants, vous pouvez utiliser la fonction AI.GENERATE_TEXT avec une invite que vous fournissez dans une requête ou à partir d'une colonne d'une table standard.

Utilisez les rubriques suivantes pour essayer la génération de texte dans BigQuery ML :

Vous pouvez utiliser l'ancrage et les attributs de sécurité lorsque vous utilisez des modèles Gemini avec la fonction AI.GENERATE_TEXT, à condition d'utiliser un tableau standard pour l'entrée. L'ancrage permet au modèle Gemini d'utiliser des informations supplémentaires provenant d'Internet pour générer des réponses plus spécifiques et factuelles. Les attributs de sécurité permettent au modèle Gemini de filtrer les réponses qu'il renvoie en fonction des attributs que vous spécifiez.

Pour certains modèles, vous pouvez éventuellement choisir de configurer le réglage supervisé, qui vous permet d'entraîner le modèle sur vos propres données afin de l'adapter à votre cas d'utilisation. Toutes les inférences s'effectuent dans Vertex AI. Les résultats sont stockés dans BigQuery.

Pour les modèles Gemini compatibles, vous pouvez utiliser Vertex AI Provisioned Throughput pour fournir un débit élevé et constant pour les requêtes. Pour en savoir plus, consultez Utiliser le débit provisionné Vertex AI.

Générer des embeddings

Un embedding est un vecteur numérique de grande dimension qui représente une entité donnée, comme un exemple de texte ou un fichier audio. La génération d'embeddings vous permet de capturer la sémantique de vos données de manière à faciliter le raisonnement et la comparaison des données.

Voici quelques cas d'utilisation courants de la génération d'embeddings :

  • Utiliser la génération augmentée par récupération (RAG) pour augmenter les réponses du modèle aux requêtes des utilisateurs en référençant des données supplémentaires provenant d'une source fiable. Le RAG offre une meilleure précision factuelle et une meilleure cohérence des réponses. Il permet également d'accéder à des données plus récentes que celles utilisées pour entraîner le modèle.
  • Effectuer une recherche multimodale. Par exemple, utiliser une saisie de texte pour rechercher des images.
  • Effectuer une recherche sémantique pour trouver des éléments similaires à des fins de recommandation, de substitution et de déduplication des enregistrements.
  • Créer des embeddings à utiliser avec un modèle de k-moyennes pour le clustering.

Pour savoir comment générer des embeddings et les utiliser pour effectuer ces tâches, consultez Présentation des embeddings et de la recherche vectorielle.

Fonctions d'IA gérées

Les fonctions d'IA gérées sont conçues pour automatiser les tâches de routine, telles que la classification, le tri ou le filtrage. Ces fonctions utilisent Gemini et ne nécessitent aucune personnalisation. BigQuery utilise l'ingénierie des requêtes et sélectionne le modèle et les paramètres appropriés à la tâche spécifique pour optimiser la qualité et la cohérence de vos résultats. Chaque fonction renvoie une valeur scalaire, telle qu'un BOOL, un FLOAT64 ou un STRING, et n'inclut pas d'informations supplémentaires sur l'état du modèle. Les fonctions d'IA gérées suivantes sont disponibles :

  • AI.IF : filtrez des données textuelles ou multimodales, par exemple dans une clause WHERE ou JOIN, en fonction d'une requête. Par exemple, vous pouvez filtrer les descriptions de produits pour n'afficher que celles qui décrivent un article qui ferait un bon cadeau.
  • AI.SCORE : évaluez les entrées en fonction d'une invite afin de classer les lignes par qualité, similarité ou autres critères. Vous pouvez utiliser cette fonction dans une clause ORDER BY pour extraire les K premiers éléments en fonction du score. Par exemple, vous pouvez trouver les 10 avis les plus positifs ou les plus négatifs pour un produit.
  • AI.CLASSIFY : classer du texte dans des catégories définies par l'utilisateur. Vous pouvez utiliser cette fonction dans une clause GROUP BY pour regrouper les entrées selon les catégories que vous définissez. Par exemple, vous pouvez classer les demandes d'assistance selon qu'elles concernent la facturation, la livraison, la qualité des produits ou autre chose.

Pour consulter un tutoriel contenant des exemples d'utilisation de ces fonctions, consultez Effectuer une analyse sémantique avec des fonctions d'IA gérées.

Pour obtenir un tutoriel de notebook qui explique comment utiliser les fonctions d'IA gérées et à usage général, consultez Analyse sémantique avec les fonctions d'IA.

Emplacements

Les zones géographiques acceptées pour les modèles de génération et d'embedding de texte varient en fonction du type et de la version du modèle que vous utilisez. Pour en savoir plus, consultez Emplacements.

Tarifs

Les ressources de calcul que vous utilisez pour exécuter des requêtes sur des modèles vous sont facturées. Les modèles distants appellent les modèles Vertex AI. Par conséquent, les requêtes envoyées aux modèles distants entraînent également des frais Vertex AI.

Pour en savoir plus, consultez la page Tarifs de BigQuery ML.

Suivre les coûts

Les fonctions d'IA générative de BigQuery fonctionnent en envoyant des requêtes à Vertex AI, ce qui peut entraîner des coûts. Pour suivre les coûts Vertex AI générés par un job que vous exécutez dans BigQuery, procédez comme suit :

  1. Affichez vos rapports sur la facturation dans Cloud Billing.
  2. Utilisez des filtres pour affiner vos résultats.

    Pour les services, sélectionnez Vertex AI.

  3. Pour afficher les frais d'un job spécifique, filtrez par libellé.

    Définissez la clé sur bigquery_job_id_prefix et la valeur sur l'ID de job de votre job. Si votre ID de tâche comporte plus de 63 caractères, n'utilisez que les 63 premiers. Si votre ID de job contient des caractères en majuscules, remplacez-les par des caractères en minuscules. Vous pouvez également associer des jobs à un libellé personnalisé pour les retrouver facilement plus tard.

L'affichage de certains frais dans Cloud Billing peut prendre jusqu'à 24 heures.

Étapes suivantes