Cómo crear un Chatbot de soporte de datos en Copilot en Fabric
Este tutorial muestra cómo crear un Chatbot de soporte de datos usando el Copilot en Fabric para responder a preguntas sobre esquemas, columnas y pipelines. Es útil para equipos que quieren dar acceso inmediato a información técnica sin escribir documentación extensa: en lugar de buscar archivos README o abrir tickets, los usuarios consultan el Chatbot y obtienen respuestas basadas en el catálogo. Vamos a explicar el porqué de cada paso y luego mostrar un paso a paso práctico que puede replicarse en minutos.
Requisitos previos
- Cuenta con acceso a Microsoft Fabric y permiso para usar el Copilot. Idealmente, una licencia Copilot aprovisionada y permisos de Owner o Contributor en el Workspace.
- Un Workspace con datos cargados (p. ej.: Dataflow Gen2, Lakehouse o Warehouse). Se recomienda empezar con un conjunto piloto de 10–50 tablas para probar.
- Conocimientos básicos de Fabric: Data Explorer, Notebooks y KQL/SQL. Saber ejecutar consultas simples y crear tablas en el Warehouse o Lakehouse es suficiente.
- Permisos de lectura para las entidades que alimentarán el meta_catalog — el Copilot necesita acceso a la tabla de metadatos para responder sin errores.
Paso 1: Preparar un dataset de referencia
El Chatbot necesita una fuente donde buscar metadatos. Cree una tabla simple con nombre de tabla, columna, tipo y descripción. Esta tabla sirve como el índice que el Copilot consulta primero — si tiene 200 filas para las 20 tablas más usadas, consigue cubrir ~80% de las preguntas operacionales. Puede usar un Notebook o Dataflow Gen2 para crear la tabla en el Lakehouse o en el 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');
Consejo práctico: añada columnas adicionales si necesita más contexto (p. ej.: source, last_updated, row_count). También podrá automatizar la actualización del meta_catalog con un Notebook que hace un DESCRIBE TABLE en cada tabla y actualiza las filas diariamente.
Paso 2: Indexar el catálogo para el Copilot
El Copilot funciona mejor cuando tiene acceso rápido a los metadatos. Asegúrese de que la tabla meta_catalog esté visible en el Workspace y con permisos de lectura para el Copilot. Una práctica común es colocar el meta_catalog en un OneLake o Lakehouse ligado al Workspace y definir permisos de lectura para el grupo de servicio del Copilot. Verifique que el tiempo de respuesta a las consultas sea bajo (idealmente < 300 ms) para que el Chatbot responda fluidamente.
Paso 3: Crear un prompt base para el Chatbot
Defina un prompt que enseñe al Copilot a buscar respuestas en el meta_catalog antes de recurrir a razonamiento libre. Un prompt orientador reduce drásticamente las hallucinations y establece un orden de prioridad: 1) buscar en meta_catalog, 2) si no hay resultado, avisar y sugerir una consulta. Este prompt es el comportamiento por defecto del asistente en contextos de soporte de datos.
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}
Paso 4: Probar preguntas simples en el Copilot
Abrir el Copilot en el Workspace y usar el prompt base. Haga preguntas directas para confirmar que el Chatbot usa la tabla meta_catalog. Pruebe un conjunto de 10–20 preguntas que cubran escenarios comunes (columnas, tipos, descripciones, tablas relacionadas). Si el Copilot devuelve respuestas que no coinciden con la tabla, revise los permisos o el 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?
Paso 5: Generar consultas automáticas cuando falte información
Si el Copilot no encuentra una entrada, pídale que genere una consulta KQL/SQL que el usuario pueda ejecutar. Esto hace que el Chatbot sea útil incluso sin cobertura total del catálogo — por ejemplo, en el 20% de los casos en que la columna no está indexada, el Copilot proporciona una consulta lista para correr, reduciendo el esfuerzo manual. Proporcione ejemplos de consultas robustas que usen LIKE y búsquedas por descripción para maximizar las probabilidades de encontrar coincidencias.
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}%';
Paso 6: Mejorar con prompts iterativos y validación
Añada prompts iterativos para clarificar preguntas ambiguas (p. ej.: “¿Se refiere a la tabla clientes o ventas?”). Use validación automática: cuando el Copilot responde, pídale que adjunte la consulta que usó para verificar el origen. También puede implementar un pequeño flujo que ejecute automáticamente la consulta de validación y compare el resultado con la respuesta del Copilot, señalando discrepancias. Esto reduce errores y aumenta la confianza de los usuarios.
User: O que é "id"?
Copilot: A que tabela se refere: clientes ou outra? (se ambíguo, peça clarificação)
Verificar el resultado
Confirme que el Chatbot responde con datos del meta_catalog y que, cuando no encuentra, devuelve el mensaje "Não encontrado no catálogo" seguido de una consulta SQL válida. Haga una batería de pruebas: 30 preguntas mezclando ambiguas, específicas y términos parciales. Ejecute las consultas sugeridas y verifique coherencia. Métricas útiles: tasa de éxito (respuesta correcta) > 90% para tablas cubiertas, tiempo medio de respuesta < 1 s, y reducción de tickets de soporte en al menos 30% tras la adopción inicial.
Conclusión
Ahora tiene un Chatbot de soporte de datos en Copilot en Fabric que usa un catálogo simple para responder sobre esquemas y columnas y genera consultas cuando es necesario. Próximos pasos: automatizar la actualización del meta_catalog a partir de los metadatos del Lakehouse, expandir la cobertura a las 50 tablas más críticas e integrar explicaciones de lineage. Consejo operativo: empiece por cubrir las tablas más usadas para reducir respuestas "Não encontrado no catálogo" y recopile feedback de los usuarios en las primeras semanas para ajustar el prompt y el catálogo.