Multimodale Daten in BigQuery analysieren
In diesem Dokument werden die BigQuery-Funktionen beschrieben, mit denen Sie multimodale Daten analysieren können. Einige Funktionen sind in derTrusted Cloud -Konsole und im bq-Befehlszeilentool verfügbar, andere über BigQuery DataFrames in Python. Viele dieser Funktionen lassen sich kombinieren, um die Analyse und Transformation multimodaler Daten zu vereinfachen.
Mit den multimodalen Datenfunktionen von BigQuery können Sie die folgenden Aufgaben ausführen:
- Unstrukturierte Daten mithilfe von
ObjectRef
-Werten in Standardtabellen einbinden. - Mit
ObjectRefRuntime
-Werten können Sie in Analyse- und Transformations-Workflows mit unstrukturierten Daten arbeiten. - Mit BigQuery ML-Funktionen für generative KI und Gemini-Modellen können Sie Text, Einbettungen und Skalarwerte aus multimodalen Daten generieren.
- Multimodale DataFrames erstellen in BigQuery DataFrames.
- Bilder transformieren und PDF-Dateien in Chunks aufteilen mit BigQuery DataFrames-Methoden
Series.BlobAccessor
- Mit generativen KI-Methoden von BigQuery DataFrames können Sie Text und Einbettungen aus multimodalen Daten generieren.
Eine Schritt-für-Schritt-Anleitung zur Verwendung der Trusted Cloud Console finden Sie unter Multimodale Daten mit SQL analysieren. Eine Schritt-für-Schritt-Anleitung, in der BigQuery DataFrames in Python verwendet werden, finden Sie unter Multimodale Daten in Python mit BigQuery DataFrames analysieren.
Vorteile
Die multimodalen Datenfunktionen von BigQuery bieten folgende Vorteile:
- Zusammensetzbarkeit: Sie können strukturierte und unstrukturierte Daten in derselben Standardtabellenzeile speichern und verwalten, indem Sie
ObjectRef
-Werte verwenden. Sie können beispielsweise Bilder für ein Produkt in derselben Zeile wie die restlichen Produktinformationen speichern. Sie können Standard-SQL-Funktionen verwenden, um Spalten mitObjectRef
-Werten zu erstellen und zu aktualisieren. Außerdem können SieObjectRef
-Werte als Ausgabe einer Transformationsaktion für ein Objekt erstellen. - Objektdaten in Prompts für generative KI verwenden: Verwenden Sie
ObjectRefRuntime
-Werte als Eingabe für Funktionen für generative KI. Sie können beispielsweise Embeddings für Bild- und Textdaten aus derselben Tabelle generieren. Bei der Generierung von Text und Skalarwerten können Sie auch auf mehrere Objekte im Prompt verweisen, den Sie an ein Modell senden. Sie könnten beispielsweise einen Prompt erstellen, in dem das Modell aufgefordert wird, zwei Bilder von Tieren zu vergleichen und dann Text zurückzugeben, der angibt, ob auf den Bildern dieselbe Tierart zu sehen ist. - Reihenfolge von Chunks beibehalten: Sie können Objekte in Chunks aufteilen und die Chunks dann als Array von
ObjectRef
-Werten in einer Standardtabellenspalte speichern, um ihre Reihenfolge beizubehalten. Sie können beispielsweise Bilder aus einem Video parsen und dann als Array vonObjectRef
-Werten speichern, sodass die Bilder in derselben Reihenfolge bleiben, in der sie im Originalvideo angezeigt werden.
ObjectRef
values
Ein ObjectRef
-Wert ist ein STRUCT
-Wert im ObjectRef
-Format.
Sie können Cloud Storage-Objektmetadaten und einen zugehörigen Authorizer in einer BigQuery-Standardtabelle speichern, indem Sie eine STRUCT
- oder ARRAY<STRUCT>
-Spalte in diesem Format erstellen.
Der Autorisierungswert gibt die Cloud-Ressourcenverbindung an, die BigQuery für den Zugriff auf das Cloud Storage-Objekt verwendet.
Verwenden Sie ObjectRef
-Werte, wenn Sie unstrukturierte Daten in eine Standardtabelle einfügen müssen. In einer Produkttabelle können Sie beispielsweise Produktbilder in derselben Zeile wie die restlichen Produktinformationen speichern, indem Sie eine Spalte mit einem ObjectRef
-Wert hinzufügen.
ObjectRef
-Werte mit den folgenden GoogleSQL-Funktionen erstellen und aktualisieren:
OBJ.MAKE_REF
: Erstellt einenObjectRef
-Wert, der Metadaten für ein Cloud Storage-Objekt enthält.OBJ.FETCH_METADATA
: Cloud Storage-Metadaten für einenObjectRef
-Wert abrufen, der teilweise mituri
- undauthorizer
-Werten gefüllt ist.
Weitere Informationen finden Sie unter ObjectRef
-Spalten in Tabellenschemas angeben.
ObjectRefRuntime
values
Ein ObjectRefRuntime
-Wert ist ein JSON
-Wert, der das ObjectRefRuntime
-Schema verwendet.
Ein ObjectRefRuntime
-Wert enthält die Cloud Storage-Objektmetadaten aus dem ObjectRef
-Wert, der zum Erstellen des ObjectRefRuntime
-Werts verwendet wurde, einen zugehörigen Authorizer und Zugriffs-URLs. Mit den Zugriffs-URLs können Sie das Objekt in Cloud Storage lesen oder ändern.
Verwenden Sie ObjectRefRuntime
-Werte, um mit Objektdaten in Analyse- und Transformationsworkflows zu arbeiten. Die Zugriffs-URLs in ObjectRefRuntime
-Werten laufen nach maximal 6 Stunden ab. Sie können jedoch eine kürzere Ablaufzeit konfigurieren. Wenn Sie ObjectRefRuntime
-Werte im Rahmen Ihres Workflows irgendwo speichern, sollten Sie diese Daten regelmäßig aktualisieren. Wenn Sie Objektmetadaten beibehalten möchten, speichern Sie stattdessen ObjectRef
-Werte und verwenden Sie sie dann, um ObjectRefRuntime
-Werte zu generieren, wenn Sie sie benötigen. ObjectRef
-Werte müssen nur aktualisiert werden, wenn die zugrunde liegenden Objekte in Cloud Storage geändert werden.
Erstellen Sie ObjectRefRuntime
-Werte mit der Funktion OBJ.GET_ACCESS_URL
.
Generative AI-Funktionen
Mit den folgenden Funktionen für generative KI und Gemini-Modellen können Sie Text, Einbettungen und Skalarwerte auf Grundlage von ObjectRefRuntime
-Eingaben generieren:
ML.GENERATE_TEXT
AI.GENERATE_TABLE
AI.GENERATE
AI.GENERATE_BOOL
AI.GENERATE_DOUBLE
AI.GENERATE_INT
ML.GENERATE_EMBEDDING
Für alle Funktionen außer ML.GENERATE_EMBEDDING
können Sie ObjectRefRuntime
-Werte als einzelne Werte oder in Arrays angeben.
ML.GENERATE_EMBEDDING
akzeptiert nur einzelne Werte.
Mit multimodalen Daten in Python arbeiten
Sie können multimodale Daten in Python mit BigQuery DataFrames-Klassen und -Methoden analysieren.
Multimodale DataFrames
Erstellen Sie einen multimodalen DataFrame, in dem strukturierte und unstrukturierte Daten zusammengeführt werden, indem Sie die folgenden Session
-Methoden verwenden:
from_glob_path
-Methode: Erstellt einen multimodalen DataFrame aus einem Cloud Storage-Bucket.read_gbq_object_table
-Methode: Erstellt einen multimodalen DataFrame aus einer Objekttabelle.
Methoden zur Objekttransformation
Objektdaten mit den folgenden Series.BlobAccessor
-Methoden transformieren:
pdf_chunk
-Methode: PDF-Objekte aus einem multimodalen DataFrame in Chunks aufteilen.Die folgenden Methoden zum Transformieren von Bildobjekten aus einem multimodalen DataFrame:
Methoden für generative KI
Verwenden Sie die folgenden Methoden, um Aufgaben der generativen KI für multimodale Daten auszuführen:
predict
-Methode derGeminiTextGenerator
-Klasse: Generiert Text basierend auf multimodalen Daten.predict
-Methode derMultimodalEmbeddingGenerator
-Klasse: Generiert Einbettungen basierend auf multimodalen Daten.
Objekttabellen
Wenn Sie auf der Zulassungsliste für die Vorschau multimodaler Daten stehen, enthalten alle neuen Objekttabellen, die Sie erstellen, eine ref
-Spalte mit einem ObjectRef
-Wert für das jeweilige Objekt. Die Verbindung, die zum Erstellen der Objekttabelle verwendet wird, wird auch zum Einfügen der authorizer
-Werte in die Spalte ref
verwendet. Mit der Spalte ref
können Sie ObjectRef
-Werte in Standardtabellen einfügen und aktualisieren.
Beschränkungen
Für die multimodalen Datenfunktionen von BigQuery gelten die folgenden Einschränkungen:
- Alle Abfragen, in denen auf
ObjectRef
-Werte verwiesen wird, müssen im selben Projekt wie die Tabelle mit denObjectRef
-Werten ausgeführt werden. - Sie dürfen nicht mehr als 20 Verbindungen in dem Projekt und der Region haben, in denen Sie Abfragen ausführen, die auf
ObjectRef
- oderObjectRefRuntime
-Werte verweisen. Wenn Sie die Abfragen inasia-east1
inmyproject
ausführen, dürfen Sie beispielsweise nicht mehr als 20 Verbindungen inasia-east1
inmyproject
haben.
Kosten
Bei der Verwendung multimodaler Daten fallen die folgenden Kosten an:
- Die Speicherung von Objektmetadaten als
ObjectRef
-Werte in Standardtabellen trägt zu den BigQuery-Speicherkosten für die Tabelle bei. - Für Abfragen, die für
ObjectRef
-Werte ausgeführt werden, fallen BigQuery-Compute-Kosten an. - Für neue Objekte, die Sie aus Objekttransformationen erstellen, fallen Cloud Storage-Kosten an.
- Für neue Daten, die Sie in BigQuery erstellen und speichern, fallen BigQuery-Speicherkosten an.
- Für die Nutzung von Funktionen mit generativer KI fallen Vertex AI-Kosten an.
- Die Verwendung von Python-UDFs in BigQuery sowie von multimodalen DataFrames und Methoden zur Objekttransformation in BigQuery DataFrames verursacht Kosten für Python-UDFs.
Weitere Informationen finden Sie auf den folgenden Preisseiten:
Nächste Schritte
ObjectRef
-Spalten in Tabellenschemas angeben- Multimodale Daten mit SQL analysieren
- Multimodale Daten in Python mit BigQuery DataFrames analysieren
- Weitere Informationen zu generativer KI in BigQuery ML
- Weitere Informationen zu BigQuery DataFrames