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 Vertex AI preaddestrati e modelli BigQuery integrati.
Panoramica
BigQuery offre una serie di funzioni AI per aiutarti in attività come le seguenti:
- Generare contenuti creativi.
- Analizza, rileva il sentiment e rispondi a domande su testo o dati non strutturati, come le immagini.
- Riassumi le idee o le impressioni chiave trasmesse dai contenuti.
- Estrai dati strutturati dal testo.
- Classifica il testo o i dati non strutturati in categorie definite dall'utente.
- Genera incorporamenti per cercare testo, immagini e video simili.
- Valuta gli input per classificarli in base alla qualità, alla somiglianza o ad altri criteri.
Esistono due categorie principali di funzioni AI per aiutarti a svolgere queste attività:
Funzioni di AI generica: queste funzioni ti offrono il pieno controllo e la massima trasparenza sulla scelta del modello, del prompt e dei parametri da utilizzare.
Eseguire inferenze, ad esempio per rispondere a domande sui tuoi dati
AI.GENERATEè la funzione di inferenza più flessibile, che ti consente di analizzare qualsiasi combinazione di testo e dati non strutturati e di generare dati strutturati che corrispondono allo schema personalizzato.Se hai bisogno di un output di un tipo specifico, seleziona una delle seguenti funzioni di inferenza più specializzate:
AI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INT
Genera output strutturato, ad esempio estrai nomi e indirizzi da testo non strutturato
AI.GENERATE, quando specifichi unoutput_schemaAI.GENERATE_TABLE
Genera testo con una versione della funzione con valori di tabella di
AI.GENERATEAI.GENERATE_TEXT
Genera embedding per la ricerca semantica e il clustering
AI.EMBEDAI.GENERATE_EMBEDDINGAI.SIMILARITY
Funzioni AI gestite: queste funzioni hanno una sintassi semplificata e sono ottimizzate per costi e qualità. BigQuery sceglie un modello per te.
Filtrare i dati con condizioni in linguaggio naturale
AI.IF
Input di valutazione, ad esempio in base alla qualità o al sentiment
AI.SCORE
Classificare l'input in categorie definite dall'utente
AI.CLASSIFY
Funzioni di AI per finalità generali
Le funzioni di AI generativa ti offrono il pieno controllo e la massima trasparenza sulla scelta del modello, del prompt e dei parametri da utilizzare. Il loro output include informazioni dettagliate sulla chiamata al modello, tra cui lo stato e la risposta completa del modello, che potrebbe includere informazioni sulla classificazione di sicurezza o sulle citazioni.
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 prezzo di un cliente a partire dalla trascrizione di una chiamata.
Esistono due modi per generare dati strutturati:
La funzione
AI.GENERATEchiama un endpoint Vertex AI e può generare un valoreSTRUCTcon il tuo schema personalizzato.Per provarlo, scopri come utilizzare l'output strutturato quando chiami la funzione
AI.GENERATE.La funzione
AI.GENERATE_TABLEchiama un modello remoto ed è una funzione con valori di tabella che genera una tabella con lo schema personalizzato.Per provare a creare dati strutturati, consulta Generare dati strutturati utilizzando la funzione
AI.GENERATE_TABLE.
Generare valori di un tipo specifico per riga
Puoi utilizzare le funzioni di AI generativa scalare con i modelli Gemini per
analizzare i dati nelle tabelle standard BigQuery. I dati includono sia
dati di testo sia dati non strutturati provenienti da
colonne che contengono valori ObjectRef.
Per ogni riga della tabella, queste funzioni generano un output contenente un
tipo specifico. Ad esempio, potresti analizzare le immagini di arredamento per la casa per generare testo per una colonna design_type, in modo che lo SKU dell'arredamento abbia una descrizione associata, ad esempio mid-century modern o farmhouse.
Sono disponibili le seguenti funzioni di AI:
Quando utilizzi la funzione AI.GENERATE con i modelli Gemini supportati, puoi utilizzare Vertex AI Provisioned Throughput per fornire una velocità effettiva elevata e coerente per le richieste. Per ulteriori informazioni, consulta Utilizzare il throughput riservato di Vertex AI.
Generare testo con un TVF
Puoi eseguire attività di IA generativa utilizzando la funzione con valori di tabella
GENERATE_TEXT, che utilizza modelli remoti in
BigQuery ML per fare riferimento a modelli di cui è stato eseguito il deployment
o ospitati in Vertex AI. Puoi creare i seguenti tipi
di modelli remoti:
- Modelli remoti su uno qualsiasi dei modelli Gemini disponibili a livello generale o in anteprima.
Modelli remoti rispetto ai seguenti modelli di partner:
Dopo aver creato un modello remoto, puoi utilizzare la
funzione AI.GENERATE_TEXT
per interagire con il modello:
Per i modelli remoti basati sui modelli Gemini, puoi:
Utilizza la funzione
AI.GENERATE_TEXTper generare testo da un prompt che specifichi in una query o estrai da una colonna di una tabella standard. Quando specifichi il prompt in una query, puoi fare riferimento ai seguenti tipi di colonne della tabella nel prompt:STRINGcolonne per fornire dati di testo.STRUCTcolonne che utilizzano il formatoObjectRefper fornire dati non strutturati. Devi utilizzare la funzioneOBJ.GET_ACCESS_URLall'interno del prompt per convertire i valoriObjectRefin valoriObjectRefRuntime.
Utilizza la funzione
AI.GENERATE_TEXTper analizzare contenuti di testo, immagini, audio, video o PDF da una tabella di oggetti con un prompt che fornisci come argomento della funzione.
Per tutti gli altri tipi di modelli remoti, puoi utilizzare la funzione
AI.GENERATE_TEXTcon un prompt che fornisci in una query o da una colonna di una tabella standard.
Utilizza i seguenti argomenti per provare la generazione di testo in BigQuery ML:
- Genera testo utilizzando un modello Gemini e la funzione
AI.GENERATE_TEXT. - Genera testo utilizzando un modello Gemma e la funzione
AI.GENERATE_TEXT. - Analizza le immagini con un modello Gemini.
- Genera testo utilizzando la funzione
AI.GENERATE_TEXTcon i tuoi dati. - Ottimizza un modello utilizzando i tuoi dati.
Puoi utilizzare
grounding
e
attributi di sicurezza
quando utilizzi i modelli Gemini con la funzione AI.GENERATE_TEXT,
a condizione che utilizzi una tabella standard per l'input. La fondatezza consente al modello Gemini di utilizzare informazioni aggiuntive da internet per generare risposte più specifiche e oggettive. Gli attributi di sicurezza consentono al modello Gemini di filtrare le risposte restituite in base agli attributi specificati.
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 Vertex AI. I risultati vengono archiviati in BigQuery.
Per i modelli Gemini supportati, puoi utilizzare Vertex AI Provisioned Throughput per fornire un throughput elevato e coerente per le richieste. Per ulteriori informazioni, consulta Utilizzare il throughput riservato di Vertex AI.
Genera embedding
Un incorporamento è un vettore numerico ad alta dimensione che rappresenta una determinata entità, ad esempio un testo o un file audio. La generazione di incorporamenti ti consente di acquisire la semantica dei dati in modo da semplificare il ragionamento e il confronto dei dati.
Di seguito sono riportati alcuni casi d'uso comuni per la generazione di incorporamenti:
- Utilizzo della Retrieval-Augmented Generation (RAG) per ampliare le risposte del modello alle query degli utenti facendo riferimento a dati aggiuntivi provenienti da una fonte attendibile. La RAG offre una migliore accuratezza dei fatti e coerenza delle risposte, oltre a fornire l'accesso a dati più recenti rispetto a quelli di addestramento del modello.
- Esecuzione della ricerca multimodale. Ad esempio, l'utilizzo dell'input di testo per cercare immagini.
- Eseguire la ricerca semantica per trovare elementi simili per suggerimenti, sostituzione e deduplicazione dei record.
- Creazione di incorporamenti da utilizzare con un modello K-means per il clustering.
Per saperne di più su come generare gli incorporamenti e utilizzarli per eseguire queste attività, consulta la Introduzione agli incorporamenti e alla ricerca vettoriale.
Funzioni di AI gestite
Le funzioni di AI gestite sono progettate appositamente per automatizzare le attività di routine, come
classificazione, ordinamento o filtraggio. Queste funzioni utilizzano
Gemini e non richiedono personalizzazione. BigQuery
utilizza il prompt engineering e seleziona 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 aggiuntive sullo stato del modello.
Sono disponibili le seguenti funzioni di AI gestita:
AI.IF: Filtra testo o dati multimodali, ad esempio in una clausolaWHEREoJOIN, in base a un prompt. Ad esempio, potresti filtrare le descrizioni dei prodotti in base a quelle che descrivono un articolo che potrebbe essere 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 clausolaORDER BYper 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 clausolaGROUP BYper raggruppare gli input in base alle categorie che definisci. Ad esempio, potresti classificare i ticket di assistenza in base al fatto che riguardino fatturazione, spedizione, qualità del prodotto o altro.
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 AI gestite e generiche, consulta Analisi semantica con le funzioni AI.
Località
Le località supportate per i modelli di generazione ed embedding di testo variano in base al tipo e alla versione del modello che utilizzi. Per ulteriori informazioni, consulta Località.
Prezzi
Ti vengono addebitate le risorse di calcolo che utilizzi per eseguire query sui modelli. I modelli remoti effettuano chiamate ai modelli Vertex AI, pertanto le query sui modelli remoti comportano anche addebiti da Vertex AI.
Per ulteriori informazioni, vedi Prezzi di BigQuery ML.
Monitorare i costi
Le funzioni di AI generativa in BigQuery funzionano inviando richieste a Vertex AI, che può comportare costi. Per monitorare i costi di Vertex AI sostenuti da un job eseguito in BigQuery, segui questi passaggi:
- Visualizza i report sulla fatturazione in fatturazione Cloudg.
Utilizza i filtri per perfezionare i risultati.
Per i servizi, seleziona Vertex AI.
Per visualizzare gli addebiti per un job specifico, filtra per etichetta.
Imposta la chiave su
bigquery_job_id_prefixe il valore sull'ID offerta di lavoro della tua offerta di lavoro. Se l'ID job è più lungo di 63 caratteri, utilizza solo i primi 63 caratteri. Se il tuo ID lavoro contiene caratteri maiuscoli, convertili in minuscoli. In alternativa, puoi associare i lavori a un'etichetta personalizzata per trovarli più facilmente in un secondo momento.
Potrebbero essere necessarie fino a 24 ore prima che alcuni addebiti vengano visualizzati in fatturazione Cloud.
Monitoraggio
Per comprendere meglio il comportamento delle funzioni di AI che chiami in BigQuery, puoi attivare la registrazione delle richieste e delle risposte. Per registrare l'intera richiesta e risposta inviata a e ricevuta da Vertex AI, segui questi passaggi:
Abilita i log di richiesta-risposta in Vertex AI. I log vengono archiviati in BigQuery. Devi attivare separatamente la registrazione per ogni modello di base e regione diversi. Per registrare le query eseguite nella regione
us, specifica la regioneus-central1nella richiesta. Per registrare le query eseguite nella regioneeu, specifica la regioneeurope-west4nella richiesta.Esegui una query utilizzando una funzione AI che effettua una chiamata a Vertex AI utilizzando il modello per cui hai attivato la registrazione nel passaggio precedente.
Per visualizzare la richiesta e la risposta complete di Vertex AI, esegui una query nella tabella di logging per le righe in cui il campo
labels.bigquery_job_id_prefixdella colonnafull_requestcorrisponde ai primi 63 caratteri del tuo ID job. Se vuoi, puoi utilizzare un'etichetta di query personalizzata per facilitare la ricerca della 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...';
Passaggi successivi
- Per un'introduzione all'AI e al ML in BigQuery, consulta Introduzione all'AI e al ML in BigQuery.
- Per saperne di più sull'esecuzione dell'inferenza sui modelli di machine learning, consulta la panoramica dell'inferenza del modello.
- Per ulteriori informazioni sulle istruzioni e sulle funzioni SQL supportate per i modelli di AI generativa, consulta Percorsi utente end-to-end per i modelli di AI generativa.