11-03-02 — Data Agents GA: Virtual Analysts
Como Data Agents funcionam
O fluxo interno: usuario pergunta em PT, o agente consulta a ontologia do Fabric IQ, passa o contexto semantico para o LLM (GPT-4o), o LLM gera SQL preciso, o agente executa no Warehouse/Lakehouse, formata o resultado e devolve em linguagem natural com grafico opcional.
GA marco 2025: Data Agents sairao de Preview para GA com suporte a multiplas fontes de dados por agente, exportacao de resultados para Excel/PDF, e integracao direta com Copilot Studio como action.
Criando um Data Agent no Fabric
# Criando Data Agent via Fabric REST API
import requests
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}
agent_config = {
"displayName": "Analista de Vendas",
"description": "Responde perguntas sobre vendas, receita e clientes",
"dataSources": [
{
"type": "Warehouse",
"workspaceId": workspace_id,
"itemId": warehouse_id,
"schemas": ["gold"] # Apenas camada Gold
}
],
"instructions": """
Voce e um analista de vendas da empresa.
Responda apenas perguntas sobre vendas, receita, clientes e produtos.
Sempre mostre os numeros em formato brasileiro (R$ 1.234.567,89).
Quando a pergunta envolver ranking, mostre os top 10 por padrao.
Para perguntas sobre tendencias, compare sempre com o mesmo periodo do ano anterior.
""",
"llmConfig": {
"modelId": "gpt-4o",
"temperature": 0.1 # Baixo para respostas mais precisas
}
}
response = requests.post(
f"https://api.fabric.microsoft.com/v1/workspaces/{workspace_id}/dataAgents",
headers=headers,
json=agent_config
)
agent_id = response.json()["id"]
Consultando o Data Agent
# Fazendo uma pergunta ao Data Agent
chat_request = {
"messages": [
{
"role": "user",
"content": "Quais foram os 5 clientes com maior receita em abril de 2025?"
}
]
}
response = requests.post(
f"https://api.fabric.microsoft.com/v1/workspaces/{workspace_id}/dataAgents/{agent_id}/chat",
headers=headers,
json=chat_request
)
result = response.json()
print(result["message"]["content"])
# Output: "Os 5 maiores clientes em abril de 2025 foram:
# 1. Vale S.A. - R$ 12.450.000
# 2. TIM Brasil - R$ 8.320.000
# ..."
print(result.get("sql")) # A query gerada (para auditoria)
Casos de uso reais
| Pergunta do usuario | O que o agente faz |
|---|---|
| "Qual foi nossa receita no Q1?" | SELECT SUM filtrado por periodo |
| "Clientes sem compra nos ultimos 90 dias" | LEFT JOIN com filtro de data maxima |
| "Comparar vendas abril 2024 vs 2025" | Self-join ou CTEs com periodos diferentes |
| "Produto com maior margem em SP" | JOIN produto + regiao + calculo de margem |
| "Previsao de fechamento do mes" | Trend + projecao linear |
Limitacoes dos Data Agents:
- Nao executam acoes (nao criam pedidos, nao enviam emails) — apenas consultam
- Performance depende da qualidade da ontologia Fabric IQ
- Dados sensiveis: configure Row Level Security (RLS) no Warehouse antes de expor
- Limite de complexidade de query — joins com mais de 5 tabelas podem gerar SQL incorreto
Integrando com Copilot Studio
O Data Agent expoe um endpoint REST que pode ser adicionado como Action no Copilot Studio. O resultado: seu agente Teams responde tanto perguntas de documentos (SharePoint) quanto perguntas de dados (Fabric).
// No Copilot Studio, adicione uma HTTP Action apontando para o Data Agent:
// POST https://api.fabric.microsoft.com/v1/workspaces/{wid}/dataAgents/{aid}/chat
// Body: { "messages": [{"role": "user", "content": "{Topic.UserInput}"}] }
// Response mapping: Topic.AgentResponse = response.message.content