Analizza i dati multimodali in BigQuery

Questo documento descrive le funzionalità di BigQuery che puoi utilizzare per creare e analizzare i dati multimodali. Queste funzionalità possono essere utilizzate in BigQuery con GoogleSQL e con Python utilizzando BigQuery DataFrames.

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

Per un tutorial passo passo che utilizza la Google Cloud console, consulta Analizzare i dati multimodali con SQL e Python.

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 valori ObjectRef e puoi creare valori ObjectRef come output di un'azione di trasformazione su un oggetto.
  • Aggiungi più dati non strutturati nei prompt di AI generativa: aggiungi più ObjectRef valori come input alle funzioni di AI generativa. Ad esempio, puoi generare embedding di dati di immagini e testo dalla 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, puoi creare un prompt che chieda al modello di generare una descrizione del prodotto in base alle immagini e agli attributi del prodotto.
  • Persistenza dell'ordinamento dei blocchi: puoi dividere gli oggetti in blocchi e poi archiviarli come array di ObjectRef valori in una colonna della tabella standard, per mantenerne l'ordine. Ad esempio, puoi analizzare le immagini di un video e poi archiviarle come array di valori ObjectRef, 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 lo schema 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. Se imposti l'autorizzatore su NULL, BigQuery utilizza le tue credenziali utente finale.

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 valore ObjectRef che contiene 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 saperne di più, consulta Utilizzare i valori ObjectRef.

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 a ObjectRef o ObjectRefRuntime input utilizzando le seguenti funzioni di AI generativa con modelli Gemini:

Utilizzare 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 il read_gbq metodo: crea un DataFrame multimodale da una tabella di oggetti.

Per provarlo, consulta il tutorial sui DataFrame multimodali su GitHub.

Metodi di AI generativa

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

Tabelle di oggetti

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.

Set di dati di Storage Insights

Un set di dati di Storage Insights è un set di dati BigQuery collegato su cui puoi eseguire query per analizzare e visualizzare i dati di Cloud Storage. La colonna ref contiene ObjectRef valori che puoi utilizzare per analizzare i dati e i metadati degli oggetti.

Limitazioni

Le seguenti limitazioni si applicano alle funzionalità dei dati multimodali di BigQuery:

  • Se non specifichi esplicitamente il nome del progetto che contiene la connessione nel campo authorizer di un valore ObjectRef, la connessione deve esistere nel progetto che contiene la tabella di oggetti che la memorizza o nel progetto in cui viene eseguita la query che fa riferimento al valore ObjectRef.
  • Non puoi avere più di 20 connessioni alle risorse cloud nel progetto e nella regione in cui la query accede ai dati degli oggetti come valori ObjectRef.
  • Puoi fare riferimento ai valori ObjectRef da un massimo di cinque progetti oltre al progetto in cui esegui la query.

Costi

Quando utilizzi i 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 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 saperne di più, consulta le seguenti pagine dei prezzi:

Passaggi successivi