Gesponserte Inhalte

Ein praktischer Leitfaden für multimodale Datenanalysen
Google Cloud

Einführung

Unternehmen verwalten eine Mischung aus strukturierten Daten in organisierten Tabellen und ein wachsendes Volumen unstrukturierter Daten wie Bilder, Audio und Dokumente. Die Analyse dieser verschiedenen Datentypen zusammen ist traditionell komplex, da sie häufig separate Instruments erfordern. Unstrukturierte Medien erfordert in der Regel Exporte für spezielle Dienste für die Verarbeitung (z. B. ein Laptop Imaginative and prescient-Service für die Bildanalyse oder eine Sprach-zu-Textual content-Engine für Audio), die Datensilos erstellt und eine ganzheitliche Analyseansicht behindert.

Betrachten Sie ein fiktives E-Commerce-Help-System: Strukturierte Ticketdetails in einer BigQuery-Tabelle, während entsprechende Help-Anrufaufnahmen oder Fotos von beschädigten Produkten in Cloud-Objektspeichern liegen. Beantworten Sie ohne direkten Hyperlink eine kontextreiche Frage wie „Identifizieren Sie alle Help-Tickets für ein bestimmtes Laptop computer-Modell, bei dem Name Audio eine hohe Kundenfrustration angibt, und das Foto zeigt, dass ein geknackter Bildschirm„ ein umständlicher, mehrstufiger Prozess ist.

Dieser Artikel ist ein praktischer technischer Leitfaden für Objectref in BigQuery, eine Funktion, die diese Analyse vereint. Wir werden untersuchen, wie multimodale Datensätze erstellt, abfragen und regiert werden, um umfassende Erkenntnisse mithilfe bekannter SQL- und Python -Schnittstellen zu ermöglichen.

Teil 1: Objectref – der Schlüssel zur Vereinheitlichung multimodaler Daten

Beobachterstruktur und -funktion

Um die Herausforderung von SILD -Daten anzugehen, führt BigQuery Objectref, einen speziellen Struktur -Datentyp, ein. Ein Objectref fungiert als direkte Verweise auf ein unstrukturiertes Datenobjekt, das in Google Cloud Storage (GCS) gespeichert ist. Es enthält nicht die unstrukturierten Daten selbst (z. B. ein base64 codiertes Bild in einer Datenbank oder ein transkribiertes Audio). Stattdessen weist es auf den Ort dieser Daten hin, sodass BigQuery zugreifen und in Abfragen zur Analyse einbezieht.

Die Objectref -Struktur besteht aus mehreren Schlüsselfeldern:

  • Uri (String): Ein GCS -Pfad zu einem Objekt
  • Autorisierer (String): Ermöglicht BigQuery, sicher auf GCS -Objekte zuzugreifen
  • Model (String): Speichert die spezifische Era -ID eines GCS
  • Particulars (JSON): Ein JSON -Aspect, das oft GCS -Metadaten enthält wie contentType oder dimension

Hier ist eine JSON -Darstellung eines Objectref -Wertes:


JSON

{
  "uri": "gs://cymbal-support/calls/ticket-83729.mp3",
  "model": 1742790939895861,
  "authorizer": "my-project.us-central1.conn",
  "particulars": {
    "gcs_metadata": {
      "content_type": "audio/mp3",
      "md5_hash": "a1b2c3d5g5f67890a1b2c3d4e5e47890",
      "dimension": 5120000,
      "up to date": 1742790939903000
    }
  }
}

Durch die Einkapselung dieser Informationen bietet ein Objectref BigQuery alle erforderlichen Particulars, um die grundlegenden Eigenschaften einer unstrukturierten Datei in GCS sicher zugreifen, sicher zugreifen und sie verstehen. Dies bildet die Grundlage für den Aufbau multimodaler Tabellen und Datenrahmen, sodass strukturierte Daten nebeneinander mit Verweise auf unstrukturierte Inhalte leben.

Erstellen Sie multimodale Tabellen

A Multimodale Tabelle ist eine Normal -BigQuery -Tabelle, die eine oder mehrere Objectref -Säulen enthält. In diesem Abschnitt werden diese Tabellen erstellt und mit SQL gefüllt.

Sie können Objectref -Spalten definieren, wenn Sie eine neue Tabelle erstellen oder zu vorhandenen Tabellen hinzufügen. Mit dieser Flexibilität können Sie Ihre aktuellen Datenmodelle anpassen, um multimodale Funktionen zu nutzen.

Erstellen einer Objectref -Spalte mit Objekttabellen

Wenn Sie viele Dateien in einem GCS -Eimer gespeichert haben, ist ein Objekttabelle ist eine effiziente Möglichkeit, Objectrefs zu erzeugen. Eine Objekttabelle ist eine schreibgeschützte Tabelle, in der der Inhalt eines GCS-Verzeichnisses angezeigt wird und automatisch eine Spalte namens enthält refvom Typ objectref.


SQL

CREATE EXTERNAL TABLE `project_id.dataset_id.my_table`
WITH CONNECTION `project_id.area.connection_id`
OPTIONS(
  object_metadata="SIMPLE",
  uris = ('gs://bucket-name/path/*.jpg')
);

Die Ausgabe ist eine neue Tabelle mit a ref Spalte. Sie können die verwenden ref Spalte mit Funktionen wie AI.GENERATE Oder nehmen Sie es mit anderen Tischen an.

Programmatisch Konstruktion von Objectrefs

Für dynamische Workflows können Sie die Objektionsstoffe programmatisch mithilfe der erstellen OBJ.MAKE_REF() Funktion. Es ist üblich, diese Funktion einzuwickeln OBJ.FETCH_METADATA() um die zu bevölkern particulars Aspect mit GCS -Metadaten. Der folgende Code funktioniert auch, wenn Sie das ersetzen gs:// Pfad mit einem URI -Feld in einer vorhandenen Tabelle.


SQL

SELECT 
OBJ.FETCH_METADATA(OBJ.MAKE_REF('gs://my-bucket/path/picture.jpg', 'us-central1.conn')) AS customer_image_ref,
OBJ.FETCH_METADATA(OBJ.MAKE_REF('gs://my-bucket/path/name.mp3', 'us-central1.conn')) AS support_call_ref

Durch Verwendung von Objekttabellen oder OBJ.MAKE_REFSie können multimodale Tabellen erstellen und pflegen und so die Bühne für integrierte Analysen einstellen.

Teil 2: Multimodale Tabellen mit SQL

Sichern Sie den Zugang und regierter Zugang

Objectref integriert sich in die nativen Sicherheitsfunktionen von BigQuery und ermöglicht die Governance über Ihre multimodalen Daten. Der Zugriff auf zugrunde liegende GCS-Objekte wird dem Endbenutzer nicht direkt gewährt. Stattdessen wird es über eine im Feld des Objectectref des Autorizer -Felds angegebene BigQuery -Verbindungsressource delegiert. Dieses Modell ermöglicht mehrere Sicherheitsebenen.

Betrachten Sie die folgende multimodale Tabelle, in der Informationen zu Produktbildern für unseren E-Commerce-Retailer gespeichert sind. Die Tabelle enthält eine Beobachterspalte mit dem Namen picture.

BigQuery

Sicherheit auf Spaltenebene: Beschränken Sie den Zugriff auf ganze Spalten. Für eine Reihe von Benutzern, die nur Produktnamen und Bewertungen analysieren sollten, kann ein Administrator die Sicherheit auf Spaltenebene auf die anwenden picture Spalte. Dadurch wird diese Analysten von der Auswahl der Auswahl des picture Säule und gleichzeitig die Analyse anderer strukturierter Felder.

BigQuery

Sicherheit auf Reihenebene: BigQuery ermöglicht das Filtern, das basierend auf definierten Regeln anreizt. Eine Richtlinie auf Zeilenebene könnte den Zugriff basierend auf der Rolle eines Benutzers einschränken. In einer Richtlinie kann beispielsweise „Benutzer nicht zulassen, dass Benutzer Produkte im Zusammenhang mit Hunden abfragen“, wodurch diese Zeilen von Abfrageergebnissen herausgefiltert werden, als ob sie nicht existieren würden.

BigQuery

Mehrere Autorisierer: Diese Tabelle verwendet zwei verschiedene Verbindungen in der picture.authorizer Aspect (conn1 Und conn2).

Auf diese Weise kann ein Administrator die GCS -Berechtigungen zentral durch Verbindungen verwalten. Zum Beispiel, conn1 Könnte während eines öffentlichen Picture -Eimers zugreifen conn2 Zugriff auf einen eingeschränkten Eimer mit neuen Produktdesigns. Auch wenn ein Benutzer alle Zeilen sehen kann, hängt ihre Fähigkeit, die zugrunde liegende Datei für das Produkt „Vogelsamen“ abzufragen conn2 Verbindung.

BigQuery

AI-gesteuerte Inferenz mit SQL

Der AI.GENERATE_TABLE Die Funktion erstellt eine neue, strukturierte Tabelle, indem ein generatives KI -Modell auf Ihre multimodalen Daten angewendet wird. Dies ist ultimate für Datenanreicherungsaufgaben im Maßstab. Verwenden wir unser E-Commerce-Beispiel, um Website positioning-Schlüsselwörter und eine kurze Marketingbeschreibung für jedes Produkt zu erstellen, wobei der Identify und das Bild als Quellmaterial verwendet werden.

Die folgende Abfrage verarbeitet die merchandise Tisch, nimmt das product_name Und picture Objectref als Eingänge. Es generiert eine neue Tabelle, die das Authentic enthält product_ideine Liste von Website positioning -Schlüsselwörtern und eine Produktbeschreibung.


SQL 

SELECT
  product_id,
  seo_keywords,
  product_description
FROM AI.GENERATE_TABLE(
  MODEL `dataset_id.gemini`, (
    SELECT (
		'For the picture of a pet product, generate:'
            '1) 5 Website positioning search key phrases and' 
            '2) A one sentence product description', 
            product_name, image_ref) AS immediate,
            product_id
    FROM `dataset_id.products_multimodal_table`
  ),
  STRUCT(
     "seo_keywords ARRAY, product_description STRING" AS output_schema
  )
);

Das Ergebnis ist eine neue strukturierte Tabelle mit den Spalten product_idAnwesend seo_keywordsUnd product_description. Dies automatisiert eine zeitaufwändige Marketingaufgabe und erzeugt bereitungsfreie Daten, die direkt in ein Content material-Administration-System geladen oder für die weitere Analyse verwendet werden können.

Teil 3: Multimodale Datenrahmen mit Python

Python und BigQuery für multimodale Inferenz überbrücken

Python ist die Sprache der Wahl für viele Datenwissenschaftler und Datenanalysten. Praktiker stoßen jedoch häufig auf Probleme, wenn ihre Daten zu groß sind, um in den Speicher einer lokalen Maschine zu passen.

BigQuery DataFrames Bietet eine Lösung. Es bietet eine Pandas-ähnliche API, um mit Daten zu interagieren, die in BigQuery gespeichert sind ohne jemals Ziehen Sie es in die lokale Erinnerung. Der Bibliothek Übersetzt Python -Code in SQL, der auf BigQuerys hoch skalierbarem Engine heruntergedrückt und ausgeführt wird. Dies liefert die vertraute Syntax einer beliebten Python -Bibliothek in Kombination mit der Kraft von BigQuery.

Dies erstreckt sich natürlich auf multimodale Analysen. Ein BigQuery -Datenframe kann sowohl Ihre strukturierten Daten als auch Referenzen auf unstrukturierte Dateien zusammen in einem einzigen darstellen multimodaler Datenrahmen. Auf diese Weise können Sie Datenrahmen laden, transformieren und analysieren, die sowohl Ihre strukturierten Metadaten als auch Ihre Zeiger auf unstrukturierte Dateien in einer einzelnen Python -Umgebung enthalten.

Erstellen Sie multimodale Datenrahmen

Sobald Sie das haben Bigframes Library Installiert können Sie mit multimodalen Daten arbeiten. Das Schlüsselkonzept ist das BLOB -Säule: Eine spezielle Spalte, die Verweise auf unstrukturierte Dateien in GCS hält. Stellen Sie sich eine BLOB -Spalte als die Python -Darstellung eines Objectref vor – sie hält die Datei selbst nicht, zeigt jedoch auf sie und bietet Methoden zur Interaktion mit dieser.

Es gibt drei allgemeine Möglichkeiten, eine Blob -Spalte zu erstellen oder zu bezeichnen:


PYTHON

import bigframes
import bigframes.pandas as bpd

# 1. Create blob columns from a GCS location
df = bpd.from_glob_path(  "gs://cloud-samples-data/bigquery/tutorials/cymbal-pets/photos/*", identify="picture")

# 2. From an present object desk
df = bpd.read_gbq_object_table("", identify="blob_col")

# 3. From a dataframe with a URI discipline
df("blob_col") = df("uri").str.to_blob()

Um die obigen Ansätze zu erklären:

  1. Ein GCS -Standort: Verwenden from_glob_path So scannen Sie einen GCS -Eimer. Hinter den Kulissen schafft dieser Vorgang eine temporäre BigQuery-Objekttabelle und präsentiert sie als Datenrahmen mit einer BLOB-Spalte, die bereit ist.
  2. Eine vorhandene Objekttabelle: Wenn Sie bereits eine BigQuery -Objekttabelle haben, verwenden Sie die read_gbq_object_table Funktionieren Sie es, um es zu laden. Dies liest die vorhandene Tabelle, ohne die GCS erneut zu scAN.
  3. Ein vorhandener Datenrahmen: Wenn Sie einen BigQuery -Datenrahmen haben, der eine Spalte mit String -GCS -URIs enthält, verwenden Sie einfach die .str.to_blob() Methode in dieser Spalte zum „Improve“ in eine Blob -Spalte.

AI-gesteuerte Inferenz mit Python

Der Hauptvorteil bei der Erstellung eines multimodalen Datenframes besteht darin, eine AI-gesteuerte Analyse direkt auf Ihren unstrukturierten Daten im Maßstab durchzuführen. Mit BigQuery DataFrames können Sie große Sprachmodelle (LLMs) auf Ihre Daten anwenden, einschließlich aller Blob -Spalten.

Der allgemeine Workflow umfasst drei Schritte:

  1. Erstellen Sie einen multimodalen Datenframe mit einer Blob -Spalte, die auf unstrukturierte Dateien zeigt
  2. Laden Sie ein bereits bestehendes BigQuery ML-Modell in ein BigFrames-Modellobjekt
  3. Rufen Sie die Methode .Predict () im Modellobjekt an und geben Sie Ihren multimodalen Datenrahmen als Eingabe weiter.

Lassen Sie uns mit dem E-Commerce-Beispiel fortfahren. Wir werden die verwenden gemini-2.5-flash Modell zum Erstellen einer kurzen Beschreibung für jedes PET -Produktbild.


PYTHON

import bigframes.pandas as bpd

# 1. Create the multimodal dataframe from a GCS location
df = bpd.from_glob_path(
"gs://cloud-samples-data/bigquery/tutorials/cymbal-pets/photos/*", identify="image_blob")


# Restrict to 2 photos for simplicity
df = df.head(2)

# 2. Specify a big language mannequin
from bigframes.ml import llm


mannequin = llm.GeminiTextGenerator(model_name="gemini-2.5-flash-preview-05-20")

# 3. Ask the LLM to explain what's within the image

reply = mannequin.predict(df_image, immediate=("Write a 1 sentence product description for the picture.", df_image("picture")))

reply(("ml_generate_text_llm_result", "picture"))

Wenn Sie anrufen mannequin.predict(df_image)BigQuery DataFrames konstruiert und führt eine SQL -Abfrage mit der ML.GENERATE_TEXT Funktion, automatisch Dateireferenzen aus dem übergeben blob Spalte und der Textual content immediate als Eingänge. Die BigQuery Engine verarbeitet diese Anfrage, sendet die Daten an ein Gemini -Modell und gibt die generierten Textbeschreibungen im resultierenden Datenrahmen an eine neue Spalte zurück.

Mit dieser leistungsstarken Integration können Sie multimodale Analysen über Tausende oder Millionen von Dateien über einige Zeilen von Python -Code hinweg durchführen.

Tiefer mit multimodalen Datenrahmen gehen

Zusätzlich zur Verwendung von LLMs für die Erzeugung, die bigframes Die Bibliothek bietet wachsende Instruments, die zur Verarbeitung und Analyse unstrukturierter Daten entwickelt wurden. Die wichtigsten Funktionen der BLOB -Spalte und ihren zugehörigen Methoden umfassen:

  • Integrierte Transformationen: Erstellen Sie Bilder für die Modellierung mit nativen Transformationen für gemeinsame Operationen wie verwischenAnwesend NormalisierungUnd Größenänderung im Maßstab.
  • Einbettung der Erzeugung: Aktivieren Sie die semantische Suche, indem Sie Einbettung aus multimodalen Daten generieren, wobei die vertex-AI-veranstalteten Modelle verwendet werden, um Daten in einen einzelnen Funktionsaufruf in Einbettendings umzuwandeln.
  • PDF -Chunking: Streamline RAG -Workflows durch programmgestützte Dokumentinhalte in kleinere, aussagekräftige Segmente – einen gemeinsamen Vorverarbeitungsschritt.

Diese Funktionen signalisieren, dass BigQuery DataFrames als Finish-to-Finish-Instrument für multimodale Analysen und KI mit Python erstellt wird. Wenn die Entwicklung weitergeht, können Sie erwarten, dass mehr Instruments in getrennten, spezialisierten Bibliotheken, die direkt integriert sind bigframes.

Abschluss:

Multimodale Tabellen und Datenrahmen stellen eine Verschiebung der Artwork und Weise dar, wie Unternehmen Datenanalysen angehen können. Durch das Erstellen eines direkten, sicheren Zusammenhangs zwischen tabellarischen Daten und unstrukturierten Dateien in GCS ist BigQuery die Datensilos ab, die eine lange komplizierte multimodale Analyse haben.

Dieser Leitfaden zeigt, dass Sie nun die Möglichkeit haben, multimodale Dateien neben relationalen Daten mühelos zu analysieren.

Um Ihre eigenen multimodalen Analyselösungen aufzubauen, erkunden Sie die folgenden Ressourcen:

  1. Offizielle Dokumentation: Lesen Sie einen Überblick auf So analysieren Sie multimodale Daten in BigQuery
  2. Python Pocket book: Machen Sie mit einem praktisch BigQuery DataFrames Beispiel Pocket book
  3. Schritt-für-Schritt-Tutorials:

Autor: Jeff Nelson, Entwicklerbeziehungsingenieur

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert