Analizzare 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 consoleTrusted Cloud 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 per i dati multimodali.

Le funzionalità di dati multimodali di BigQuery consentono di eseguire le seguenti attività:

Per un tutorial passo passo che utilizza la console Trusted Cloud , consulta Analizzare dati multimodali con SQL. Per un tutorial passo passo che utilizza BigQuery DataFrames in Python, consulta Analizzare dati multimodali in Python con BigQuery DataFrames.

Vantaggi

Le funzionalità di dati multimodali di BigQuery offrono i seguenti vantaggi:

  • Componibilità: puoi archiviare e gestire dati strutturati e non strutturati nella stessa riga di tabella standard utilizzando i valori ObjectRef. Ad esempio, puoi memorizzare le immagini di un prodotto nella stessa riga del resto delle informazioni del prodotto. Puoi utilizzare le funzioni SQL standard per creare e aggiornare colonne contenenti valori ObjectRef e puoi creare valori ObjectRef come output di un'azione di trasformazione su un oggetto.
  • Utilizzo dei dati degli oggetti nei prompt dell'AI generativa: utilizza i valori ObjectRefRuntime come input per le funzioni di AI generativa. Ad esempio, puoi generare incorporamenti su dati di immagini e testo della stessa tabella. Per la generazione di testo e valori scalari, puoi anche fare riferimento a più oggetti all'interno del prompt che invii a un modello. Ad esempio, potresti creare un prompt che chieda al modello di confrontare due immagini di animali e restituire un testo che indichi se mostrano lo stesso tipo di animale.
  • Persisting chunk ordering: puoi dividere gli oggetti in blocchi e poi memorizzarli come array di valori ObjectRef in una colonna della tabella standard, per mantenerne l'ordine. Ad esempio, potresti analizzare le immagini di un video e poi memorizzarle come array di valori ObjectRef, in modo che le immagini rimangano nello stesso ordine in cui appaiono nel video originale.

ObjectRef valori

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 BigQuery creando una colonna STRUCT o ARRAY<STRUCT> che utilizza questo formato. Il valore dell'autorizzatore identifica la connessione alle risorse 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 memorizzare le immagini dei prodotti nella stessa riga con il resto delle informazioni sul prodotto aggiungendo una colonna contenente un valore ObjectRef.

Crea e aggiorna i valori di ObjectRef utilizzando le seguenti funzioni GoogleSQL:

  • OBJ.MAKE_REF: crea un valore ObjectRef che contenga i metadati di un oggetto Cloud Storage.
  • OBJ.FETCH_METADATA: recupera i metadati di Cloud Storage per un valore ObjectRef parzialmente compilato con i valori uri e authorizer.

Per ulteriori informazioni, vedi Specificare le colonne ObjectRef negli schemi delle tabelle.

ObjectRefRuntime valori

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 al massimo dopo 6 ore, anche se puoi configurare un periodo di scadenza più breve. Se mantieni i valori di ObjectRefRuntime in qualsiasi punto del flusso di lavoro, devi aggiornare regolarmente questi dati. Per rendere persistenti i metadati degli oggetti, archivia i valori ObjectRef e utilizzali per generare i valori ObjectRefRuntime quando ne hai bisogno. I valori ObjectRef non devono essere aggiornati a meno che non vengano modificati gli oggetti sottostanti in Cloud Storage.

Crea valori ObjectRefRuntime utilizzando la funzione OBJ.GET_ACCESS_URL.

Funzioni di AI generativa

Genera testo, incorporamenti e valori scalari in base all'input ObjectRefRuntime utilizzando le seguenti funzioni di AI generativa con i modelli Gemini:

Per tutte le funzioni, ad eccezione di ML.GENERATE_EMBEDDING, puoi fornire i valori ObjectRefRuntime come singoli valori o in matrici. ML.GENERATE_EMBEDDING accetta solo valori singoli.

Lavorare con dati multimodali in Python

Puoi analizzare i dati multimodali in Python utilizzando le classi e i metodi BigQuery DataFrames.

DataFrame multimodali

Crea un DataFrame multimodale che integri dati strutturati e non strutturati utilizzando i seguenti metodi Session:

Metodi di trasformazione degli oggetti

Trasforma i dati degli oggetti utilizzando i seguenti metodi Series.BlobAccessor:

Metodi di AI generativa

Utilizza i seguenti metodi per eseguire attività di AI generativa sui dati multimodali:

Tabelle di oggetti

Se sei nella lista consentita per l'anteprima dei dati multimodali, tutte le nuove tabelle degli oggetti che crei hanno una colonna ref che contiene un valore ObjectRef per l'oggetto specificato. La connessione utilizzata per creare la tabella degli oggetti viene utilizzata per popolare i valori authorizer nella colonna ref. Puoi utilizzare la colonna ref per compilare e aggiornare i valori ObjectRef nelle tabelle standard.

Limitazioni

Si applicano le seguenti limitazioni alle funzionalità di dati multimodali di BigQuery:

  • Devi eseguire qualsiasi query che fa riferimento ai valori ObjectRef nello stesso progetto della tabella che contiene i valori ObjectRef.
  • Non puoi avere più di 20 connessioni nel progetto e nella regione in cui esegui query che fanno riferimento ai valori ObjectRef o ObjectRefRuntime. Ad esempio, se esegui le query in asia-east1 in myproject, non puoi avere più di 20 connessioni in asia-east1 in myproject.

Costi

Quando utilizzi dati multimodali, si applicano i seguenti costi:

  • L'archiviazione dei metadati degli oggetti come valori ObjectRef nelle tabelle standard contribuisce al costo di archiviazione di BigQuery per la tabella.
  • Le query eseguite sui valori ObjectRef comportano costi di calcolo di BigQuery.
  • I nuovi oggetti creati dalle trasformazioni degli oggetti comportano costi di Cloud Storage.
  • I nuovi dati che crei e rendi persistenti in BigQuery comportano costi di archiviazione 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 DataFrame e oggetti multimodali in BigQuery DataFrames comporta costi per le UDF Python.

Per ulteriori informazioni, consulta le seguenti pagine dei prezzi:

Passaggi successivi