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 derGoogle Cloud Console und im bq-Befehlszeilentool verfügbar, andere mit BigQuery DataFrames in Python. Sie können viele dieser Funktionen kombinieren, um Analysen und Transformationsabläufe für multimodale Daten zu vereinfachen.

Mit den multimodalen Datenfunktionen von BigQuery können Sie die folgenden Aufgaben ausführen:

Eine detaillierte Anleitung mit der Google Cloud Console finden Sie unter Multimodale Daten mit SQL analysieren. Eine detaillierte Anleitung mit BigQuery DataFrames in Python finden Sie unter Multimodale Daten in Python mit BigQuery DataFrames analysieren.

Vorteile

Die multimodalen Datenfunktionen von BigQuery bieten folgende Vorteile:

  • Komposierbarkeit: Mithilfe von ObjectRef-Werten können Sie strukturierte und unstrukturierte Daten in derselben Standardtabellenzeile speichern und verwalten. Sie können beispielsweise Bilder für ein Produkt in derselben Zeile wie die restlichen Produktinformationen speichern. Mit Standard-SQL-Funktionen können Sie Spalten mit ObjectRef-Werten erstellen und aktualisieren. Außerdem können Sie ObjectRef-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 mit generativer KI. Sie können beispielsweise Einbettungen aus 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önnen beispielsweise einen Prompt erstellen, in dem das Modell aufgefordert wird, zwei Bilder von Tieren zu vergleichen und dann Text zurückzugeben, der angibt, ob es sich um dieselbe Tierart handelt.
  • Chunkreihenfolge beibehalten: Sie können Objekte in Chunks aufteilen und diese 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 von ObjectRef-Werten speichern, damit die Bilder in derselben Reihenfolge bleiben, in der sie im Originalvideo erscheinen.

ObjectRef values

Ein ObjectRef-Wert ist ein STRUCT-Wert, der das Format ObjectRef verwendet. Sie können Cloud Storage-Objektmetadaten und eine zugehörige Autorisierungsstelle in einer BigQuery-Standardtabelle speichern, indem Sie eine Spalte vom Typ STRUCT oder ARRAY<STRUCT> mit diesem Format erstellen. Der Autorisiererwert identifiziert die Cloud-Ressourcenverbindung, die BigQuery für den Zugriff auf das Cloud Storage-Objekt verwendet.

Verwenden Sie ObjectRef-Werte, wenn Sie unstrukturierte Daten in eine Standardtabelle einbinden möchten. 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.

Mit den folgenden GoogleSQL-Funktionen können Sie ObjectRef-Werte erstellen und aktualisieren:

  • OBJ.MAKE_REF: Mit diesem Befehl wird ein ObjectRef-Wert erstellt, der Metadaten für ein Cloud Storage-Objekt enthält.
  • OBJ.FETCH_METADATA: Cloud Storage-Metadaten für einen ObjectRef-Wert abrufen, der teilweise mit uri- und authorizer-Werten ausgefü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, mit dem es erstellt wurde, eine zugehörige Autorisierung und Zugriffs-URLs. Mit den Zugriffs-URLs können Sie das Objekt in Cloud Storage lesen oder ändern.

Verwenden Sie ObjectRefRuntime-Werte, um in Analyse- und Transformationsworkflows mit Objektdaten zu arbeiten. Die Zugriffs-URLs in ObjectRefRuntime-Werten laufen spätestens nach 6 Stunden ab. Sie können jedoch eine kürzere Ablaufzeit konfigurieren. Wenn Sie ObjectRefRuntime-Werte im Rahmen Ihres Workflows speichern, sollten Sie diese Daten regelmäßig aktualisieren. Wenn Sie Objektmetadaten speichern möchten, speichern Sie stattdessen ObjectRef-Werte und verwenden Sie diese dann, um bei Bedarf ObjectRefRuntime-Werte zu generieren. ObjectRef-Werte müssen nur aktualisiert werden, wenn die zugrunde liegenden Objekte in Cloud Storage geändert werden.

Mit der Funktion OBJ.GET_ACCESS_URL können Sie ObjectRefRuntime-Werte erstellen.

Generative AI-Funktionen

Mit den folgenden Funktionen für die generative KI und Gemini-Modellen können Sie Text, Einbettungen und Skalarwerte basierend auf ObjectRefRuntime-Eingabe generieren:

Bei allen Funktionen mit Ausnahme von ML.GENERATE_EMBEDDING können Sie ObjectRefRuntime-Werte als einzelne Werte oder in Arrays angeben. Für ML.GENERATE_EMBEDDING sind nur einzelne Werte zulässig.

Mit multimodalen Daten in Python arbeiten

Sie können multimodale Daten in Python mithilfe von BigQuery DataFrames-Klassen und ‑Methoden analysieren.

Multimodale DataFrames

Mit den folgenden Session-Methoden können Sie einen multimodalen DataFrame erstellen, der strukturierte und unstrukturierte Daten enthält:

Methoden zur Objekttransformation

Sie können Objektdaten mit den folgenden Series.BlobAccessor-Methoden transformieren:

Methoden der generativen KI

Mit den folgenden Methoden können Sie generative KI-Aufgaben für multimodale Daten ausführen:

Objekttabellen

Wenn Sie auf der Zulassungsliste für die Vorschau für multimodale Daten stehen, enthalten alle von Ihnen erstellten neuen Objekttabellen eine ref-Spalte mit einem ObjectRef-Wert für das jeweilige Objekt. Die Verbindung, die zum Erstellen der Objekttabelle verwendet wird, wird 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 BigQuery-Multimodal-Datenfeatures gelten die folgenden Einschränkungen:

  • Alle Abfragen, die auf ObjectRef-Werte verweisen, müssen im selben Projekt wie die Tabelle mit den ObjectRef-Werten ausgeführt werden.
  • Im Projekt und in der Region, in dem bzw. der Sie Abfragen ausführen, die auf ObjectRef- oder ObjectRefRuntime-Werte verweisen, können nicht mehr als 20 Verbindungen vorhanden sein. Wenn Sie die Abfragen beispielsweise in asia-east1 in myproject ausführen, können Sie in asia-east1 in myproject nicht mehr als 20 Verbindungen haben.

Kosten

Für die 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 auf ObjectRef-Werten ausgeführt werden, fallen BigQuery-Rechenkosten an.
  • Für neue Objekte, die Sie durch 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 BigQuery-Python-UDFs sowie von multimodalen DataFrames und Objekttransformationsmethoden in BigQuery-DataFrames verursacht Kosten für Python-UDFs.

Weitere Informationen finden Sie auf den folgenden Preisseiten:

Nächste Schritte