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 mitObjectRef-Werten zu erstellen und zu aktualisieren. Außerdem können SieObjectRef-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 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, 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 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 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:
AI.GENERATEAI.GENERATE_TEXTAI.GENERATE_TABLEAI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INTAI.GENERATE_EMBEDDINGAI.EMBEDAI.SIMILARITYAI.CLASSIFYAI.IFAI.SCORE
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:
predict-Methode derGeminiTextGenerator-Klasse: Generiert Text basierend auf multimodalen Daten.predict-Methode derMultimodalEmbeddingGenerator-Klasse: Einbettungen basierend auf multimodalen Daten generieren.
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
authorizereinesObjectRef-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 denObjectRef-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
ObjectRef-Spalten in Tabellenschemas angeben- Multimodale Daten mit SQL analysieren:
- Weitere Informationen zu generativer KI in BigQuery ML
- Weitere Informationen zu BigQuery DataFrames