(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como criar um Chatbot de suporte a dados no Copilot no Fabric

João Barros 23 de August de 2026 6 min de leitura

Este tutorial mostra como criar um Chatbot de suporte a dados usando o Copilot no Fabric para responder a perguntas sobre esquemas, colunas e pipelines. É útil para equipas que querem dar acesso imediato a informação técnica sem escrever documentação extensa: em vez de procurar ficheiros README ou abrir tickets, os utilizadores consultam o Chatbot e obtêm respostas baseadas no catálogo. Vamos explicar o porquê de cada passo e depois mostrar um passo a passo prático que pode ser replicado em minutos.

Pré-requisitos

  • Conta com acesso ao Microsoft Fabric e permissão para usar o Copilot. Idealmente, uma licença Copilot aprovisionada e permissões de Owner ou Contributor no Workspace.
  • Um Workspace com dados carregados (ex.: Dataflow Gen2, Lakehouse ou Warehouse). Recomenda-se começar com um conjunto piloto de 10–50 tabelas para testar.
  • Conhecimentos básicos de Fabric: Data Explorer, Notebooks e KQL/SQL. Saber executar queries simples e criar tabelas no Warehouse ou Lakehouse é suficiente.
  • Permissões de leitura para as entidades que irão alimentar o meta_catalog — o Copilot precisa de acesso à tabela de metadados para responder sem erros.

Passo 1: Preparar um dataset de referência

O Chatbot precisa de uma fonte onde procurar metadados. Crie uma tabela simples com nome da tabela, coluna, tipo e descrição. Esta tabela serve como o índice que o Copilot consulta primeiro — se tiver 200 linhas para as 20 tabelas mais usadas, consegue cobrir ~80% das perguntas operacionais. Pode usar um Notebook ou Dataflow Gen2 para criar a tabela no Lakehouse ou no Warehouse.

-- Exemplo SQL no Warehouse
CREATE TABLE meta_catalog (
  table_name STRING,
  column_name STRING,
  data_type STRING,
  description STRING
);

INSERT INTO meta_catalog VALUES
('clientes','id','INT','Identificador único do cliente'),
('clientes','nome','STRING','Nome completo do cliente'),
('vendas','valor','DECIMAL','Valor da transacção em EUR');

Dica prática: adicione colunas adicionais se precisar de mais contexto (ex.: source, last_updated, row_count). Poderá também automatizar a actualização do meta_catalog com um Notebook que faz um DESCRIBE TABLE em cada tabela e actualiza as linhas diariamente.

Passo 2: Indexar o catálogo para o Copilot

O Copilot funciona melhor quando tem acesso rápido aos metadados. Garanta que a tabela meta_catalog está visível no Workspace e com permissões de leitura para o Copilot. Uma prática comum é colocar o meta_catalog num OneLake ou Lakehouse ligado ao Workspace e definir permissões de leitura para o grupo de serviço do Copilot. Verifique que o tempo de resposta às queries é baixo (idealmente < 300 ms) para que o Chatbot responda fluentemente.

Passo 3: Criar um prompt base para o Chatbot

Defina um prompt que ensine o Copilot a procurar respostas no meta_catalog antes de recorrer a raciocínio livre. Um prompt orientador reduz drasticamente as hallucinations e estabelece uma ordem de prioridade: 1) pesquisar meta_catalog, 2) se não houver resultado, avisar e sugerir uma query. Este prompt é o comportamento padrão do assistente em contextos de suporte a dados.

System: You are a data support assistant. Use only information from the meta_catalog table to answer questions about schema, columns and data types. If answer not found, say "Não encontrado no catálogo" and suggest a KQL/SQL query.
User: {user_question}

Passo 4: Testar perguntas simples no Copilot

Abrir o Copilot no Workspace e usar o prompt base. Faça perguntas diretas para confirmar que o Chatbot usa a tabela meta_catalog. Teste um conjunto de 10–20 perguntas que cubram cenários comuns (colunas, tipos, descrições, tabelas relacionadas). Se o Copilot devolver respostas que não coincidam com a tabela, reveja as permissões ou o prompt.

Exemplos de perguntas para testar:
- Quais são as colunas da tabela clientes?
- O que significa a coluna valor em vendas?
- Que tipo tem clientes.id?

Passo 5: Gerar queries automáticas quando faltar informação

Se o Copilot não encontrar uma entrada, peça-lhe que gere uma query KQL/SQL que o utilizador possa executar. Isto torna o Chatbot útil mesmo sem cobertura total do catálogo — por exemplo, nos 20% dos casos em que a coluna não está indexada, o Copilot fornece uma query pronta a correr, reduzindo o esforço manual. Forneça exemplos de queries robustas que usem LIKE e pesquisas por descrição para maximizar as hipóteses de encontrar correspondências.

System addition: If not found, return a ready-to-run SQL query to search the warehouse, e.g.:
SELECT table_name, column_name, data_type, description
FROM meta_catalog
WHERE column_name LIKE '%{term}%' OR description LIKE '%{term}%';

Passo 6: Melhorar com prompts iterativos e validação

Adicione prompts iterativos para clarificar perguntas ambíguas (ex.: “Refere‑se à tabela clientes ou vendas?”). Use validação automática: quando o Copilot responde, peça-lhe para anexar a query que usou para verificar a origem. Pode também implementar um pequeno fluxo que executa automaticamente a query de validação e compara o resultado com a resposta do Copilot, sinalizando discrepâncias. Isto reduz erros e aumenta a confiança dos utilizadores.

User: O que é "id"?
Copilot: A que tabela se refere: clientes ou outra? (se ambíguo, peça clarificação)

Verificar o resultado

Confirme que o Chatbot responde com dados do meta_catalog e que, quando não encontra, devolve a mensagem "Não encontrado no catálogo" seguida de uma query SQL válida. Faça uma bateria de testes: 30 perguntas misturando ambíguas, específicas e termos parciais. Execute as queries sugeridas e verifique coerência. Métricas úteis: taxa de sucesso (resposta correcta) > 90% para tabelas cobertas, tempo médio de resposta < 1 s, e redução de tickets de suporte em pelo menos 30% após a adopção inicial.

Conclusão

Agora tem um Chatbot de suporte a dados no Copilot no Fabric que usa um catálogo simples para responder sobre esquemas e colunas e gera queries quando necessário. Próximos passos: automatizar a actualização do meta_catalog a partir dos metadados do Lakehouse, expandir a cobertura para as 50 tabelas mais críticas e integrar explicações de lineage. Dica operacional: comece por cobrir as tabelas mais usadas para reduzir respostas "Não encontrado no catálogo" e recolha feedback dos utilizadores nas primeiras semanas para ajustar o prompt e o catálogo.