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:

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 valores ObjectRef, e pode criar valores ObjectRef 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 valores ObjectRef, 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 valor ObjectRef que contenha metadados para um objeto do Cloud Storage.
  • OBJ.FETCH_METADATA: obter metadados do Cloud Storage para um valor ObjectRef que está parcialmente preenchido com valores uri e authorizer.

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:

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étodos de transformação de objetos

Transforme os dados de objetos através dos seguintes métodos: Series.BlobAccessor

Métodos de IA generativa

Use os seguintes métodos para realizar tarefas de IA generativa 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 valores ObjectRef.
  • Não pode ter mais de 20 associações no projeto e na região onde está a executar consultas que referenciam valores ObjectRef ou ObjectRefRuntime. Por exemplo, se estiver a executar as consultas em asia-east1 em myproject, não pode ter mais de 20 ligações em asia-east1 em myproject.

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?