¡Jueves de post! Seguimos con el segundo post sobre los Fabric Data Agent. En esta ocasión, entramos en harina como solemos decir. Una vez visto que son los Fabric Data Agent, vamos a empezar a crear uno. Para ello, vamos nos dirigimos al workspace en el que queramos desplegar el Fabric Data Agent. Para esto, necesitamos una licencia de Fabric (la trial es más que suficiente), lo que no nos sirve es una licencia PRO ni PPU de Power BI.
Una vez dentro del workspace deseado, hacemos click en “Nuevo elemento” y a continuación en la barra de búsqueda escribimos “Agente…” y vemos que se nos muestra el elemento a seleccionar:
Una vez hacemos click, se nos abre una ventana en la que tenemos que asignar el nombre al agente que vamos a crear:
Una vez asignado el nombre, se nos muestra la siguiente pantalla, la cual tiene un sabor muy parecido al de “Preparación de datos para IA” de Microsoft Power BI Desktop:
Lo primero que tenemos que hacer, es indiciarle al agente a qué datos va acceder para darnos respuesta a nuestras preguntas. Para ello hacemos click sobre agregar un origen de datos:
Como podemos ver, podemos asignarle desde modelos semánticos a Warehouse pasando por Lakehouse. Para este caso, vamos a seleccionar el Warehouse denominado “Gold”. Hacemos click sobre él y a continuación hacemos click en “Agregar” y se nos abre la siguiente ventana:
Como podemos ver, es una mezcla entre la pantalla análisis de datos de Fabric y la ventana de Microsoft AI Foundry del áera de juegos:
Como con todos los agentes, antes de lanzarnos a la piscina y empezar a preguntarle cosas, debemos darle contexto, porque ya sabéis lo que digo, una IA sin contexto no es inteligente. Para ello, hacemos click sobre el botón de configuración:
Una vez dentro de las opciones de “Configuración”, hacemos click sobre “Instrucciones del agente”. Aquí es dónde le vamos a indicar el contexto y cómo de actuar y como no, respecto a las preguntas del usuario.
En la pantalla que se nos ha abierto, le escribimos las instrucciones deseadas.
Una vez cumplimentado, vamos con el siguiente paso que es proporcionarle instrucciones sobre el origen de datos. Las descripciones del origen de datos sirven para aportar contexto claro y estratégico sobre cada fuente, ayudando al Agente de datos a decidir con criterio dónde debe ejecutar cada consulta.
Una buena descripción debe explicar qué información contiene ese origen, qué tipo de preguntas puede responder y qué particularidades del negocio lo diferencian del resto.
El agente utiliza este contexto como parte de su razonamiento interno para determinar qué origen es el más adecuado en función de la intención real de la pregunta del usuario.
¿Veis lo que estamos haciendo? Aportarle todo el contexto necesario, sino deja de ser inteligente.
A continuación, hacemos click sobre “Consultas de ejemplo” que son las herramientas del agente de datos y estas se apoyan en consultas de ejemplo —los llamados few-shot examples— para elevar la calidad de las consultas que generan. Estos ejemplos permiten que el creador defina patrones reales de lógica que el agente puede reutilizar como referencia cuando construye una respuesta.
Cuando se utiliza un origen de datos, el sistema identifica automáticamente las consultas de ejemplo más relacionadas con la pregunta del usuario y selecciona las tres más relevantes. Estas se incorporan al proceso de generación, guiando al agente para que produzca consultas más precisas, coherentes y alineadas con el contexto del modelo. (No dejo de repetir la palabra contexto, pero es que es de vital importancia como en DAX 😉)
Una vez dicho esto, prodecemos a generar esas preguntas con lenguaje natural y su equivalente en SQL (Roberto, perdoname si te sangran los ojos con este código :) ):
Cuantas más preguntas añadamos, más…. Eso es, contexto va a tener, y mejor será la respuesta. Para ello hacemos click en “Agregar”
Y añadimos las demás preguntas:
Ahora ya tenemos ya nuestro agente preparado para darnos respuesta a nuestros datos con lenguaje natural. Vamos a probarlo ¿no?
Vamos a introducirle la siguiente pregunta en el chat lateral
¿Cuál fue la categoría más vendida en Agosto del 2024?
Y sólo tarda 6 segundos en devolvernos…
¿Qué ocurre? ¿No hay datos? ¿O no sabe darnos respuesta? Vamos a responder a estas preguntas yendo al warehouse y lanzando la siguiente Query en SQL:
Y cómo podemos ver, nos arroja una categoría y un importe, entonces… ¿qué está ocurriendo? Lo que está ocurriendo que aunque nosotros le hemos dado contexto, explicado el modelo e incluso dado muestras de preguntas y respuestas, el modelo no ha accedido a los datos ¡porque no le hemos dado acceso!
Para darle al agente acceso a los datos, basta con hacer click en las cajitas de cada tabla a la cual queremos darle acceso:
Volvemos a lanzarle la misma pregunta:
Y ahora nos devuelve un valor. Todo porque no habíamos marcado el check en las tablas con los datos. ¿Tiene sentido no? Ahora ya tendríamos nuestro agente preparado para publicarlo. Para ello hacemos click en “Publicar”:
Y le asignamos una descripción y el fin específico del agente. ¿Para qué publicamos el agente? Para poder acceder desde al mismo desde diferentes aplicaciones como Microsoft Teams y así poder conversar con nuestros datos. Esta parte, la veremos en un post siguiente.
¡Nos vemos en los datos!