Analiza datos multimodales en BigQuery
En este documento, se describen las funciones de BigQuery que puedes usar para crear y analizar datos multimodales. Estas funciones se pueden usar en BigQuery con GoogleSQL y con Python mediante BigQuery DataFrames.
Las funciones de datos multimodales de BigQuery te permiten realizar las siguientes tareas:
- Integra datos no estructurados almacenados en Cloud Storage como otra columna
junto con datos estructurados en tablas estándar de BigQuery mediante la
representación de datos no estructurados como valores
ObjectRef. - Genera anotaciones, embeddings y valores escalares a partir de datos multimodales con las funciones generativas de IA de BigQuery ML con modelos de Gemini.
- Genera anotaciones, embeddings y valores escalares a partir de datos multimodales creando DataFrames multimodales en BigQuery DataFrames y usando bibliotecas de Python.
Para obtener un instructivo paso a paso que usa la Cloud de Confiance consola, consulta Analiza datos multimodales con SQL y Python.
Beneficios
Las funciones de datos multimodales de BigQuery ofrecen los siguientes beneficios:
- Composabilidad: Puedes almacenar y administrar datos estructurados y no estructurados
en la misma fila de la tabla estándar con valores
ObjectRef. Por ejemplo, puedes almacenar imágenes de un producto en la misma fila que el resto de la información del producto. Puedes usar funciones estándar de SQL para crear y actualizar columnas que contengan valoresObjectRef, y puedes crear valoresObjectRefcomo resultado de una acción de transformación en un objeto. - Agrega varios datos no estructurados en instrucciones de IA generativa:
Agrega varios
ObjectRefvalores como entrada a las funciones generativas de IA. Por ejemplo, puedes generar embeddings de datos de imágenes y texto desde la misma tabla. Para la generación de texto y valores escalares, también puedes hacer referencia a varios objetos dentro de la instrucción que envías a un modelo. Por ejemplo, puedes crear una instrucción que le pida al modelo que genere una descripción del producto en función de las imágenes y los atributos del producto. - Persistencia del orden de los fragmentos: Puedes fragmentar objetos y, luego, almacenar los fragmentos
como un array de
ObjectRefvalores en una columna de tabla estándar para conservar su orden. Por ejemplo, puedes analizar imágenes de un video y, luego, almacenarlas como un array de valoresObjectRef, de modo que las imágenes permanezcan en el mismo orden en que aparecen en el video original.
Valores ObjectRef
Un valor ObjectRef es un valor STRUCT que usa el
ObjectRef esquema.
Puedes almacenar metadatos de objetos de Cloud Storage y un
autorizador asociado en una
tabla estándar de BigQuery
creando una columna STRUCT o ARRAY<STRUCT> que use este formato.
El valor del autorizador identifica la
conexión de recursos de Cloud
que BigQuery usa para acceder al objeto de Cloud Storage.
Si configuras el autorizador en NULL, BigQuery usará tus credenciales de usuario final.
Usa valores ObjectRef cuando necesites integrar datos no estructurados en una tabla estándar. Por ejemplo, en una tabla de productos, puedes almacenar imágenes de productos en la misma fila con el resto de la información del producto agregando una columna que contenga un valor ObjectRef.
Crea y actualiza valores ObjectRef con las siguientes funciones de GoogleSQL:
OBJ.MAKE_REF: Crea un valorObjectRefque contenga metadatos para un objeto de Cloud Storage.OBJ.FETCH_METADATA: Recupera metadatos de Cloud Storage para un valorObjectRefque se propaga parcialmente con valoresuriyauthorizer.
Para obtener más información, consulta Trabaja con valores ObjectRef.
Valores ObjectRefRuntime
Un valor ObjectRefRuntime es un valor JSON que usa el
esquema ObjectRefRuntime.
Un valor ObjectRefRuntime contiene los metadatos del objeto de Cloud Storage
del valor ObjectRef que se usó para crearlo, un autorizador asociado,
y URLs de acceso. Puedes usar las URLs de acceso para leer o modificar el objeto en
Cloud Storage.
Usa valores ObjectRefRuntime para trabajar con datos de objetos en flujos de trabajo de análisis y transformación. Las URLs de acceso en los valores ObjectRefRuntime vencen después de 6 horas como máximo, aunque puedes configurar un tiempo de vencimiento más corto. Si conservas valores ObjectRefRuntime en cualquier lugar como parte de tu flujo de trabajo, debes actualizar estos datos con regularidad. Para conservar los metadatos de objetos, almacena
ObjectRef valores y, luego, úsalos para generar ObjectRefRuntime
valores cuando los necesites. No es necesario actualizar los valores ObjectRef, a menos que se modifiquen los objetos subyacentes en Cloud Storage.
Crea valores ObjectRefRuntime con la
OBJ.GET_ACCESS_URL función.
Funciones generativas de IA
Genera texto, embeddings y valores escalares basados en ObjectRef o
ObjectRefRuntime entrada con las siguientes funciones generativas de IA con
modelos de Gemini:
AI.GENERATEAI.GENERATE_TEXTAI.GENERATE_TABLEAI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INTAI.GENERATE_EMBEDDINGAI.EMBEDAI.SIMILARITYAI.CLASSIFYAI.IFAI.SCORE
Trabaja con datos multimodales en Python
Puedes analizar datos multimodales en Python con las clases y los métodos de BigQuery DataFrames.
DataFrames multimodales
Crea un DataFrame multimodal que integre datos estructurados y no estructurados
con el método
read_gbq:
crea un DataFrame multimodal a partir de una tabla de objetos.
Para probarlo, consulta el instructivo de DataFrames multimodales en GitHub.
Métodos generativos de IA
Usa los siguientes métodos para realizar tareas generativas de IA en datos multimodales:
predictmétodo de laGeminiTextGeneratorclase: Genera texto basado en datos multimodales.predictmétodo de laMultimodalEmbeddingGeneratorclase: Genera embeddings basados en datos multimodales.
Tablas de objetos
Cualquier tabla de objetos nueva
que crees tiene una columna ref que contiene un valor ObjectRef para el objeto determinado. La conexión que se usa para crear la tabla de objetos se usa para propagar los valores authorizer en la columna ref. Puedes usar la columna ref para propagar y actualizar valores ObjectRef en tablas estándar.
Conjuntos de datos de Storage Insights
Un conjunto de datos de Storage Insights es un conjunto de datos vinculado
de BigQuery que
puedes consultar para analizar y visualizar tus datos de Cloud Storage. La
ref columna
contiene ObjectRef valores que puedes usar para
analizar datos y metadatos de objetos.
Limitaciones
Se aplican las siguientes limitaciones a las funciones de datos multimodales de BigQuery:
- Si no especificas de forma explícita el nombre del proyecto que contiene la conexión en el campo
authorizerde un valorObjectRef, la conexión debe existir en el proyecto que contiene la tabla de objetos que la almacena o en el proyecto en el que se ejecuta la consulta que hace referencia al valorObjectRef. - No puedes tener más de 20 conexiones de recursos de Cloud en el proyecto y la región en los que tu consulta accede a los datos de objetos como valores
ObjectRef. - Puedes hacer referencia a valores
ObjectRefde un máximo de cinco proyectos además del proyecto en el que ejecutas la consulta.
Costos
Se aplican los siguientes costos cuando se usan datos multimodales:
- El almacenamiento de metadatos de objetos como valores
ObjectRefen tablas estándar contribuye al costo de almacenamiento de BigQuery para la tabla. - Las consultas que se ejecutan en valores
ObjectRefgeneran costos de procesamiento de BigQuery. - Los objetos nuevos que creas a partir de transformaciones de objetos generan costos de Cloud Storage.
- Los datos nuevos que creas y conservas en BigQuery generan costos de almacenamiento de BigQuery.
- El uso de funciones generativas de IA genera costos de Vertex AI.
- El uso de UDF de Python de BigQuery y de métodos de DataFrames multimodales y transformaciones de objetos en BigQuery DataFrames genera costos de UDF de Python.
Para obtener más información, consulta las siguientes páginas de precios:
- Precios de BigQuery
- Precios de las UDF de Python de BigQuery
- Precios de Vertex AI
- Precios de Cloud Storage
¿Qué sigue?
- Especifica columnas
ObjectRefen esquemas de tablas. - Analiza datos multimodales con SQL.
- Obtén más información sobre la IA generativa en BigQuery ML.
- Obtén más información sobre BigQuery DataFrames.