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 der Google Cloud Konsole und im bq-Befehlszeilentool verfügbar, andere über BigQuery DataFrames in Python. Viele dieser Funktionen können zusammen verwendet werden, um die Analyse und Transformation von multimodalen Daten zu vereinfachen.

Mit den Funktionen für multimodale Daten von BigQuery können Sie folgende Aufgaben ausführen:

Eine Schritt-für-Schritt-Anleitung zur Verwendung der Google Cloud Konsole finden Sie unter Multimodale Daten mit SQL analysieren. Eine Schritt-für-Schritt-Anleitung zur Verwendung von BigQuery DataFrames in Python finden Sie unter Multimodale Daten mit BigQuery DataFrames in Python analysieren.

Vorteile

Die Funktionen für multimodale Daten von BigQuery bieten folgende Vorteile:

  • Kompositionsfähigkeit: Mit `ObjectRef`-Werten können Sie strukturierte und unstrukturierte Daten in derselben Standardtabellenzeile speichern und verwalten.ObjectRef Sie können beispielsweise Bilder für ein Produkt in derselben Zeile wie die übrigen Produktinformationen speichern. Mit Standard-SQL-Funktionen können Sie Spalten erstellen und aktualisieren, die ObjectRef-Werte enthalten. Außerdem können Sie ObjectRef-Werte als Ausgabe einer Transformationsaktion für ein Objekt erstellen.
  • Objektdaten in generativen KI-Prompts verwenden: Verwenden Sie ObjectRefRuntime Werte als Eingabe für generative KI-Funktionen. Sie können beispielsweise Einbettungen für Bild- und Textdaten aus derselben Tabelle generieren. Für die Generierung von Text und Skalarwerten können Sie in dem Prompt, den Sie an ein Modell senden, auch auf mehrere Objekte verweisen. 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 sie dieselbe Tierart zeigen.
  • Reihenfolge von Blöcken beibehalten: Sie können Objekte in Blöcke aufteilen und die Blöcke dann als Array von ObjectRef Werten in einer Standardtabellenspalte speichern, um ihre Reihenfolge beizubehalten. Sie können beispielsweise Bilder aus einem Video parsen und diese Bilder dann als Array von ObjectRef-Werten speichern, sodass die Bilder in derselben Reihenfolge bleiben, in der sie im Originalvideo zu sehen sind.

ObjectRef-Werte

Ein ObjectRef-Wert ist ein STRUCT-Wert, der das ObjectRef-Format verwendet. Sie können Cloud Storage-Objektmetadaten und einen zugehörigen Autorisierer in einer BigQuery-Standardtabelle speichern, indem Sie eine STRUCT oder ARRAY<STRUCT> Spalte erstellen, die dieses Format verwendet. Der Autorisiererwert 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 einbinden müssen. In einer Produkttabelle können Sie beispielsweise Produktbilder in derselben Zeile wie die übrigen Produktinformationen speichern, indem Sie eine Spalte mit einem ObjectRef-Wert hinzufügen.

Erstellen und aktualisieren Sie ObjectRef-Werte mit den folgenden GoogleSQL-Funktionen:

  • OBJ.MAKE_REF: Erstellen Sie einen ObjectRef-Wert, der Metadaten für ein Cloud Storage-Objekt enthält.
  • OBJ.FETCH_METADATA: Rufen Sie Cloud Storage-Metadaten für einen ObjectRef-Wert ab, der teilweise mit uri- und authorizer-Werten gefüllt ist.

Weitere Informationen finden Sie unter Spalten in Tabellenschemas angeben.ObjectRef

ObjectRefRuntime-Werte

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 verwendet wurde, einen zugehörigen Autorisierer 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 aber auch 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 speichern möchten, speichern Sie ObjectRef Werte stattdessen 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 OBJ.GET_ACCESS_URL Funktion.

Generative KI-Funktionen

Generieren Sie Text, Einbettungen und Skalarwerte basierend auf der ObjectRefRuntime-Eingabe mit den folgenden generativen KI-Funktionen und Gemini-Modellen:

Mit multimodalen Daten in Python arbeiten

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

Multimodale DataFrames

Erstellen Sie ein multimodales DataFrame, das strukturierte und unstrukturierte Daten integriert mit den folgenden Session Methoden:

Methoden zur Objekttransformation

Transformieren Sie Objektdaten mit den folgenden Series.BlobAccessor Methoden:

Generative KI-Methoden

Verwenden Sie die folgenden Methoden, um generative KI-Aufgaben für multimodale Daten auszuführen:

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 verwendet, um die authorizer-Werte in der ref-Spalte zu füllen. Mit der ref-Spalte können Sie ObjectRef-Werte in Standardtabellen füllen und aktualisieren.

Beschränkungen

Für die Funktionen für multimodale Daten von BigQuery gelten die folgenden Einschränkungen:

  • Sie müssen alle Abfragen, die auf ObjectRef-Werte verweisen, im selben Projekt wie die Tabelle ausführen, die die ObjectRef-Werte enthält.
  • In dem Projekt und der Region, in denen Sie Abfragen ausführen, die auf ObjectRef oder ObjectRefRuntime Werte verweisen, dürfen nicht mehr als 20 Verbindungen vorhanden sein. Wenn Sie die Abfragen beispielsweise in asia-east1 in myproject ausführen, dürfen in asia-east1 in myproject nicht mehr als 20 Verbindungen vorhanden sein.

Kosten

Bei der Verwendung von multimodalen 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 Verwendung von generativen KI-Funktionen fallen Vertex AI-Kosten an.
  • Für die Verwendung von BigQuery Python-UDFs sowie von multimodalen DataFrames und Methoden zur Objekttransformation in BigQuery DataFrames fallen Python-UDF-Kosten an.

Weitere Informationen finden Sie auf den folgenden Preisseiten:

Nächste Schritte