Visão geral da IA generativa
Este documento descreve 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 pré-treinados da Vertex AI e modelos integrados do BigQuery.
Visão geral
O BigQuery oferece várias funções de IA para ajudar em tarefas como as seguintes:
- Gerar conteúdo criativo.
- Analisar, detectar sentimentos e responder a perguntas sobre texto ou dados não estruturados, como imagens.
- Resumir 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.
- Gerar embeddings para pesquisar textos, imagens e vídeos semelhantes.
- Avaliar entradas para classificá-las por qualidade, semelhança ou outros critérios.
As seguintes categorias de funções de IA ajudam 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 de LLM, como responder a perguntas sobre seus dados
AI.GENERATEé a função de inferência mais flexível, que permite analisar dados estruturados ou não estruturados.AI.GENERATE_TEXTé uma versão com valor de tabela deAI.GENERATEque também oferece suporte a modelos de parceiros e modelos abertos.
Gerar saída estruturada, como extrair nomes, endereços ou descrições de objetos de texto, documentos ou imagens.
AI.GENERATE, quando você especifica um esquema de saída.AI.GENERATE_TABLEé uma versão com valor de tabela deAI.GENERATEque chama um modelo remoto e permite especificar um esquema de saída personalizado.- Se o esquema de saída tiver um único campo, você poderá usar uma das funções especializadas:
AI.GENERATE_BOOL,AI.GENERATE_DOUBLEouAI.GENERATE_INT.
Gerar embeddings para pesquisa semântica e clustering
AI.EMBED: cria um embedding de dados de texto ou imagem.AI.GENERATE_EMBEDDING: uma função com valor de tabela que adiciona uma coluna de dados de texto, imagem, áudio, vídeo ou documento incorporados à tabela.
Funções de IA gerenciadas: Essas funções têm uma sintaxe simplificada e são otimizadas para custo e qualidade.
AI.IF: filtra seus dados com condições de linguagem natural.AI.SCORE: avalia a entrada, como por qualidade ou sentimento.AI.CLASSIFY: classifica a entrada em categorias definidas pelo usuário.AI.AGG: agrega a entrada para resumir ou analisar seus dados.
Funções específicas para tarefas: Essas funções usam APIs da IA do Google Cloud para ajudar você a realizar tarefas como processamento de linguagem natural, tradução automática, processamento de documentos, transcrição de áudio e visão computacional.
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 para o modelo, incluindo o status e a resposta completa do modelo, que podem incluir informações sobre a classificação de segurança ou citações.
Realizar inferência de LLM
A função AI.GENERATE
é uma função de inferência flexível que funciona enviando solicitações a um modelo do Gemini da Vertex AI e
retornando a resposta desse modelo. É possível usar essa função para analisar dados de texto, imagem, áudio, vídeo ou PDF. Por exemplo, você pode analisar imagens de móveis domésticos 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.
É possível realizar tarefas de IA generativa usando modelos remotos no
BigQuery ML para referenciar modelos implantados
ou hospedados na Vertex AI com a
AI.GENERATE_TEXT função com valor de tabela.
É possível usar os seguintes tipos de
modelos remotos:
Modelos remotos em qualquer um dos modelos do Gemini de disponibilidade geral ou de pré-lançamento para analisar conteúdo de texto, imagem, áudio, vídeo ou PDF de tabelas padrão ou de objetos com um comando fornecido como argumento de função.
Modelos remotos em Anthropic Claude, Mistral AI ou Llama modelos de parceiros, ou modelos abertos com suporte, para analisar um comando fornecido em uma consulta ou de uma coluna em uma tabela padrão.
Use os tópicos a seguir para tentar a geração de texto no BigQuery ML:
- Gerar texto usando um modelo do Gemini e a função
AI.GENERATE_TEXT. - Gerar texto usando um modelo do Gemma e a função
AI.GENERATE_TEXT. - Analisar imagens com um modelo do Gemini.
- Gerar texto usando a função
AI.GENERATE_TEXTcom seus dados. - Ajustar um modelo usando seus dados.
Para alguns modelos, é possível escolher configurar o ajuste supervisionado, que permite treinar o modelo nos seus próprios dados para que ele seja mais adequado ao seu caso de uso. Toda inferência ocorre na Vertex AI. Os resultados são armazenados no BigQuery.
Gerar dados estruturados
A geração de dados estruturados é muito semelhante à geração de texto, exceto que é possível 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, a solicitação e a cotação de preços de um cliente de uma transcrição de uma chamada telefônica.
É possível gerar dados estruturados das seguintes maneiras:
A função
AI.GENERATEchama um endpoint da Vertex AI e pode gerar um valorSTRUCTcom seu esquema personalizado.Para testar, consulte Como usar a saída estruturada ao chamar a função
AI.GENERATE.A função
AI.GENERATE_TABLEchama um modelo remoto e é uma função com valor de tabela que gera uma tabela com seu esquema personalizado.Para tentar criar dados estruturados, consulte Gerar dados estruturados usando a função
AI.GENERATE_TABLE.Para um único campo de saída, é possível usar uma das seguintes funções de inferência especializadas:
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 maneira que facilita o raciocínio e a comparação dos dados.
Confira alguns casos de uso comuns para a geração de embeddings:
- Usar a geração aumentada por 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 precisão factual e consistência de resposta, além de acesso a dados mais recentes do que os dados de treinamento do modelo.
- Realizar 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 desduplicação de registros.
- 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 de IA gerenciadas são criadas para automatizar tarefas de rotina, como classificação, ordenação, agregação ou filtragem. Essas funções usam o Gemini e não exigem personalização. O BigQuery usa a engenharia de comandos e pode selecionar o modelo e os parâmetros adequados para a tarefa específica para otimizar 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 de IA gerenciadas estão disponíveis:
AI.IF: filtra texto ou dados multimodais, como em uma cláusulaWHEREouJOIN, com base em um comando. Por exemplo, é possível filtrar descrições de produtos por aquelas que descrevem um item que seria um bom presente.AI.SCORE: avalia as entradas com base em um comando para classificar as linhas por qualidade, semelhança ou outros critérios. É possível usar essa função em uma cláusulaORDER BYpara extrair os K principais itens de acordo com a pontuação. Por exemplo, é possível encontrar as 10 principais 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áusulaGROUP BYpara agrupar entradas de acordo com as categorias definidas. Por exemplo, é possível classificar os tíquetes de suporte por se eles estão relacionados a faturamento, frete, qualidade do produto ou algo mais.AI.AGG: agrega a entrada com base em instruções de linguagem natural para resumir ou analisar seus dados. Por exemplo, é possível analisar registros de sessões de aplicativos de usuários para determinar onde os clientes estão tendo dificuldades ou resumir o conteúdo de um grande conjunto de imagens.
Para um tutorial que mostra exemplos de como usar essas funções, consulte Realizar análise semântica com funções de IA gerenciadas.
Para um tutorial de notebook que mostra como usar funções de IA gerenciadas e de uso geral funções, consulte Análise semântica com funções de IA.
Funções específicas para tarefas
Além das funções mais gerais descritas nas seções anteriores, é possível desenvolver soluções específicas para tarefas no BigQuery ML usando APIs de IA do Google Cloud. Veja a seguir algumas das tarefas disponíveis:
- Processamento de linguagem natural
- Tradução automática
- Processamento de documentos
- Transcrição de áudio
- Visão computacional
Para mais informações, consulte Visão geral das soluções específicas para tarefas.
Locais
Os locais com suporte para modelos de geração de texto e embedding variam de acordo com o tipo e a versão do modelo usado. Para mais informações, consulte Locais.
Preços
Você paga pelos recursos de computação usados para executar consultas em modelos. Os modelos remotos fazem chamadas para modelos da Vertex AI. Portanto, as consultas em modelos remotos também geram cobranças da Vertex AI.
Para mais informações, consulte Preços do BigQuery ML.
Monitorar custos
As funções de IA generativa no BigQuery funcionam enviando solicitações para a Vertex AI, o que pode gerar custos. Para acompanhar os custos da Vertex AI incorridos por um job executado no BigQuery, siga estas etapas:
- Consulte seus relatórios de faturamento em Cloud Billing.
Use filtros para refinar seus resultados.
Para serviços, selecione Vertex AI.
Para conferir as cobranças de um job específico, filtre por rótulo.
Defina a chave como
bigquery_job_id_prefixe o valor como o ID do job. Se o ID do job tiver mais de 63 caracteres, use apenas os primeiros 63 caracteres. Se o ID do job contiver caracteres maiúsculos, mude-os para minúsculos. Como alternativa, é possível associar jobs a um rótulo personalizado para ajudar a pesquisá-los mais tarde.
Pode levar até 24 horas para que algumas cobranças apareçam no Cloud Billing.
Monitoramento
Para entender melhor o comportamento das funções de IA chamadas no BigQuery, é possível ativar o registro de solicitações e respostas. Para registrar toda a solicitação e resposta enviada e recebida da Vertex AI, siga estas etapas:
Ative os registros de solicitação-resposta na Vertex AI. Os registros são armazenados no BigQuery. É necessário ativar a geração de registros separadamente para cada modelo de fundação e região. Para registrar consultas executadas na região
us, especifique aus-central1região na solicitação. Para registrar consultas executadas na regiãoeu, especifique a regiãoeurope-west4na solicitação.Execute uma consulta usando uma função de IA que faça uma chamada para a Vertex AI usando o modelo para o qual você ativou o registro na etapa anterior.
Para conferir a solicitação e a resposta completas da Vertex AI, consulte a tabela de registro para linhas em que o
labels.bigquery_job_id_prefixcampo dafull_requestcoluna corresponda aos primeiros 63 caracteres do ID do job. Opcionalmente, é possível usar um rótulo de consulta personalizado para ajudar a pesquisar a consulta nos registros.Por exemplo, é possível usar uma consulta semelhante a esta:
SELECT * FROM `my_project.my_dataset.request_response_logging` WHERE JSON_VALUE(full_request, '$.labels.bigquery_job_id_prefix') = 'bquxjob_123456...';
A seguir
- Para uma introdução à IA e ao ML no BigQuery, consulte Introdução à IA e ao ML no BigQuery.
- Para mais informações sobre como realizar inferência em modelos de machine learning, consulte Visão geral da inferência de modelos.
- Para mais informações sobre instruções e funções SQL compatíveis com modelos de IA generativa, consulte Jornadas do usuário completas para modelos de IA generativa.