Ir para o conteúdo principal
Plataforma

Como usar AI_Functions no seu Data Warehouse: Principais casos de uso

Seis casos de uso de IA que você pode executar em SQL puro — substituindo os notebooks, APIs e pipelines que você usa hoje.

por Srikant Das e Ismail Makhlouf

Na maioria das organizações, os data warehouses armazenam dados estruturados, enquanto os dados não estruturados são mantidos no data lake. Isso funciona bem para cargas de trabalho de analytics, que consomem dados estruturados em escala, gerando um conjunto conhecido de relatórios dia após dia.

As cargas de trabalho de AI, no entanto, exigem entradas diferentes. Os modelos de AI geralmente precisam analisar dados não estruturados — como avaliações, chamados de suporte e PDFs — e combiná-los com dados estruturados para treinar, criar e servir modelos. Assim, um analista que deseja analisar o sentimento em chamados de suporte precisa enviar as linhas para um serviço, aguardar as previsões e juntá-las de volta em uma tabela manualmente. É um processo lento, que apresenta falhas quando o esquema muda e introduz riscos desnecessários de segurança e governança.

As AI Functions resolvem isso trazendo a AI diretamente para os seus dados, em vez de mover os dados para um ambiente de AI separado. Você invoca modelos dentro de consultas SQL padrão, mantendo todo o processo de inferência em seus pipelines existentes e sob a governança do Unity Catalog. Essa arquitetura muda fundamentalmente a forma como você trabalha com AI em seu data warehouse:

  • Governança por padrão: Como as AI Functions respeitam as permissões do Unity Catalog, seus dados permanecem seguros e privados. O modelo acessa apenas os dados que você permitir explicitamente.
  • Simplicidade nativa em SQL: Se você sabe escrever uma instrução SELECT, você pode criar com AI. O Databricks gerencia a complexidade — planejamento, paralelização e tentativas de repetição —, para que você não precise se preocupar com o gerenciamento de clusters ou orquestração externa. É tão fácil executar uma inferência em milhões de linhas quanto em uma única linha; a mesma consulta escala sem precisar ser reescrita.
  • Faturamento unificado: Elimine a complexidade de conciliar painéis distintos. O uso de AI aparece em system.billing.usage diretamente ao lado dos seus custos padrão do warehouse Databricks SQL.
  • Funções especializadas: Obtenha melhores resultados por um custo menor. Ao usar funções específicas para cada tarefa — como ai_classify, ai_extract, ai_translate e ai_parse_document —, você aproveita modelos personalizados para trabalhos específicos em vez de pagar a mais por inferências de uso geral.

image3.png

Você pode usar essas AI functions de qualquer lugar no Databricks, incluindo notebooks, Lakeflow Spark Declarative Pipelines e Workflow. Mas neste post, vamos nos concentrar especificamente em chamar essas funções a partir do Databricks Lakehouse. Os casos de uso abaixo mostrarão como você pode integrar essas AI functions em cargas de trabalho onde precisa combinar dados estruturados em seu data warehouse com dados não estruturados, seja de fora do data warehouse ou gerando-os você mesmo por meio de funções habilitadas para GenAI.

Caso de uso 1: Inteligência de documentos, de arquivos brutos a linhas estruturadas

A função ai_parse_document atua como a ponte de ingestão que converte o conteúdo bruto de arquivos binários — como PDFs ou imagens — em texto legível. Uma vez analisado, a ai_extract lida com a extração granular de chaves e valores específicos. Essa abordagem combinada elimina a necessidade de pipelines de OCR personalizados e frágeis ou de serviços de análise de terceiros que costumam falhar durante alterações de esquema.

Neste caso de uso, apontamos a função ai_parse_document para um volume do Databricks que contém faturas. Assim que essas faturas são analisadas, uma função ai_parse_document produz os resultados em JSON, que são passados para a função ai_extract, na qual definimos quais entidades queremos extrair dessas faturas. O resultado é uma tabela estruturada com os campos que desejamos extrair das faturas.

A linhagem agora vai do PDF bruto às linhas extraídas dentro de um único plano de consulta. A ponte que costuma ser construída manualmente para isso — um serviço de OCR em Python, uma chamada de LLM e uma etapa de nivelamento de JSON — é totalmente consolidada na consulta.

Notebook de demonstração: Inteligência de documentos

Caso de uso 2: Análise de sentimento no feedback dos clientes

A função ai_classify realiza classificação zero-shot, mapeando feedbacks em texto livre para um conjunto específico de rótulos definidos pelo usuário, sem exigir o treinamento do modelo. Esse processo transforma textos não estruturados e caóticos em colunas governadas e consultáveis, disponibilizando imediatamente os dados de sentimento e tópicos para painéis de BI e relatórios executivos.

Neste exemplo, queremos classificar as avaliações dos clientes da tabela bronze.nps_responses em positivas, negativas, neutras e mistas.

Notebook de demonstração: Análise de sentimento

Caso de uso 3: Tradução inline para dados multilíngues

Com a função ai_translate, você pode normalizar dados multilíngues em um único idioma de destino diretamente na camada de consulta. Isso evita silos de dados e fragmentação, permitindo que todas as análises downstream (incluindo classificação e extração) operem em todo o conjunto de dados global simultaneamente, em vez de processar apenas fatias em inglês.

Neste exemplo, extraímos o sentimento de diferentes avaliações de clientes e depois as traduzimos para o inglês.

Notebook de demonstração: Tradução e normalização

Caso de uso 4: Classificação e roteamento em escala

Com foco na eficiência operacional, a função ai_classify converte entradas de formato livre, como chamados de suporte ou transcrições de chamadas, em categorias acionáveis. Ao identificar a intenção e a urgência do feedback recebido no momento da ingestão, ela permite o roteamento inteligente e automatizado para as equipes apropriadas ou sistemas de resposta automática.

No caso de uso abaixo, estamos ingerindo diferentes chamados de suporte de uma tabela e usando a função ai_classify para determinar a intenção do usuário e a urgência do chamado.

Notebook de demonstração: Classificação e roteamento

Caso de uso 5: Extração estruturada de chamadas de vendas com ai_extract

A função ai_extract foi projetada para extrair informações semiestruturadas de conteúdos longos, como transcrições de chamadas de vendas, e converter textos narrativos em campos estruturados e discretos. Isso agrega um valor significativo ao colocar informações qualitativas diretamente em ferramentas de BI, transformando conversas faladas em métricas consultáveis, como estágio da negociação e sinalizadores de risco.

Neste caso de uso, analisamos uma transcrição longa para identificar qual é a próxima etapa, o estágio da negociação, o sinalizador de risco e o motivo do risco, para que a equipe de vendas possa agir com base no resultado da reunião que gerou a transcrição.

Notebook de demonstração: Extração de chamadas de vendas

Caso de uso 6: Redação generativa com ai_query

ai_query é a função mais geral e serve de base para as demais: ela permite enviar um prompt para qualquer endpoint de serving de Foundation Model hospedado no Databricks ao qual você tenha acesso, retornando a resposta do modelo para cada linha.

Neste caso de uso, podemos usar ai_query para redigir um e-mail de contato para renovação para cada conta de cliente na tabela fictícia gold.renewal_signals, que nos mostra quais contas estão prontas para renovação.

Como você escreve o prompt, ele pode fazer qualquer coisa que o modelo seja capaz de fazer, e é por isso que ele lida com os casos que as funções mais específicas não cobrem.

Notebook de demonstração: Redação generativa

Dicas profissionais para produção

  • Adicione tags aos jobs desde o primeiro dia: isso permitirá atribuir o custo das AI Functions aos jobs corretos
  • Experimente primeiro a função específica para a tarefa: use ai_query apenas quando nenhuma das funções ai_classify, ai_extract, ai_parse_document ou ai_translate for adequada
  • Solicite saídas estruturadas: para ai_query, use responseFormat para obter saídas estruturadas. Se você passar um esquema DDL STRUCT, obterá campos tipados em vez de strings brutas; os formatos JSON-schema/json_object ainda retornam strings JSON.
  • Seja intencional na escolha do modelo: cada foundation model tem suas compensações, incluindo custo, desempenho e formatos de entrada suportados. Certifique-se de escolher de forma consciente o modelo ideal para cada caso de uso
  • Faça uma amostragem antes de escalar: execute pelo menos 10.000 linhas, analise a saída e depois execute o restante. A relação custo-precisão é específica para cada caso de uso.
  • Trate os prompts como código: controle suas versões, revise-os em pull requests e adicione comentários. Neste fluxo de trabalho, um prompt é uma transformação que contém lógica de negócios

O que isso significa para a sua estratégia de data warehouse

O fio condutor de todos os seis casos é o mesmo. A IA é executada no mesmo local que o restante do data warehouse: uma única plataforma, um único modelo de governança, uma única fatura e um único conjunto de pipelines. Qualquer linha do seu ETL SQL existente pode incorporar uma etapa de IA sem que você precise configurar um sistema para hospedá-la, e cada script Python que antes traduzia, pontuava ou classificava dados externamente torna-se um candidato para substituição por uma única linha de código.

Então, comece com uma única coluna. Pegue a carga de trabalho em que o serviço atual é mais instável, reescreva-a como um SELECT, execute-a em 10.000 linhas e analise o retorno. Após um teste rápido, você saberá se a solução é adequada — e terá deixado de pagar o custo extra de transferir dados para fora apenas para utilizá-los.

Notebooks de demonstração

Cada notebook vem com dados de exemplo integrados, o passo a passo em SQL e o resultado esperado.

Leituras recomendadas

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Receba os posts mais recentes na sua caixa de entrada

Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.