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.BlobAccessordo 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 valoresObjectRefcomo resultado de uma ação de transformação num objeto. - Usar dados de objetos em comandos de IA generativa: use valores
ObjectRefRuntimecomo 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
ObjectRefnuma 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 valorObjectRefque contenha metadados para um objeto do Cloud Storage.OBJ.FETCH_METADATA: obter metadados do Cloud Storage para um valorObjectRefque está parcialmente preenchido com valoresurieauthorizer.
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_TEXTAI.GENERATE_TABLEAI.GENERATEAI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INTML.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_tablemethod: 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:
predictmethod of theGeminiTextGeneratorclass: generate text based on multimodal data.- Método
predictda 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
ObjectRefno 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
ObjectRefouObjectRefRuntime. Por exemplo, se estiver a executar as consultas emasia-east1emmyproject, não pode ter mais de 20 ligações emasia-east1emmyproject.
Custos
Os seguintes custos são aplicáveis quando usa dados multimodais:
- O armazenamento de metadados de objetos como valores
ObjectRefem tabelas padrão contribui para o custo de armazenamento do BigQuery da tabela. - As consultas executadas em valores
ObjectRefincorrem 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
ObjectRefnos 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.