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:

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 mit ObjectRef-Werten zu erstellen und zu 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 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 von ObjectRef-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 einen ObjectRef-Wert, 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 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:

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:

Methoden zur Objekttransformation

Objektdaten mit den folgenden Series.BlobAccessor-Methoden transformieren:

Methoden für generative KI

Verwenden Sie die folgenden Methoden, um Aufgaben der generativen KI 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 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 den ObjectRef-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- oder ObjectRefRuntime-Werte verweisen. Wenn Sie die Abfragen in asia-east1 in myproject ausführen, dürfen Sie beispielsweise nicht mehr als 20 Verbindungen in asia-east1 in myproject 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