Analizza i dati multimodali in BigQuery
Questo documento descrive le funzionalità di BigQuery che puoi utilizzare per analizzare i dati multimodali. Alcune funzionalità sono disponibili nella Google Cloud console e nello strumento a riga di comando bq, mentre altre sono disponibili utilizzando BigQuery DataFrames in Python. Puoi utilizzare molte di queste funzionalità insieme per semplificare i flussi di lavoro di analisi e trasformazione dei dati multimodali.
Le funzionalità dei dati multimodali di BigQuery ti consentono di eseguire le seguenti attività:
- Integra i dati non strutturati nelle tabelle standard utilizzando i valori
ObjectRef. - Utilizza i dati non strutturati nei flussi di lavoro di analisi e trasformazione utilizzando i valori
ObjectRefRuntime. - Genera testo, embedding e valori scalari da dati multimodali utilizzando BigQuery ML le funzioni di AI generativa con i modelli Gemini.
- Crea DataFrame multimodali in BigQuery DataFrames.
- Trasforma le immagini e suddivide i file PDF utilizzando
i metodi
Series.BlobAccessordi BigQuery DataFrames. - Genera testo ed embedding da dati multimodali utilizzando BigQuery DataFrames i metodi di AI generativa.
Per un tutorial passo passo che utilizza la Google Cloud console, consulta Analizzare i dati multimodali con SQL. Per un tutorial passo passo che utilizza BigQuery DataFrames in Python, consulta Analizzare i dati multimodali in Python con BigQuery DataFrames.
Vantaggi
Le funzionalità dei dati multimodali di BigQuery offrono i seguenti vantaggi:
- Componibilità: puoi archiviare e gestire dati strutturati e non strutturati
nella stessa riga della tabella standard utilizzando i valori
ObjectRef. Ad esempio, puoi archiviare le immagini di un prodotto nella stessa riga del resto delle informazioni sul prodotto. Puoi utilizzare le funzioni SQL standard per creare e aggiornare le colonne che contengono valoriObjectRefe puoi creare valoriObjectRefcome output di un'azione di trasformazione su un oggetto. - Utilizzo dei dati degli oggetti nei prompt di AI generativa: utilizza i valori
ObjectRefRuntimecome input per le funzioni di AI generativa. Ad esempio, puoi generare embedding su dati immagine e testo dalla stessa tabella. Per la generazione di testo e valori scalari, puoi anche fare riferimento a più oggetti all'interno del prompt inviato a un modello. Ad esempio, puoi creare un prompt che chiede al modello di confrontare due immagini di animali e poi restituire il testo che indica se mostrano lo stesso tipo di animale. - Mantenimento dell'ordine dei blocchi: puoi suddividere gli oggetti in blocchi e poi archiviarli
come array di valori
ObjectRefin una colonna della tabella standard, per mantenerne l'ordine. Ad esempio, puoi analizzare le immagini di un video e poi archiviarle come array di valoriObjectRef, in modo che le immagini rimangano nello stesso ordine in cui appaiono nel video originale.
Valori ObjectRef
Un valore ObjectRef è un valore STRUCT che utilizza il formato
ObjectRef.
Puoi archiviare i metadati degli oggetti Cloud Storage e un
autorizzatore associato in una
tabella standard di BigQuery
creando una STRUCT o ARRAY<STRUCT> colonna che utilizza questo formato.
Il valore dell'autorizzatore identifica la
connessione alla risorsa Cloud
che BigQuery utilizza per accedere all'oggetto Cloud Storage.
Utilizza i valori ObjectRef quando devi integrare dati non strutturati in una tabella standard. Ad esempio, in una tabella dei prodotti, puoi archiviare le immagini dei prodotti nella stessa riga del resto delle informazioni sul prodotto aggiungendo una colonna contenente un valore ObjectRef.
Crea e aggiorna i valori ObjectRef utilizzando le seguenti funzioni GoogleSQL:
OBJ.MAKE_REF: crea un valoreObjectRefche contiene i metadati di un oggetto Cloud Storage.OBJ.FETCH_METADATA: recupera i metadati di Cloud Storage per un valoreObjectRefparzialmente compilato con i valoriurieauthorizer.
Per ulteriori informazioni, consulta
Specificare le colonne ObjectRef negli schemi delle tabelle.
Valori ObjectRefRuntime
Un valore ObjectRefRuntime è un valore JSON che utilizza lo schema
ObjectRefRuntime.
Un valore ObjectRefRuntime contiene i metadati dell'oggetto Cloud Storage
dal valore ObjectRef utilizzato per crearlo, un autorizzatore associato,
e gli URL di accesso. Puoi utilizzare gli URL di accesso per leggere o modificare l'oggetto in
Cloud Storage.
Utilizza i valori ObjectRefRuntime per lavorare con i dati degli oggetti nei flussi di lavoro di analisi e trasformazione. Gli URL di accesso nei valori ObjectRefRuntime scadono dopo un massimo di 6 ore, anche se puoi configurare un tempo di scadenza più breve. Se mantieni i valori ObjectRefRuntime ovunque come parte del flusso di lavoro, devi aggiornare regolarmente questi dati. Per mantenere i metadati degli oggetti, archivia
ObjectRef valori invece, e poi utilizzali per generare ObjectRefRuntime
valori quando ne hai bisogno. I valori ObjectRef non devono essere aggiornati a meno che gli oggetti sottostanti in Cloud Storage non vengano modificati.
Crea valori ObjectRefRuntime utilizzando la
OBJ.GET_ACCESS_URL funzione.
Funzioni di AI generativa
Genera testo, embedding e valori scalari in base all'input ObjectRefRuntime utilizzando le seguenti funzioni di AI generativa con i modelli Gemini:
AI.GENERATEAI.GENERATE_TEXTAI.GENERATE_TABLEAI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INTAI.GENERATE_EMBEDDINGAI.EMBEDAI.SIMILARITY
Utilizza i dati multimodali in Python
Puoi analizzare i dati multimodali in Python utilizzando le classi e i metodi di BigQuery DataFrames.
DataFrame multimodali
Crea un DataFrame multimodale che integri dati strutturati e non strutturati
utilizzando i seguenti
Session
metodi:
from_glob_pathmetodo: crea un DataFrame multimodale da un bucket Cloud Storage.read_gbq_object_tablemetodo: crea un DataFrame multimodale da una tabella di oggetti.
Metodi di trasformazione degli oggetti
Trasforma i dati degli oggetti utilizzando i seguenti
Series.BlobAccessor
metodi:
pdf_chunkmetodo: suddivide gli oggetti PDF da un DataFrame multimodale.I seguenti metodi per trasformare gli oggetti immagine da un DataFrame multimodale:
Metodi di AI generativa
Utilizza i seguenti metodi per eseguire attività di AI generativa sui dati multimodali:
predictmetodo dellaGeminiTextGeneratorclasse: genera testo basato su dati multimodali.predictmetodo dellaMultimodalEmbeddingGeneratorclasse: genera embedding basati su dati multimodali.
Tabelle di oggetti
Se sei nella lista consentita per l'anteprima dei dati multimodali, tutte le nuove
tabelle di oggetti che
crei hanno una colonna ref che contiene un valore ObjectRef per l'oggetto
specificato. La connessione utilizzata per creare la tabella di oggetti viene utilizzata per popolare i valori authorizer nella colonna ref. Puoi utilizzare la colonna ref per popolare e aggiornare i valori ObjectRef nelle tabelle standard.
Limitazioni
Le seguenti limitazioni si applicano alle funzionalità dei dati multimodali di BigQuery:
- Devi eseguire qualsiasi query che fa riferimento ai valori
ObjectRefnello stesso progetto della tabella che contiene i valoriObjectRef. - Non puoi avere più di 20 connessioni nel progetto e nella regione in cui
esegui le query che fanno riferimento ai valori
ObjectRefoObjectRefRuntime. Ad esempio, se esegui le query inasia-east1inmyproject, non puoi avere più di 20 connessioni inasia-east1inmyproject.
Costi
I seguenti costi sono applicabili quando si utilizzano dati multimodali:
- L'archiviazione dei metadati degli oggetti come valori
ObjectRefnelle tabelle standard contribuisce al costo di archiviazione di BigQuery per la tabella. - Le query eseguite sui valori
ObjectRefcomportano costi di calcolo di BigQuery. - I nuovi oggetti creati dalle trasformazioni degli oggetti comportano costi di Cloud Storage.
- I nuovi dati creati e mantenuti in BigQuery comportano costi di archiviazione di BigQuery.
- L'utilizzo delle funzioni di AI generativa comporta costi di Vertex AI.
- L'utilizzo delle UDF Python di BigQuery e dei metodi di trasformazione di oggetti e DataFrame multimodali in BigQuery DataFrames comporta costi delle UDF Python.
Per ulteriori informazioni, consulta le seguenti pagine dei prezzi:
Passaggi successivi
- Specifica le colonne
ObjectRefnegli schemi delle tabelle. - Analizza i dati multimodali con SQL.
- Analizza i dati multimodali in Python con BigQuery DataFrames.
- Scopri di più sull'AI generativa in BigQuery ML.
- Scopri di più su BigQuery DataFrames.