Analizza i dati multimodali in BigQuery
Questo documento descrive le funzionalità di BigQuery che puoi utilizzare per creare e analizzare dati multimodali. Queste funzionalità possono essere utilizzate in BigQuery con GoogleSQL e con Python utilizzando BigQuery DataFrames.
Le funzionalità di dati multimodali di BigQuery consentono di eseguire le seguenti attività:
- Integra i dati non strutturati archiviati in Cloud Storage come un'altra colonna
insieme ai dati strutturati nelle tabelle BigQuery standard
rappresentando i dati non strutturati come valori
ObjectRef. - Genera annotazioni, embedding e valori scalari da dati multimodali utilizzando le funzioni di AI generativa di BigQuery ML con i modelli Gemini.
- Genera annotazioni, embedding e valori scalari da dati multimodali creando DataFrame multimodali in BigQuery DataFrames e utilizzando le librerie Python.
Per un tutorial passo passo che utilizza la console Google Cloud , consulta Analizzare dati multimodali con SQL e Python.
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 sul prodotto. Puoi utilizzare le funzioni SQL standard per creare e aggiornare colonne contenenti valoriObjectRefe puoi creare valoriObjectRefcome output di un'azione di trasformazione su un oggetto. - Aggiungi più elementi di dati non strutturati nei prompt dell'AI generativa:
aggiungi più valori
ObjectRefcome input alle funzioni di AI generativa. Ad esempio, puoi generare incorporamenti di dati di immagini e di 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, potresti creare un prompt che chieda al modello di generare una descrizione del prodotto in base alle immagini e agli attributi del prodotto. - Memorizzazione dell'ordine dei chunk: puoi dividere gli oggetti in chunk e poi memorizzarli
come array di valori
ObjectRefin una colonna della tabella standard, per memorizzarne l'ordine. Ad esempio, potresti analizzare le immagini di un video e poi memorizzarle come array di valoriObjectRef, 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 lo
schema 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.
Se imposti l'autorizzatore su NULL, BigQuery utilizza le credenziali dell'utente finale.
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 sui prodotti aggiungendo una colonna
contenente un valore ObjectRef.
Crea e aggiorna i valori di ObjectRef utilizzando le seguenti
funzioni GoogleSQL:
OBJ.MAKE_REF: crea un valoreObjectRefcontenente i metadati di un oggetto Cloud Storage.OBJ.FETCH_METADATA: recupera i metadati di Cloud Storage per un valoreObjectRefparzialmente compilato con i valoriurieauthorizer.
Per maggiori informazioni, vedi Utilizzare i valori ObjectRef.
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 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 di ObjectRefRuntime in qualsiasi punto del flusso di lavoro, devi
aggiornare questi dati regolarmente. 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 ObjectRef o 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.SIMILARITYAI.CLASSIFYAI.IFAI.SCORE
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 il
metodo read_gbq:
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:
- Metodo
predictdella classeGeminiTextGenerator: genera testo in base a dati multimodali. - Metodo
predictdella classeMultimodalEmbeddingGenerator: genera embedding basati su dati multimodali.
Tabelle di oggetti
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 compilare i valori authorizer nella colonna ref. Puoi utilizzare la colonna
ref per compilare e aggiornare i valori ObjectRef nelle tabelle standard.
Set di dati di Storage Insights
Un set di dati Storage Insights è un set di dati BigQuery collegato che puoi interrogare per analizzare e visualizzare i dati di Cloud Storage. La
colonna ref
contiene valori ObjectRef che puoi utilizzare per
analizzare i dati e i metadati degli oggetti.
Limitazioni
Si applicano le seguenti limitazioni alle funzionalità di dati multimodali di BigQuery:
- Se non specifichi esplicitamente il nome del progetto che contiene la connessione nel campo
authorizerdi un valoreObjectRef, la connessione deve esistere nel progetto che contiene la tabella degli oggetti che la memorizza o nel progetto in cui viene eseguita la query che fa riferimento al valoreObjectRef. - Non puoi avere più di 20 connessioni di risorse cloud nel progetto e nella regione in cui la query accede ai dati degli oggetti come valori
ObjectRef. - Puoi fare riferimento ai valori
ObjectRefdi un massimo di cinque progetti oltre a quello in cui esegui la query.
Costi
Quando utilizzi dati multimodali, si applicano i seguenti costi:
- 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 che crei e rendi persistenti in BigQuery comportano costi di archiviazione BigQuery.
- L'utilizzo delle funzioni di AI generativa comporta costi per Gemini Enterprise Agent Platform.
- 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 sui prezzi:
- Prezzi di BigQuery
- Prezzi delle UDF Python di BigQuery
- Prezzi di Agent Platform
- Prezzi di Cloud Storage
Passaggi successivi
- Specifica le colonne
ObjectRefnegli schemi delle tabelle. - Analizza i dati multimodali con SQL.
- Scopri di più sull'AI generativa in BigQuery ML.
- Scopri di più su BigQuery DataFrames.