Visão geral da IA generativa

Neste documento, descrevemos as funções de inteligência artificial (IA) generativa compatíveis com o BigQuery. Essas funções aceitam entradas de linguagem natural e usam modelos da Vertex AI e modelos integrados do BigQuery pré-treinados.

Visão geral

O BigQuery oferece várias funções de IA para ajudar em tarefas como:

  • Gerar conteúdo criativo.
  • Analisar, detectar sentimentos e responder a perguntas sobre texto ou dados não estruturados, como imagens.
  • Resuma as principais ideias ou impressões transmitidas pelo conteúdo.
  • Extrair dados estruturados de texto.
  • Classificar texto ou dados não estruturados em categorias definidas pelo usuário.
  • Gere embeddings para pesquisar textos, imagens e vídeos semelhantes.
  • Classifique as entradas para classificá-las por qualidade, semelhança ou outros critérios.

Há duas categorias principais de funções de IA para ajudar você a realizar essas tarefas:

  • Funções de IA de uso geral:essas funções oferecem controle total e transparência na escolha do modelo, do comando e dos parâmetros a serem usados.

    • Realizar inferência, como responder a perguntas sobre seus dados

      • AI.GENERATE é a função de inferência mais flexível, que permite analisar qualquer combinação de texto e dados não estruturados e gerar dados estruturados que correspondem ao seu esquema personalizado.
      • Se você precisar de uma saída de um tipo específico, selecione uma das seguintes funções de inferência mais especializadas:

        • AI.GENERATE_BOOL
        • AI.GENERATE_DOUBLE
        • AI.GENERATE_INT
    • Gerar saída estruturada, como extrair nomes e endereços de texto não estruturado

      • AI.GENERATE, quando você especifica um output_schema
      • AI.GENERATE_TABLE
    • Gerar texto com uma versão de função com valor de tabela de AI.GENERATE

      • AI.GENERATE_TEXT
    • Gerar embeddings para pesquisa semântica e agrupamento

      • AI.EMBED
      • AI.GENERATE_EMBEDDING
      • AI.SIMILARITY
  • Funções de IA gerenciadas:essas funções têm uma sintaxe simplificada e são otimizadas para custo e qualidade. O BigQuery escolhe um modelo para você.

    • Filtrar dados com condições de linguagem natural

      • AI.IF
    • Classificar a entrada, como por qualidade ou sentimento

      • AI.SCORE
    • Classificar entradas em categorias definidas pelo usuário

      • AI.CLASSIFY

Funções de IA de uso geral

As funções de IA de uso geral oferecem controle total e transparência na escolha do modelo, do comando e dos parâmetros a serem usados. A saída inclui informações detalhadas sobre a chamada ao modelo, incluindo o status e a resposta completa do modelo, que pode incluir informações sobre a classificação de segurança ou citações.

Gerar dados estruturados

A geração de dados estruturados é muito semelhante à geração de texto, exceto que você pode formatar a resposta do modelo especificando um esquema SQL. Por exemplo, é possível gerar uma tabela que contenha o nome, o número de telefone, o endereço, o pedido e a cotação de preços de um cliente com base na transcrição de uma ligação.

Há duas maneiras de gerar dados estruturados:

Gerar valores de um tipo específico por linha

É possível usar funções escalares de IA generativa com modelos do Gemini para analisar dados em tabelas padrão do BigQuery. Os dados incluem dados de texto e não estruturados de colunas que contêm valores ObjectRef. Para cada linha na tabela, essas funções geram uma saída que contém um tipo específico. Por exemplo, você pode analisar imagens de móveis para gerar texto para uma coluna design_type, de modo que o SKU dos móveis tenha uma descrição associada, como mid-century modern ou farmhouse.

As seguintes funções de IA estão disponíveis:

Ao usar a função AI.GENERATE com modelos do Gemini compatíveis, é possível usar a capacidade de processamento provisionada da Vertex AI para oferecer uma alta capacidade de processamento consistente para solicitações. Para mais informações, consulte Usar a taxa de transferência provisionada da Vertex AI.

Gerar texto com uma TVF

É possível realizar tarefas de IA generativa usando a função com valor de tabela GENERATE_TEXT, que usa modelos remotos no BigQuery ML para referenciar modelos implantados na ou hospedados na Vertex AI. É possível criar os seguintes tipos de modelos remotos:

Depois de criar um modelo remoto, use a função AI.GENERATE_TEXT para interagir com ele:

  • Para modelos remotos baseados em modelos do Gemini, é possível fazer o seguinte:

    • Use a função AI.GENERATE_TEXT para gerar texto com base em um comando especificado em uma consulta ou extraído de uma coluna em uma tabela padrão. Ao especificar o comando em uma consulta, é possível fazer referência aos seguintes tipos de colunas de tabela:

    • Use a função AI.GENERATE_TEXT para analisar texto, imagem, áudio, vídeo ou PDF de uma tabela de objetos com um comando que você fornece como argumento de função.

  • Para todos os outros tipos de modelos remotos, use a função AI.GENERATE_TEXT com um comando fornecido em uma consulta ou de uma coluna em uma tabela padrão.

Use os tópicos a seguir para testar a geração de texto no BigQuery ML:

É possível usar embasamento e atributos de segurança ao usar modelos do Gemini com a função AI.GENERATE_TEXT, desde que você esteja usando uma tabela padrão para entrada. O embasamento permite que Gemini usa informações adicionais da Internet para gerar respostas mais específicas e factuais. Os atributos de segurança permitem que Gemini filtram as respostas que retorna com base que você especificar.

Em alguns modelos, é possível configurar o ajuste supervisionado, que permite treinar o modelo com seus próprios dados para que ele se adapte melhor ao seu caso de uso. Toda inferência ocorre na Vertex AI. Os resultados são armazenados no BigQuery.

Para modelos do Gemini compatíveis, use o Provisioned Throughput da Vertex AI para fornecer uma taxa de transferência alta e consistente para solicitações. Para mais informações, consulte Usar a taxa de transferência provisionada da Vertex AI.

Gerar embeddings

Um embedding é um vetor numérico de alta dimensão que representa uma determinada entidade, como um texto ou um arquivo de áudio. A geração de embeddings permite capturar a semântica dos dados de uma forma que facilita o raciocínio e a comparação.

Confira alguns casos de uso comuns para a geração de embeddings:

  • Usar a geração aumentada de recuperação (RAG) para aumentar as respostas do modelo às consultas do usuário referenciando dados adicionais de uma fonte confiável. A RAG oferece melhor acurácia factual e consistência de resposta, além de acesso a dados mais recentes que os dados de treinamento do modelo.
  • Realizando a pesquisa multimodal. Por exemplo, usar a entrada de texto para pesquisar imagens.
  • Realizar pesquisa semântica para encontrar itens semelhantes para recomendações, substituição e remoção de registros duplicados.
  • Como criar embeddings para usar com um modelo k-means para clustering.

Para mais informações sobre como gerar embeddings e usá-los para realizar essas tarefas, consulte a Introdução a embeddings e pesquisa vetorial.

Funções de IA gerenciadas

As funções gerenciadas de IA são criadas para automatizar tarefas rotineiras, como classificação, ordenação ou filtragem. Essas funções usam o Gemini e não exigem personalização. O BigQuery usa a engenharia de comando e seleciona o modelo e os parâmetros adequados para a tarefa específica, otimizando a qualidade e a consistência dos resultados. Cada função retorna um valor escalar, como BOOL, FLOAT64 ou STRING, e não inclui informações de status adicionais do modelo. As seguintes funções gerenciadas de IA estão disponíveis:

  • AI.IF: filtra texto ou dados multimodais, como em uma cláusula WHERE ou JOIN, com base em um comando. Por exemplo, você pode filtrar as descrições de produtos por aquelas que descrevem um item que seria um bom presente.
  • AI.SCORE: Avalie as entradas com base em um comando para classificar as linhas por qualidade, similaridade ou outros critérios. É possível usar essa função em uma cláusula ORDER BY para extrair os K itens principais de acordo com a pontuação. Por exemplo, você pode encontrar as 10 avaliações de usuários mais positivas ou negativas de um produto.
  • AI.CLASSIFY: classifica o texto em categorias definidas pelo usuário. É possível usar essa função em uma cláusula GROUP BY para agrupar entradas de acordo com as categorias definidas. Por exemplo, você pode classificar os tíquetes de suporte de acordo com o assunto: faturamento, frete, qualidade do produto ou outro.

Para um tutorial com exemplos de como usar essas funções, consulte Realizar análise semântica com funções gerenciadas de IA.

Para um tutorial em notebook que mostra como usar funções de IA gerenciadas e de uso geral, consulte Análise semântica com funções de IA.

Locais

Os locais aceitos para modelos de geração e embedding de texto variam de acordo com o tipo e a versão do modelo que você usa. Para mais informações, consulte Locais.

Preços

Você recebe cobranças pelos recursos de computação usados para executar consultas em modelos. Os modelos remotos fazem chamadas para modelos da Vertex AI. Portanto, as consultas feitas a eles também geram cobranças da Vertex AI.

Para mais informações, consulte os preços do BigQuery ML.

Monitorar custos

As funções de IA generativa no BigQuery enviam solicitações para a Vertex AI, o que pode gerar custos. Para acompanhar os custos da Vertex AI gerados por um job executado no BigQuery, siga estas etapas:

  1. Confira seus relatórios de faturamento no Cloud Billing.
  2. Use filtros para refinar os resultados.

    Em "Serviços", selecione Vertex AI.

  3. Para conferir as cobranças de um job específico, filtre por rótulo.

    Defina a chave como bigquery_job_id_prefix e o valor como o ID do job. Se o ID do job tiver mais de 63 caracteres, use apenas os primeiros 63. Se o ID do seu job tiver caracteres maiúsculos, mude para minúsculos. Você também pode associar trabalhos a um rótulo personalizado para facilitar a pesquisa depois.

Pode levar até 24 horas para que algumas cobranças apareçam no Cloud Billing.

A seguir