Analise dados multimodais no BigQuery
Este documento descreve as funcionalidades do BigQuery que pode usar para analisar dados multimodais. Algumas funcionalidades estão disponíveis na Google Cloud consola e na ferramenta de linha de comandos bq, e outras estão disponíveis através da utilização de BigQuery DataFrames em Python. Pode usar muitas destas funcionalidades em conjunto para permitir fluxos de trabalho de análise e transformação mais fáceis para dados multimodais.
As funcionalidades de dados multimodais do BigQuery permitem-lhe realizar as seguintes tarefas:
- Integre dados não estruturados em tabelas padrão através de valores
ObjectRef
. - Trabalhe com dados não estruturados em fluxos de trabalho de análise e transformação usando valores
ObjectRefRuntime
. - Gere texto, incorporações e valores escalares a partir de dados multimodais através das funções de IA generativa do BigQuery ML com os modelos Gemini.
- Crie DataFrames multimodais nos DataFrames do BigQuery.
- Transforme imagens e divida ficheiros PDF usando os métodos
Series.BlobAccessor
do BigQuery DataFrames. - Gere texto e incorporações a partir de dados multimodais através dos DataFrames do BigQuery métodos de IA generativa.
Para um tutorial passo a passo que usa a Google Cloud consola, consulte Analise dados multimodais com SQL. Para um tutorial passo a passo que usa DataFrames do BigQuery em Python, consulte o artigo Analise dados multimodais em Python com DataFrames do BigQuery.
Vantagens
As funcionalidades de dados multimodais do BigQuery oferecem as seguintes vantagens:
- Componibilidade: pode armazenar e gerir dados estruturados e não estruturados na mesma linha da tabela padrão usando valores
ObjectRef
. Por exemplo, pode armazenar imagens de um produto na mesma linha que as restantes informações do produto. Pode usar funções SQL padrão para criar e atualizar colunas que contêm valoresObjectRef
, e pode criar valoresObjectRef
como resultado de uma ação de transformação num objeto. - Usar dados de objetos em comandos de IA generativa: use valores
ObjectRefRuntime
como entrada para funções de IA generativa. Por exemplo, pode gerar incorporações em dados de imagens e texto da mesma tabela. Para a geração de texto e valores escalares, também pode consultar vários objetos no comando que envia a um modelo. Por exemplo, pode criar um comando que peça ao modelo para comparar duas imagens de animais e, em seguida, devolver texto a indicar se mostram o mesmo tipo de animal. - Manter a ordem dos fragmentos: pode dividir objetos em fragmentos e, em seguida, armazená-los como uma matriz de valores
ObjectRef
numa coluna de tabela padrão para manter a respetiva ordem. Por exemplo, pode analisar imagens de um vídeo e, em seguida, armazená-las como uma matriz de valoresObjectRef
, para que as imagens permaneçam na mesma ordem em que aparecem no vídeo original.
Valores ObjectRef
Um valor ObjectRef
é um valor STRUCT
que usa o ObjectRef
formato.
Pode armazenar metadados de objetos do Cloud Storage e um autorizador associado numa tabela padrão do BigQuery criando uma coluna STRUCT
ou ARRAY<STRUCT>
que use este formato.
O valor do autorizador identifica a
ligação de recursos do Google Cloud
que o BigQuery usa para aceder ao objeto do Cloud Storage.
Use valores ObjectRef
quando precisar de integrar dados não estruturados numa tabela padrão. Por exemplo, numa tabela de produtos, pode armazenar imagens de produtos na mesma linha com o resto das informações dos produtos adicionando uma coluna que contenha um valor ObjectRef
.
Crie e atualize valores ObjectRef
com as seguintes funções do GoogleSQL:
OBJ.MAKE_REF
: crie um valorObjectRef
que contenha metadados para um objeto do Cloud Storage.OBJ.FETCH_METADATA
: obter metadados do Cloud Storage para um valorObjectRef
que está parcialmente preenchido com valoresuri
eauthorizer
.
Para mais informações, consulte o artigo
Especifique colunas ObjectRef
nos esquemas de tabelas.
Valores ObjectRefRuntime
Um valor ObjectRefRuntime
é um valor JSON
que usa o
ObjectRefRuntime
esquema.
Um valor ObjectRefRuntime
contém os metadados do objeto do Cloud Storage
do valor ObjectRef
que foi usado para o criar, um autorizador associado
e URLs de acesso. Pode usar os URLs de acesso para ler ou modificar o objeto no
Cloud Storage.
Use valores ObjectRefRuntime
para trabalhar com dados de objetos em fluxos de trabalho de análise e
transformação. Os URLs de acesso nos valores ObjectRefRuntime
expiram
no máximo após 6 horas, embora possa configurar um tempo de expiração mais curto. Se persistir valores ObjectRefRuntime
em qualquer lugar como parte do seu fluxo de trabalho, deve atualizar estes dados regularmente. Para persistir os metadados de objetos, armazene os valores ObjectRef
e, em seguida, use-os para gerar valores ObjectRefRuntime
quando precisar deles. Não é necessário atualizar os valores ObjectRef
, a menos que os objetos subjacentes no Cloud Storage sejam modificados.
Crie valores ObjectRefRuntime
usando a função OBJ.GET_ACCESS_URL
.
Funções de IA generativa
Gere texto, incorporações e valores escalares com base na ObjectRefRuntime
entrada através das seguintes funções de IA generativa com os modelos Gemini:
ML.GENERATE_TEXT
AI.GENERATE_TABLE
AI.GENERATE
AI.GENERATE_BOOL
AI.GENERATE_DOUBLE
AI.GENERATE_INT
ML.GENERATE_EMBEDDING
Para todas as funções, exceto ML.GENERATE_EMBEDDING
, pode fornecer valores ObjectRefRuntime
como valores únicos ou em matrizes.
ML.GENERATE_EMBEDDING
só aceita valores únicos.
Trabalhe com dados multimodais em Python
Pode analisar dados multimodais em Python através das classes e dos métodos dos DataFrames do BigQuery.
DataFrames multimodais
Crie um DataFrame multimodal que integre dados estruturados e não estruturados
através dos seguintes
métodos: Session
- Método
from_glob_path
: crie um DataFrame multimodal a partir de um contentor do Cloud Storage. read_gbq_object_table
method: crie um DataFrame multimodal a partir de uma tabela de objetos.
Métodos de transformação de objetos
Transforme os dados de objetos através dos seguintes métodos:
Series.BlobAccessor
- Método
pdf_chunk
: dividir objetos PDF de um DataFrame multimodal. Os seguintes métodos para transformar objetos de imagem a partir de um DataFrame multimodal:
Métodos de IA generativa
Use os seguintes métodos para realizar tarefas de IA generativa em dados multimodais:
predict
method of theGeminiTextGenerator
class: generate text based on multimodal data.- Método
predict
da classeMultimodalEmbeddingGenerator
: gerar incorporações com base em dados multimodais.
Tabelas de objetos
Se estiver na lista de autorizações para a pré-visualização de dados multimodal, todas as novas tabelas de objetos que criar têm uma coluna ref
que contém um valor ObjectRef
para o objeto especificado. A associação usada para criar a tabela de objetos é usada para preencher os valores authorizer
na coluna ref
. Pode usar a coluna ref
para preencher e atualizar os valores ObjectRef
em tabelas padrão.
Limitações
As seguintes limitações aplicam-se às funcionalidades de dados multimodais do BigQuery:
- Tem de executar qualquer consulta que faça referência a valores
ObjectRef
no mesmo projeto que a tabela que contém os valoresObjectRef
. - Não pode ter mais de 20 associações no projeto e na região onde está a executar consultas que referenciam valores
ObjectRef
ouObjectRefRuntime
. Por exemplo, se estiver a executar as consultas emasia-east1
emmyproject
, não pode ter mais de 20 ligações emasia-east1
emmyproject
.
Custos
Os seguintes custos são aplicáveis quando usa dados multimodais:
- O armazenamento de metadados de objetos como valores
ObjectRef
em tabelas padrão contribui para o custo de armazenamento do BigQuery da tabela. - As consultas executadas em valores
ObjectRef
incorrem em custos de computação do BigQuery. - Os novos objetos criados a partir de transformações de objetos incorrem em custos do Cloud Storage.
- Os novos dados que criar e persistirem no BigQuery incorrem em custos de armazenamento do BigQuery.
- A utilização de funções de IA generativa incorre em custos da Vertex AI.
- A utilização de UDFs Python do BigQuery e de métodos de transformação de objetos e DataFrames multimodais nos DataFrames do BigQuery implica custos de UDFs Python.
Para mais informações, consulte as seguintes páginas de preços:
O que se segue?
- Especifique colunas
ObjectRef
nos esquemas de tabelas. - Analise dados multimodais com SQL.
- Analise dados multimodais em Python com DataFrames do BigQuery.
- Saiba mais acerca da IA generativa no BigQuery ML.
- Saiba mais acerca dos DataFrames do BigQuery.