Compartir a través de


Consumir el agente de datos de Fabric desde Microsoft Foundry Services (versión preliminar)

El agente de datos de Microsoft Fabric transforma los datos empresariales en sistemas de preguntas y respuestas conversacionales. Permite a los usuarios interactuar con sus datos a través del chat para descubrir información accionable. Una manera de consumir el agente de datos de Fabric es a través del servicio Foundry Agent, un componente principal de Microsoft Foundry. Mediante la integración de agentes de datos de Fabric con Foundry, los agentes de Azure AI pueden acceder directamente a los datos enriquecidos, estructurados y semánticos disponibles en Microsoft Fabric OneLake. Esta integración proporciona acceso inmediato a los datos empresariales de alta calidad y permite a los agentes de Azure AI generar información accionable y simplificar los flujos de trabajo analíticos. Después, las organizaciones pueden mejorar la toma de decisiones controlada por datos con el agente de datos de Fabric como un origen de conocimiento eficaz dentro de sus entornos de Azure AI.

Importante

Esta característica se encuentra en versión preliminar. Use la versión beta o preliminar más reciente del SDK de Python para agentes de Azure AI.

Prerrequisitos

  • Los desarrolladores y los usuarios finales de Foundry deben tener al menos el AI Developer rol de control de acceso basado en roles (RBAC).

Cómo funciona

Configuración del agente: en el servicio del agente, cree un nuevo agente y agregue el agente de datos de Fabric como uno de sus orígenes de conocimiento. Para establecer esta conexión, necesita el identificador del área de trabajo y el identificador del artefacto para el agente de datos de Fabric. La configuración permite al agente de Azure AI evaluar los orígenes disponibles cuando recibe una consulta para asegurarse de que invoca la herramienta correcta para procesar la solicitud. Actualmente, solo puede agregar un agente de datos de Fabric como origen de conocimiento al agente de Azure AI.

Nota:

El modelo que seleccione en la configuración del Agente de Azure AI solo se usa para la orquestación del agente de Azure AI y la generación de respuestas. No afecta al modelo que usa el agente de datos de Fabric.

Procesamiento de consultas: cuando un usuario envía una consulta desde el área de juegos de Foundry, el servicio del agente determina si el agente de datos de Fabric es la mejor herramienta para la tarea. Si es así, el agente de AI de Azure:

  • Usa la identidad del usuario final para generar consultas seguras a través de los orígenes de datos a los que el usuario tiene permiso para acceder desde el agente de datos de Fabric.
  • Invoca a Fabric para obtener y procesar los datos, a fin de asegurar una experiencia fluida y automatizada.
  • Combina los resultados del agente de datos de Fabric con su propia lógica para generar respuestas completas. La autorización de transferencia de identidad (On-Behalf-Of) asegura este flujo, para garantizar una seguridad robusta y un control de acceso adecuado a través de los datos de la empresa.

Nota:

El agente de datos de Fabric y los recursos de Foundry deben estar en el mismo inquilino y Microsoft Fabric y Foundry deben iniciar sesión con la misma cuenta.

Incorporación de un agente de datos de Fabric al agente de Azure AI

Puede agregar un agente de datos de Fabric al agente de Azure AI mediante programación o con la interfaz de usuario (UI). Para obtener ejemplos de código detallados e instrucciones adicionales, consulte la documentación de integración del agente de Azure AI.

Agregue el agente de datos de Fabric a través de la interfaz de usuario:

  • Navegue al panel izquierdo. En Compilar y personalizar, seleccione Agentes, como se muestra en la captura de pantalla siguiente:

Captura de pantalla que muestra la página principal de Azure Foundry.

En este paso se muestra la lista de los agentes de Azure AI existentes. Puede agregar Fabric a uno de estos agentes o seleccionar Nuevo agente para crear un nuevo agente. La creación de nuevos agentes genera un identificador de agente único y un nombre predeterminado. Puede cambiar ese nombre en cualquier momento. Para más información, consulte ¿Qué es Azure OpenAI en el portal de Foundry?

  • Inicie la adición de una fuente de conocimiento: seleccione el botón Agregar, como se muestra en la captura de pantalla siguiente.

Captura de pantalla que muestra la adición del agente de datos de Fabric como conocimiento.

Este paso abre un menú de tipos de origen de conocimiento admitidos.

  • Seleccione Microsoft Fabric como origen: en la lista, elija Microsoft Fabric, como se muestra en la captura de pantalla siguiente:

Captura de pantalla que muestra la selección de Fabric como origen de conocimiento.

Con esta opción, el agente puede acceder al agente de datos de Fabric.

  • Cree una conexión: si previamente estableció una conexión con un agente de datos de Fabric, puede reutilizar esa conexión para su nuevo Agente de Azure AI. De lo contrario, seleccione Nueva conexión para crear una conexión, como se muestra en la captura de pantalla siguiente:

Captura de pantalla que muestra cómo crear una nueva conexión de Fabric.

Se abre la ventana Crear una nueva conexión de Microsoft Fabric , como se muestra en la captura de pantalla siguiente:

Captura de pantalla que muestra la creación de una conexión.

Cuando establezca la conexión, proporcione los valores workspace-id y artifact-id del agente de datos de Fabric como claves personalizadas. Puede encontrar los valores de workspace-id y artifact-id en el punto de conexión del agente de datos de Fabric publicado. El punto de conexión del agente de datos de Fabric tiene este formato:

https://fabric.microsoft.com/groups/ < workspace_id>/aiskills/<artifact-id>, y seleccione la casilla Es secreto

Por último, asigne un nombre a la conexión y elija si quiere que esté disponible para todos los proyectos de Foundry o para restringirlo al proyecto actual.

Después de seleccionar Conectar, el agente de datos de Microsoft Fabric se agrega como un recurso knowledge , como se muestra en la captura de pantalla siguiente:

Captura de pantalla que muestra cómo agregar instrucciones.

También debe proporcionar instrucciones al agente de Azure AI sobre cuándo, cómo y en qué condiciones usar el agente de datos de Fabric. Desde la perspectiva del agente de Azure AI, el agente de datos de Fabric se trata como una herramienta Fabric, por lo que puede referirse a él de esa manera en sus instrucciones.

También puede ajustar el modelo de implementación, agregar acciones o cambiar la configuración del modelo en función de los requisitos del caso de uso. Una vez que el agente de Azure AI esté totalmente configurado, seleccione Probar en el área de juegos para probar su rendimiento.

Adición de un agente de datos de Fabric mediante programación: en los pasos siguientes se describe cómo agregar un agente de datos de Fabric mediante programación al agente de Azure AI en Python. Para otros lenguajes (C#, JavaScript), consulte este recurso.

Paso 1: Creación de un cliente de proyecto

Cree un objeto de cliente que contenga la cadena de conexión que se conecta al proyecto de IA y a otros recursos.

import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder

Paso 2: Creación de un agente con la herramienta de Microsoft Fabric habilitada

Para que la herramienta del agente de datos de Fabric esté disponible para su agente de Azure AI, utilice una conexión para inicializar la herramienta y adjuntarla al agente. Puede encontrar la conexión en la sección recursos conectados del proyecto en el portal de Foundry.

# The Fabric connection ID can be found in the Foundry project as a property of the Fabric tool
# Your connection ID is in the format /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.MachineLearningServices/workspaces/<your-project-name>/connections/<your-fabric-connection-name>
conn_id = "your-connection-id"

# Initialize the AI project client
project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

# Initialize agent Fabric tool and add the connection ID
fabric = FabricTool(connection_id=conn_id)

# Create agent with the Fabric tool and process assistant run
with project_client:
    agent = project_client.agents.create_agent(
        model="gpt-4o",
        name="my-assistant",
        instructions="You are a helpful assistant",
        tools=fabric.definitions,
        headers={"x-ms-enable-preview": "true"},
    )
    print(f"Created agent, ID: {agent.id}")

Paso 3: crear un hilo

# Create thread for communication
thread = project_client.agents.create_thread()
print(f"Created thread, ID: {thread.id}")

# Create message to thread
# Remember to update the message with your data
message = project_client.agents.create_message(
    thread_id=thread.id,
    role="user",
    content="what is top sold product in Contoso last month?",
)
print(f"Created message, ID: {message.id}")

Paso 4: creación de una ejecución y comprobación de la salida

Cree una ejecución y observe que el modelo usa la herramienta de agente de datos fabric para proporcionar una respuesta a la pregunta del usuario.

# Create and process agent run in thread with tools
run = project_client.agents.create_and_process_run(thread_id=thread.id, assistant_id=agent.id)
print(f"Run finished with status: {run.status}")

if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Delete the assistant when done
project_client.agents.delete_agent(agent.id)
print("Deleted agent")

# Fetch and log all messages
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")