Multimodale Daten in BigQuery analysieren

In diesem Dokument werden die BigQuery-Funktionen beschrieben, mit denen Sie multimodale Daten erstellen und analysieren können. Diese Funktionen können in BigQuery mit GoogleSQL und mit Python über BigQuery DataFrames verwendet werden.

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

  • Sie können unstrukturierte Daten, die in Cloud Storage gespeichert sind, als weitere Spalte neben strukturierten Daten in Standard-BigQuery-Tabellen einbinden, indem Sie unstrukturierte Daten als ObjectRef-Werte darstellen.
  • Mit BigQuery ML-Funktionen für generative KI und Gemini-Modellen können Sie Anmerkungen, Einbettungen und Skalarwerte aus multimodalen Daten generieren.
  • Anmerkungen, Einbettungen und Skalarwerte aus multimodalen Daten generieren, indem Sie multimodale DataFrames in BigQuery DataFrames erstellen und Python-Bibliotheken verwenden.

Eine Schritt-für-Schritt-Anleitung zur Verwendung der Google Cloud Console finden Sie unter Multimodale Daten mit SQL und Python 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.
  • Mehrere unstrukturierte Daten in Prompts für generative KI hinzufügen: Fügen Sie mehrere ObjectRef-Werte als Eingabe für Funktionen für generative KI hinzu. Sie können beispielsweise Einbettungen von Bild- und Textdaten aus derselben Tabelle generieren. Beim Generieren von Text und skalaren Werten können Sie im Prompt, den Sie an ein Modell senden, auch auf mehrere Objekte verweisen. Sie könnten beispielsweise einen Prompt erstellen, in dem das Modell aufgefordert wird, eine Produktbeschreibung auf Grundlage von Bildern und Attributen des Produkts zu generieren.
  • Reihenfolge der 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, für den das ObjectRef-Schema verwendet wird. 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 Authorizer-Wert gibt die Cloud-Ressourcenverbindung an, die BigQuery für den Zugriff auf das Cloud Storage-Objekt verwendet. Wenn Sie den Authorizer auf NULL festlegen, verwendet BigQuery die Anmeldedaten des Endnutzers.

Verwenden Sie ObjectRef-Werte, wenn Sie unstrukturierte Daten in eine Standardtabelle einfügen müssen. In einer Produkttabelle könnten 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 Mit ObjectRef-Werten arbeiten.

ObjectRefRuntime values

Ein ObjectRefRuntime-Wert ist ein JSON-Wert, für den das ObjectRefRuntime-Schema verwendet wird. 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 Transformations-Workflows 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 generativen KI-Funktionen mit Gemini-Modellen können Sie Text, Einbettungen und Skalarwerte basierend auf ObjectRef- oder ObjectRefRuntime-Eingaben generieren:

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 read_gbq-Methode verwenden: Erstellen Sie einen multimodalen DataFrame aus einer Objekttabelle.

Weitere Informationen finden Sie im Tutorial zu multimodalen DataFrames auf GitHub.

Methoden für generative KI

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

Objekttabellen

Alle neuen Objekttabellen, die Sie erstellen, haben eine ref-Spalte, die einen ObjectRef-Wert für das jeweilige Objekt enthält. 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.

Storage Insights-Datasets

Ein Storage Insights-Dataset ist ein verknüpftes BigQuery-Dataset, das Sie abfragen können, um Ihre Cloud Storage-Daten zu analysieren und zu visualisieren. Die Spalte ref enthält ObjectRef-Werte, mit denen Sie Objektdaten und ‑metadaten analysieren können.

Beschränkungen

Für die multimodalen Datenfunktionen von BigQuery gelten die folgenden Einschränkungen:

  • Wenn Sie den Namen des Projekts, das die Verbindung enthält, nicht explizit im Feld authorizer eines ObjectRef-Werts angeben, muss die Verbindung entweder in dem Projekt vorhanden sein, das die Objekt-Tabelle enthält, in der sie gespeichert ist, oder in dem Projekt, in dem die Abfrage ausgeführt wird, die auf den ObjectRef-Wert verweist.
  • Sie können nicht mehr als 20 Cloud-Ressourcenverbindungen in dem Projekt und der Region haben, in denen Ihre Abfrage auf Objektdaten als ObjectRef-Werte zugreift.
  • Sie können auf ObjectRef-Werte aus maximal fünf Projekten verweisen, zusätzlich zu dem Projekt, in dem Sie die Abfrage ausführen.

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-Rechenkosten 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