11-03-01 — Fabric IQ: Ontology, Semantic Foundation
TL;DR
Fabric IQ é a camada semântica e de IA do Microsoft Fabric — anunciada no Microsoft Build 2025. Ela constrói automaticamente uma ontologia de negócio sobre os dados do OneLake: entende que "cliente", "customer" e "KUNNR" (SAP) são a mesma entidade, mapeia relacionamentos entre tabelas, e expõe um grafo semântico que os Data Agents e o LLM usam para fazer perguntas precisas em linguagem natural. É a diferença entre um agente que erra 30% das queries e um que acerta 90%.
O problema que o Fabric IQ resolve
Quando um LLM tenta responder "Qual foi a receita por cliente no Q1?", ele precisa saber: qual tabela tem receita? qual coluna é o cliente? como essas tabelas se relacionam? quais são os filtros corretos para Q1? Sem contexto semântico, o LLM gera SQL errado — e o usuário recebe uma resposta incorreta com aparência de correta.
O que é a Ontologia do Fabric IQ
A ontologia é um grafo de conhecimento sobre seus dados — parecido com um schema, mas muito mais rico:
Como o Fabric IQ é construído
O Fabric IQ usa uma combinação de:
- Análise automática do schema — lê DDL das tabelas, identifica PKs e FKs
- Semantic Models do Power BI — aproveita o trabalho já feito em modelos PBI existentes
- NLP sobre nomes de colunas e tabelas — infere significado de "VKORG" = "canal de vendas"
- Curadoria humana — você corrige e enriquece o que a IA inferiu errado
Semantic Foundation: a camada de contexto para LLMs
A Semantic Foundation é o que o Fabric IQ expõe para os LLMs. É essencialmente um context enriquecido que acompanha cada query:
# Exemplo simplificado do que o Fabric IQ injeta no contexto do LLM
semantic_context = """
TABELAS DISPONÍVEIS:
- gold.fato_vendas: vendas finalizadas (grão: 1 linha por item de pedido)
- cliente_id: FK para gold.dim_cliente.id
- produto_sku: FK para gold.dim_produto.sku
- data_venda: DATE (use WHERE YEAR(data_venda) = 2025 para o ano atual)
- valor_brl: valor da venda em Reais (já convertido, não usar NETWR diretamente)
- qtd_vendida: INTEGER
MÉTRICAS PRÉ-CALCULADAS:
- receita_total = SUM(valor_brl)
- ticket_medio = AVG(valor_brl)
- margem_bruta = SUM(valor_brl - custo_brl) / SUM(valor_brl)
FILTROS COMUNS:
- Só vendas concluídas: WHERE status = 'COMPLETO'
- Período atual (Q1 2025): WHERE data_venda BETWEEN '2025-01-01' AND '2025-03-31'
"""
# O Data Agent injeta esse contexto antes de pedir ao LLM que gere SQL
prompt = f"""
{semantic_context}
Pergunta do usuário: "Qual foi a receita total por cliente no Q1 2025?"
Gere a query SQL correta usando apenas as tabelas e métricas descritas acima.
"""
Benefícios práticos do Fabric IQ
| Sem Fabric IQ | Com Fabric IQ |
|---|---|
| LLM não sabe nomes de colunas reais | Ontologia fornece mapeamento completo |
| Joins errados entre tabelas | Relacionamentos mapeados explicitamente |
| Filtros de data incorretos | Hierarquia temporal documentada |
| Métricas calculadas na query (lento) | Métricas pré-calculadas referenciadas |
| Respostas imprecisas | SQL gerado com alta precisão |
Como isso se conecta
- 11-03-02 — Data Agents são o front-end do Fabric IQ para usuários de negócio
- 11-04-01 — Power BI Semantic Models alimentam o Fabric IQ
- Módulo 8 (RAG) — Fabric IQ é análogo ao "system prompt enriquecido" no padrão RAG