Na maioria das organizações, há uma expectativa crescente de que qualquer pessoa possa fazer perguntas sobre seus dados em linguagem natural e receber respostas precisas instantaneamente. Grandes modelos de linguagem não são projetados apenas para esse fim; eles não entendem acrônimos internos, métricas personalizadas ou como as entidades de negócios se relacionam umas com as outras. Sem esse contexto, até mesmo perguntas simples podem gerar resultados enganosos.
A implementação de melhores práticas de analítica de autoatendimento transforma a forma como as organizações fazem query de dados. O Databricks AI/BI Genie preenche essa lacuna combinando modelos de linguagem com dados governados e configuração explícita na Plataforma Databricks. Um Genie Space é onde você codifica a lógica, o vocabulário e as regras da sua organização para que as perguntas em linguagem natural se resolvam em queries corretas.
Construir um Genie Space confiável exige mais do que apontar a IA para um banco de dados. Isso exige preparação deliberada em modelagem de dados, metadados и validação contínua. Este guia fornece uma abordagem prática e passo a passo para realizar esse trabalho de maneira escalável.
A qualidade de um Genie Space depende muito da qualidade dos dados subjacentes. Quando os dados já têm curadoria e são consistentes, o trabalho do Genie se torna mais simples, rápido e preciso. O objetivo é disponibilizar dados com curadoria em que um analista humano confiaria sem limpeza adicional.
As views de métricas desempenham um papel key na aplicação de definições consistentes entre as equipes. Elas permitem que você codifique a lógica de negócios compartilhada, como cálculos de receita ou de usuários ativos, em um só lugar. O Genie herda essas definições automaticamente, o que garante que cada consulta se baseie na mesma lógica aprovada. Isso elimina a ambiguidade e garante uma única fonte de verdade.
Antes de configurar metadados ou exemplos de SQL, você precisa definir o que é sucesso. Um Genie Space não deve apenas responder a perguntas, mas respondê-las de forma correta, consistente e no formato esperado. Os benchmarks tornam isso mensurável.
Ao utilizar a ferramenta de benchmarking, você pode reexecutar seu conjunto de consultas comuns por meio de um processo automatizado. Isso fornece um sistema consistente e repetível para avaliar o estado do seu Genie Space em todas as etapas, permitindo que você meça o progresso e identifique regressões rapidamente.
Com uma base de dados sólida, agora você deve ensinar ao Genie o contexto e as regras específicas da sua organização. Isso envolve três camadas distintas de configuração: enriquecer metadados, definir relacionamentos e codificar padrões de SQL.
created_at ou status for vago, adicione uma descrição para especificar exatamente o que ele representa (por exemplo, "O carimbo de data/hora de quando o pedido foi feito, em UTC").As instruções gerais fornecem um contexto de alto nível, mas devem ser usadas com moderação. Elas são menos precisas do que metadados ou exemplos de SQL e nunca devem ser usadas para compensar a falta de configuração em outro lugar.
Antes de adicionar uma instrução geral, verifique se o problema pode ser resolvido por meio de descrições de tabelas, metadados de campos, joins, valores de exemplo ou queries de exemplo. Use instruções gerais somente quando nenhuma das ferramentas específicas se aplicar.
Instruções eficazes descrevem a narrativa de negócios em linguagem simples. Elas explicam as entidades principais, os ciclos de vida e os relacionamentos sem ditar o comportamento específico do SQL. Evite instruções que forcem a seleção de tabelas, usem filtros fixos ou especifiquem a formatação da saída.
Use a matriz de decisão abaixo para diagnosticar problemas comuns. Antes de adicionar uma instrução geral, verifique se você abordou a lacuna usando as ferramentas de configuração principais:
| Área de lacuna / Problema identificado | Primeiro recurso a verificar e alterar |
|---|---|
| O Genie não está usando a tabela correta. | Descrições de tabela: você explicou claramente para que serve cada tabela e quando ela deve ser usada? |
| O Genie não está usando o campo correto para um filtro, agregação ou cálculo. | Descrições de campo & sinônimos: o campo tem sinônimos claros para os termos da organização? Seu propósito está bem descrito? |
| O Genie não está conseguindo corresponder a entrada de um usuário a um valor específico nos dados (por exemplo, mapeando "Australia" para "AUS"). | Valores de exemplo / Dicionários de valores: estes recursos estão ativados para os campos relevantes para dar ao Genie contexto sobre o conteúdo da coluna? |
| O Genie está criando joins incorretos ou não está conseguindo join as tabelas. | Aba Joins: você definiu explicitamente o relacionamento e a cardinalidade dele (por exemplo, um para muitos)? |
| A lógica da query está errada ou o formato de saída (colunas selecionadas, aliases) está incorreto. | Exemplo de SQL Queries: você forneceu um exemplo completo e correto da query que o Genie pode usar para aprender como um padrão? |
| Um cálculo principal deve ser sempre realizado de uma forma específica e imutável. | Funções SQL (UDFs): você encapsulou essa lógica em uma função para garantir que ela seja sempre aplicada de forma correta e consistente? |
Esta seção é sua oportunidade de falar com o Genie em termos amplos e conceituais.
As instruções gerais mais eficazes fornecem uma narrativa de alto nível e legível por humanos de todo o contexto organizacional. Pense nisso como escrever um resumo executivo ou um resumo da missão para o Genie Space. É aqui que você explica o propósito dos dados, define as entidades principais e descreve como elas se relacionam em linguagem simples.
Este contexto deve guiar o Genie em direção aos padrões comportamentais corretos, sem ditar comandos SQL específicos. Ele preenche as lacunas conceituais que permanecem depois que todas as ferramentas mais específicas foram usadas.
Aqui está um exemplo comparativo de uma instrução de alto nível que prepara o cenário para um dataset de cashback e transações:
| Boas instruções gerais | Instruções Gerais Ruins | |
|---|---|---|
Isso abrange a análise de transações e de recompensas de cash-back dadas aos consumidores por fazerem compras em lojistas relevantes.Os clientes recebem cash-back em suas compras por fazerem compras com determinados vendedores. Um único cliente pode fazer várias compras com vários vendedores. Um cliente tem informações de account e demográficas associadas. Um cliente precisa ser aceito na plataforma para receber cash-back em suas compras.Um lojista terá um setor e uma taxa de cash-back base associados. Um único lojista pode ter vários clientes, cada um fazendo várias compras.Uma transação terá informações associadas de compra e de andamento do processamento interno. Uma transação progredirá de pendente para rejeitada ou aprovada. Cada transação individual terá um único cliente e vendedor associado. | ** CRITICAL: ALWAYS JOIN LOWER(merchants.id) = LOWER(transactions.merchant_id) **1ACRONYMS:MAU: Monthly active users AU: Activated usersCB: Cash back2If rejected is not specified as a condition, please only use approved. similar for accepted.3Use these fiscal quarter range definitions for dates q1: July–September (E.g., fy-2024 q1 = Jul–Sep 2023) q2: October–December (E.g., fy-2024 q2 = Oct–Dec 2023) q3: January–March (E.g., fy-2024 q3 = Jan–Mar 2024) q4: April–June (E.g., fy-2024 q4 = Apr–Jun 2024)4For cash back percent, this is defined as sum(cash_back) / sum(purchase_amount)5Always exclude merchants.status = ‘deactivated’6 | 1Esta join deve ser abordada na seção Joins, em vez de nas Instruções Gerais. A condição key da join deve ser corrigida durante a modelagem de dados.2As siglas devem ser incluídas nas descrições de campo e nos sinônimos onde forem relevantes. Estas também não têm contexto sobre a que se aplicam ou o que representam.3Não está claro a quais colunas estas regras se aplicam, nem sob quais condições. Elas certamente seriam mais bem aproveitadas se totalmente reformuladas como métricas ou, no mínimo, fornecidas nas próprias descrições das colunas.4Em vez disso, estes deveriam ser campos projetados nos dados subjacentes para remover qualquer ambiguidade ou responsabilidade das queries geradas. Seriam um caso de uso adequado para uma dimensão em uma view de métrica.5Estes devem ser fornecidos como medidas em uma visualização de métrica. No mínimo, devem ser abordados como queries de exemplo.6Esta exclusão deve ser feita no nível da engenharia de dados, em vez de uma condição a ser sempre adicionada às queries geradas. |
Instruções ineficazes tentam fazer o trabalho de uma ferramenta mais específica. Geralmente, elas são muito rígidas, dizendo ao Genie exatamente como escrever uma consulta, o que pode confundi-lo ou entrar em conflito com o contexto que ele aprendeu em outras áreas de configuração. Evite instruções que:
Lançar um Genie Space não é o fim do projeto, é o começo de uma ferramenta de analítica viva e em evolução. Os Genie Spaces mais bem-sucedidos são aqueles que são ativamente monitorados, mantidos e aprimorados em parceria com os usuários que atendem. Este passo final transforma seu Genie Space de uma configuração estática em um ativo dinâmico que se adapta às necessidades em constante mudança da sua organização.
Sua melhor fonte de informações para melhorar seu Genie Space são seus usuários especialistas. Capacite um pequeno grupo de SMEs para atuarem como defensores e forneça a eles acesso direto. Incentive-os a usar as ferramentas de feedback integradas, marcando as respostas como "Boas" ou "Ruins".
Isso cria um poderoso ciclo de feedback contínuo. Quando um SME trabalha com o Genie para refinar uma pergunta e chegar a uma resposta correta, essa interação é uma valiosa oportunidade de aprendizado. Capture a query final "Boa" deles e a pergunta original, e adicione-as às suas Example Queries. Este processo de refinamento iterativo, impulsionado pelo uso no mundo real, é a maneira mais eficaz de melhorar a precisão e a relevância do seu Espaço ao longo do tempo.
A Tab de monitoramento é sua linha de visão direta sobre como os usuários estão interagindo com seus dados. Analisar este painel regularmente fornece percepções valiosas sobre o comportamento do usuário e ajuda você a identificar áreas para melhoria. Procure por:
Esses dados fornecem um guia claro e baseado em evidências de onde concentrar seus esforços — seja para adicionar novos metadados, refinar joins, criar example queries mais direcionadas ou ajustar as instruções gerais para atender melhor às necessidades dos seus usuários.
À medida que você faz melhorias e seus dados evoluem, seu conjunto de benchmarks se torna sua principal ferramenta para garantia de qualidade e testes de regressão. Qualquer alteração significativa no Genie Space — como adicionar uma nova fonte de dados — deve ser imediatamente seguida por uma execução de benchmark.
Esta é a maneira mais rápida e confiável de verificar se uma mudança teve um impacto positivo ou negativo. Se você notar uma queda no desempenho, os resultados de referência indicarão exatamente quais queries regrediram, permitindo que você identifique a origem da nova ambiguidade e a resolva rapidamente. Essa abordagem disciplinada garante que, à medida que seu Espaço Genie cresce, sua qualidade e confiabilidade permaneçam consistentemente altas.
Construir um Genie Space de alto desempenho é um produto de refinamento contínuo, não uma configuração única. Não tente mapear todo o seu patrimônio de dados de uma só vez. Em vez disso, selecione um único caso de uso de alto valor, como um painel de vendas específico ou um relatório operacional, e aplique esta metodologia.
Comece com a engenharia de uma fatia limpa de dados e, em seguida, estabeleça imediatamente suas perguntas de benchmark "ouro". Use as falhas nesse benchmark inicial para guiar a configuração de metadados e da lógica SQL. Ao focar neste ciclo iterativo (testar, configurar, verificar), você construirá um sistema em que os usuários confiam. Essa abordagem disciplinada oferece recursos de autoatendimento imediatos.
Para começar a usar o Genie no workspace deles
https://docs.databricks.com/aws/en/genie/set-up
https://learn.microsoft.com/en-gb/azure/databricks/genie/set-up
https://docs.databricks.com/gcp/en/genie/set-up
(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original
Produto
June 12, 2024/11 min de leitura

