Panoramica dell'AI generativa

Questo documento descrive le funzioni di intelligenza artificiale (AI) generativa supportate da BigQuery. Queste funzioni accettano input in linguaggio naturale e utilizzano modelli preaddestrati di Gemini Enterprise Agent Platform e modelli BigQuery integrati.

BigQuery offre una varietà di funzioni di AI per aiutarti a svolgere attività come le seguenti:

  • Generare contenuti creativi.
  • Analizzare, rilevare il sentiment e rispondere a domande su testo o dati non strutturati, come le immagini.
  • Riassumere le idee o le impressioni chiave trasmesse dai contenuti.
  • Estrarre dati strutturati dal testo.
  • Classificare testo o dati non strutturati in categorie definite dall'utente.
  • Generare embedding per cercare testo, immagini e video simili.
  • Valutare gli input per classificarli in base a qualità, somiglianza o altri criteri.

Le funzioni di AI sono raggruppate nelle seguenti categorie per aiutarti a svolgere queste attività:

  • Funzioni di AI per finalità generali: queste funzioni ti offrono il controllo completo e la trasparenza sulla scelta del modello, del prompt e dei parametri da utilizzare.

    • Eseguire l'inferenza LLM, ad esempio per rispondere a domande sui dati

      • AI.GENERATE è la funzione di inferenza più flessibile, che ti consente di analizzare qualsiasi dato strutturato o non strutturato.
      • AI.GENERATE_TEXT è una versione con valori di tabella di AI.GENERATE che supporta anche i modelli di partner e i modelli aperti.
    • Generare output strutturati, ad esempio estrarre nomi, indirizzi o descrizioni di oggetti da testo, documenti o immagini.

      • AI.GENERATE, quando specifichi uno schema di output.
      • AI.GENERATE_TABLE è una versione con valori di tabella di AI.GENERATE che chiama un modello remoto e ti consente di specificare uno schema di output personalizzato.
      • Se lo schema di output ha un singolo campo, puoi utilizzare una delle funzioni specializzate: AI.GENERATE_BOOL, AI.GENERATE_DOUBLE o AI.GENERATE_INT.
    • Generare embedding per la ricerca semantica e il clustering

      • AI.EMBED: crea un embedding da dati di testo o immagine.
      • AI.GENERATE_EMBEDDING: una funzione con valori di tabella che aggiunge una colonna di dati di testo, immagine, audio, video o documento incorporati alla tabella.
  • Funzioni di AI gestite: queste funzioni hanno una sintassi semplificata e sono ottimizzate per costi e qualità. Con la modalità ottimizzata (anteprima), queste funzioni scalano a milioni o miliardi di righe.

    • AI.IF: filtra i dati con condizioni in linguaggio naturale.

    • AI.SCORE: valuta l'input, ad esempio in base alla qualità o al sentiment.

    • AI.CLASSIFY: classifica l'input in categorie definite dall'utente.

    • AI.AGG: aggrega l'input per riassumere o analizzare i dati.

  • Funzioni di utilità: utilizza la AI.COUNT_TOKENS funzione per stimare il numero di token in un prompt di input prima di eseguire una query.

  • Funzioni specifiche per le attività: queste funzioni utilizzano le API Cloud AI per aiutarti a svolgere attività come l'elaborazione del linguaggio naturale, la traduzione automatica, l'elaborazione dei documenti, la trascrizione audio e la visione artificiale.

Funzioni di AI per finalità generali

Le funzioni di AI per finalità generali ti offrono il controllo completo e la trasparenza sulla scelta del modello, del prompt e dei parametri da utilizzare. Il loro output include informazioni dettagliate sulla chiamata al modello, inclusi lo stato e la risposta completa del modello, che potrebbero includere informazioni sulla valutazione di sicurezza o sulle citazioni.

Eseguire l'inferenza LLM

La funzione AI.GENERATE è una funzione di inferenza flessibile che funziona inviando richieste a un modello Gemini di Gemini Enterprise Agent Platform e restituendo la risposta del modello. Puoi utilizzare questa funzione per analizzare dati di testo, immagine, audio, video o PDF. Ad esempio, potresti analizzare le immagini di mobili per la casa per generare testo per una colonna design_type, in modo che lo SKU dei mobili abbia una descrizione associata, ad esempio mid-century modern o farmhouse.

Puoi eseguire attività di AI generativa utilizzando modelli remoti in BigQuery ML per fare riferimento ai modelli sottoposti a deployment to or hosted in Agent Platform with the AI.GENERATE_TEXT funzione con valori di tabella. Puoi utilizzare i seguenti tipi di modelli remoti:

Utilizza i seguenti argomenti per provare la generazione di testo in BigQuery ML:

Per alcuni modelli, puoi scegliere facoltativamente di configurare l'ottimizzazione supervisionata, che ti consente di addestrare il modello sui tuoi dati per renderlo più adatto al tuo caso d'uso. Tutta l'inferenza avviene in Agent Platform. I risultati vengono archiviati in BigQuery.

Generare dati strutturati

La generazione di dati strutturati è molto simile alla generazione di testo, tranne per il fatto che puoi formattare la risposta del modello specificando uno schema SQL. Ad esempio, potresti generare una tabella che contiene il nome, il numero di telefono, l'indirizzo, la richiesta e il preventivo di un cliente da una trascrizione di una telefonata.

Puoi generare dati strutturati nei seguenti modi:

Generare embedding

Un embedding è un vettore numerico ad alta dimensionalità che rappresenta una determinata entità, come un testo o un file audio. La generazione di embedding ti consente di acquisire la semantica dei dati in modo da semplificarne il ragionamento e il confronto.

Ecco alcuni casi d'uso comuni per la generazione di embedding:

  • Utilizzare la Retrieval-Augmented Generation (RAG) per aumentare le risposte del modello alle query degli utenti facendo riferimento a dati aggiuntivi provenienti da un'origine attendibile. La RAG offre una migliore accuratezza fattuale e coerenza delle risposte, oltre a fornire l'accesso a dati più recenti rispetto ai dati di addestramento del modello.
  • Eseguire la ricerca multimodale. Ad esempio, utilizzare l'input di testo per cercare immagini.
  • Eseguire la ricerca semantica per trovare elementi simili per suggerimenti, sostituzioni e deduplicazione dei record.
  • Creare embedding da utilizzare con un modello K-means per il clustering.

Per saperne di più su come generare gli embedding e utilizzarli per eseguire queste attività, consulta l' Introduzione agli embedding e alla ricerca vettoriale.

Funzioni di AI gestite

Le funzioni di AI gestite semplificano le attività di routine, come il filtraggio, la classificazione o l'aggregazione. Queste funzioni possono analizzare dati di testo, immagine, audio, video o PDF. Queste funzioni utilizzano Gemini e non richiedono personalizzazione. BigQuery utilizza l'ingegneria dei prompt e può selezionare il modello e i parametri appropriati da utilizzare per l'attività specifica per ottimizzare la qualità e la coerenza dei risultati. Ogni funzione restituisce un valore scalare, ad esempio BOOL, FLOAT64 o STRING, e non include informazioni sullo stato aggiuntive dal modello. Sono disponibili le seguenti funzioni di AI gestite:

  • AI.IF: filtra i dati di testo o multimodali, ad esempio in una clausola WHERE o JOIN, in base a un prompt. Ad esempio, potresti filtrare le descrizioni dei prodotti in base a quelle che descrivono un articolo che sarebbe un buon regalo.
  • AI.SCORE: valuta gli input in base a un prompt per classificare le righe in base a qualità, somiglianza o altri criteri. Puoi utilizzare questa funzione in una clausola ORDER BY per estrarre i primi K elementi in base al punteggio. Ad esempio, potresti trovare le 10 recensioni degli utenti più positive o negative per un prodotto.
  • AI.CLASSIFY: classifica il testo in categorie definite dall'utente. Puoi utilizzare questa funzione in una clausola GROUP BY per raggruppare gli input in base alle categorie che definisci. Ad esempio, potresti classificare le richieste di assistenza in base al fatto che siano correlate a fatturazione, spedizione, qualità del prodotto o altro.
  • AI.AGG: aggrega l'input in base alle istruzioni in linguaggio naturale per riassumere o analizzare i dati. Ad esempio, potresti eseguire la scansione dei log delle sessioni delle applicazioni degli utenti per determinare dove i clienti hanno difficoltà oppure riassumere i contenuti di un insieme di immagini di grandi dimensioni.

Per un tutorial che mostra esempi di come utilizzare queste funzioni, consulta Eseguire l'analisi semantica con le funzioni di AI gestite.

Per un tutorial sui notebook che mostra come utilizzare le funzioni di AI gestite e per finalità generali funzioni, consulta Analisi semantica con le funzioni di AI.

Funzioni specifiche per le attività

Oltre alle funzioni più generali descritte nelle sezioni precedenti, puoi sviluppare soluzioni specifiche per le attività in BigQuery ML utilizzando le API Cloud AI. Le attività supportate includono:

Per saperne di più, consulta Panoramica delle soluzioni specifiche per le attività.

Località

Le località supportate per i modelli di generazione di testo e embedding variano in base al tipo e alla versione del modello che utilizzi. Per saperne di più, consulta Località.

BigQuery supporta i modelli gemini-3.1-flash-lite e gemini-3.5-flash. Agent Platform supporta solo gli endpoint multiregionali per questi modelli. Gli endpoint regionali non sono supportati. Se specifichi un nome endpoint breve che omette la regione, ad esempio gemini-3.5-flash, BigQuery seleziona un endpoint in base alle seguenti regole:

  • Se la query viene eseguita nella regione us o in una singola regione negli Stati Uniti, allora BigQuery utilizza l'endpoint us.
  • Se la query viene eseguita nella regione eu o in una singola regione nell'UE diversa da europe-west2 o europe-west6, BigQuery utilizza l'endpoint eu.
  • Per tutte le altre località, incluse europe-west2 e europe-west6, BigQuery utilizza l'endpoint global.
Per specificare un endpoint specifico, utilizza un nome endpoint multiregionale completo in uno dei seguenti formati:
  • https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/google/models/MODEL_ID
  • https://aiplatform.eu.rep.googleapis.com/v1/projects/PROJECT_ID/locations/eu/publishers/google/models/MODEL_ID
  • https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID
Se la query viene eseguita nella regione asia-south1, devi utilizzare il nome endpoint globale completo.

Limitazioni

All'interno di un perimetro dei Controlli di servizio VPC, le funzioni di AI non possono elaborare ObjectRef valori che utilizzano l'accesso delegato. L'accesso delegato genera un URL HTTPS firmato per l'oggetto e Agent Platform blocca i recuperi HTTP e HTTPS per i progetti all'interno di un perimetro. La funzione scrive il seguente errore nel campo status del suo output:

INVALID_ARGUMENT: HTTP links are not supported for requests restricted by VPCSC.

Poiché la colonna ref di una tabella di oggetti utilizza sempre la connessione della tabella di oggetti come autorizzatore, il passaggio di ref a una funzione di AI all'interno di un perimetro restituisce sempre questo errore. Per analizzare l'oggetto, passa un valore con un solo argomento OBJ.MAKE_REF(uri) invece, che utilizza l'accesso diretto e invia l'URI Cloud Storage al modello senza generare un URL firmato.

Prezzi

Ti vengono addebitate le risorse di calcolo che utilizzi per eseguire query sui modelli. I modelli remoti effettuano chiamate ai modelli di Agent Platform, pertanto le query sui modelli remoti comportano anche addebiti da Agent Platform.

Per saperne di più, consulta Prezzi di BigQuery ML.

Monitorare l'utilizzo dei token

Quando chiami una funzione di AI generativa che utilizza un modello Gemini diverso da un modello di embedding, puoi visualizzare il numero totale di ogni tipo di token elaborato dalla query. Nel riquadro Risultati delle query, fai clic su Informazioni sul job. Vengono visualizzati i seguenti conteggi, suddivisi per modalità, se applicabile:

  • Conteggio dei token di input: il numero totale di token di input per tutte le funzioni di AI generativa chiamate nella query.
  • Conteggio dei token di output. Il numero totale di token in tutte le risposte candidate generate dalla query.
  • Conteggio dei token di ragionamento. Il numero totale di token che facevano parte dei ragionamenti generati dal modello, se applicabile.
  • Conteggio dei token di cache. Il numero totale di token di input che sono stati memorizzati implicitamente nella cache dalla query.

Monitorare i costi

Le funzioni di AI generativa in BigQuery funzionano inviando richieste a Gemini Enterprise Agent Platform, che può comportare costi. Per stimare il conteggio dei token di input prima di eseguire una query, utilizza la AI.COUNT_TOKENS funzione. Per monitorare i costi di Agent Platform sostenuti da un job eseguito in BigQuery:

  1. Visualizza i report sulla fatturazione in fatturazione Cloud.
  2. Utilizza i filtri per perfezionare i risultati.

    Per i servizi, seleziona Vertex AI.

  3. Per visualizzare gli addebiti per un job specifico, filtra in base all'etichetta.

    Imposta la chiave su bigquery_job_id_prefix e il valore sull' ID job del tuo job. Se l'ID job è più lungo di 63 caratteri, utilizza solo i primi 63 caratteri. Se l'ID job contiene caratteri maiuscoli, modificali in minuscoli. In alternativa, puoi associare i job a un'etichetta personalizzata per aiutarti a cercarli in un secondo momento.

Potrebbero essere necessarie fino a 24 ore prima che alcuni addebiti vengano visualizzati nel fatturazione Cloud.

Monitoraggio

Per comprendere meglio il comportamento delle funzioni di AI che chiami in BigQuery, puoi abilitare la registrazione di richieste e risposte. Per registrare l'intera richiesta e la risposta inviate e ricevute da Agent Platform:

  1. Abilita i log di richiesta-risposta in Gemini Enterprise Agent Platform. I log vengono archiviati in BigQuery. Devi abilitare separatamente il logging per ogni foundation model e regione diversi. Per registrare le query eseguite nella regione us, specifica la us-central1 regione nella richiesta. Per registrare le query eseguite nella regione eu, specifica la regione europe-west4 nella richiesta.

  2. Esegui una query utilizzando una funzione di AI che effettua una chiamata ad Agent Platform utilizzando il modello per cui hai abilitato la registrazione nel passaggio precedente.

  3. Per visualizzare la richiesta e la risposta complete di Agent Platform, esegui una query sulla tabella di logging per le righe in cui il labels.bigquery_job_id_prefix campo della full_request colonna corrisponde ai primi 63 caratteri del tuo ID job. Facoltativamente, puoi utilizzare un'etichetta di query personalizzata per aiutarti a cercare la query nei log.

    Ad esempio, puoi utilizzare una query simile alla seguente:

    SELECT *
    FROM `my_project.my_dataset.request_response_logging`
    WHERE JSON_VALUE(full_request, '$.labels.bigquery_job_id_prefix') = 'bquxjob_123456...';
    

Gestione degli errori

Possono verificarsi errori a livello di riga, ad esempio RESOURCE_EXHAUSTED, se una funzione di AI supera la quota o i limiti del servizio remoto. Quando si verifica un errore a livello di riga, la funzione restituisce NULL per quella riga, il che può comportare risultati di query incompleti.

Tutte le funzioni di AI possono riscontrare questi errori. Tuttavia, le funzioni di AI gestite (AI.IF, AI.CLASSIFY e AI.SCORE) supportano l'argomento max_error_ratio per aiutarti a gestirle. Utilizza questo argomento per impostare una soglia di errore che consenta alla query di avere esito positivo nonostante gli errori a livello di riga.

Il valore predefinito di max_error_ratio è 1.0. Per ridurre la tolleranza agli errori, impostala su un valore inferiore (ad esempio, 0.2) in modo che la query non vada a buon fine anziché avere esito positivo con errori parziali. Per i dettagli sulla sintassi, consulta la documentazione di riferimento per AI.IF, AI.CLASSIFY, o AI.SCORE.

Se la query ha esito positivo con errori parziali, BigQuery restituisce un avviso. Per saperne di più sugli errori delle funzioni, controlla il campo Errori delle funzioni di AI generativa nella scheda Informazioni sul job dei risultati della query nella console Google Cloud .

Se la query include una clausola LIMIT, il limite viene applicato dopo che il modello elabora un batch di righe. Di conseguenza, la proporzione di valori NULL nel set di risultati finale potrebbe apparire superiore a max_error_ratio specificato.

Ad esempio, supponiamo che la query abbia una clausola LIMIT 10 e un max_error_ratio di 0.2. Il modello potrebbe elaborare 20 righe prima che venga applicato il limite. Se 3 di queste 20 righe non vanno a buon fine, la percentuale di errori è 0.15 (15%), che rientra nella soglia del 20%. Tuttavia, se il sottoinsieme di righe selezionato dalla clausola LIMIT include tutte e 3 le righe non riuscite, l'output visibile conterrà il 30% di valori NULL.

Passaggi successivi