Creación de flujos de trabajo del agente hospedado en la extensión Microsoft Foundry Toolkit for Visual Studio Code

Crear, probar e implementar flujos de trabajo hospedados de Foundry Agent con la extensión de Microsoft Foundry Toolkit para Visual Studio Code. El kit de herramientas admite la creación de agentes a partir de plantillas, pruebas locales y depuración con el Inspector de Agentes para ofrecer soporte de visualización y seguimiento, y el despliegue directo al Foundry Agent Service desde VS Code. Los flujos de trabajo hospedados permiten que varios agentes colaboren en secuencia, cada uno con su propio modelo, herramientas e instrucciones.

Antes de empezar, compile un agente en Foundry Agent Service mediante la extensión . A continuación, puede agregar flujos de trabajo hospedados a ese agente.

En este artículo se describe cómo crear un proyecto de flujo de trabajo, ejecutarlo localmente, visualizar la ejecución e implementarlo en el área de trabajo de Foundry.

Requisitos previos

  • Un proyecto foundry con un modelo implementado o un recurso de OpenAI de Azure.

  • Se ha instalado la extensión Microsoft Foundry Toolkit para Visual Studio Code.

  • Identidad administrada del proyecto con los roles Foundry User y AcrPull asignados. Asigne también el acrPull rol a la identidad administrada del proyecto Foundry donde planea implementar el agente hospedado.

    Importante

    Recientemente se cambió el nombre de los roles RBAC de Foundry. Foundry User, Foundry Owner, Foundry Account Owner y Foundry Project Manager se llamaban anteriormente Usuario de Azure AI, Propietario de Azure AI, Propietario de la cuenta de Azure AI y Administrador de proyectos de Azure AI. Es posible que siga viendo los nombres anteriores en algunos lugares mientras se implementa el cambio de nombre. El cambio de nombre no modifica los identificadores de rol y los permisos principales.

  • Una región compatible para agentes hospedados.

  • Python 3.13 o superior.

Creación de un flujo de trabajo de agente hospedado

Puede usar la extensión Microsoft Foundry Toolkit para Visual Studio Code para crear flujos de trabajo del agente hospedado. Un flujo de trabajo del agente hospedado es una secuencia de agentes que funcionan conjuntamente para realizar una tarea. Cada agente del flujo de trabajo puede tener su propio modelo, herramientas e instrucciones.

  1. Abra la paleta de comandos (Ctrl+Mayús+P).

  2. Ejecute este comando: >Foundry Toolkit: Create a New Hosted Agent.

  3. Selección de un lenguaje de programación

  4. Elija un marco, ya sea Copilot SDK, Microsoft Agent Framework o Bring Your Own.

  5. Elija un protocolo, api de respuestas o API de invocaciones.

  6. Elija una plantilla de la lista.

  7. Seleccione el botón "Siguiente".

  8. Seleccione una carpeta en la que quiera guardar el nuevo agente hospedado.

  9. En Configuración del entorno, al seleccionar "Omitir por ahora" se omitirá el proyecto y la configuración del modelo de Foundry, lo que requiere que los configure manualmente en el código más adelante. Al seleccionar "Configurar con Microsoft Foundry", se completará automáticamente la información de tu proyecto y de tu modelo con el proyecto existente de Foundry.

Los archivos del proyecto del agente hospedado se generan en la carpeta seleccionada en función del marco, la plantilla y el idioma que seleccionó para empezar. Puede quitar o modificar ese código según sea necesario.

Instalación de dependencias

Instale las dependencias necesarias para el proyecto del agente hospedado. Las dependencias varían en función del lenguaje de programación que seleccionó al crear el proyecto.

  1. Cree un entorno virtual.

     python -m venv .venv
    
  2. Active el entorno virtual.

    # PowerShell
    ./.venv/Scripts/Activate.ps1
    
    # Windows cmd
    .venv\Scripts\activate.bat
    
    # Unix/MacOS
    source .venv/bin/activate
    
  3. Instale los paquetes necesarios:

    pip install -r requirements.txt
    
  1. Vaya al directorio del proyecto y ejecute este comando para obtener los paquetes NuGet necesarios:

    dotnet restore
    

Ejecución local del flujo de trabajo hospedado

El proyecto de flujo de trabajo de ejemplo crea un archivo .env con las variables de entorno necesarias. Cree o actualice el archivo .env con las credenciales de Foundry:

FOUNDRY_PROJECT_ENDPOINT=https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>

AZURE_AI_MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>

Importante

Nunca confirme el archivo .env en el sistema de control de versiones. Agréguelo al .gitignore archivo.

Autenticación del agente hospedado

El ejemplo del agente hospedado se autentica mediante DefaultAzureCredential. Configure el entorno de desarrollo para proporcionar credenciales a través de uno de los orígenes admitidos, por ejemplo:

  • CLI de Azure (az login)
  • inicio de sesión de cuenta de Visual Studio Code
  • Inicio de sesión en la cuenta de Visual Studio
  • Variables de entorno para una entidad de servicio (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Confirme la autenticación localmente ejecutando los comandos CLI de Azure az account show o az account get-access-token antes de ejecutar el ejemplo.

Puede ejecutar el agente hospedado en modo interactivo o en modo contenedor.

Gestiona tu agente alojado en el Inspector de Agentes

Presione F5 para iniciar el servidor HTTP local con la depuración habilitada. Foundry Toolkit Agent Inspector se abre para pruebas interactivas y puede establecer puntos de interrupción en el código.

Para ejecutar el servidor sin depuración:

python main.py

El agente escucha en http://localhost:8088/. Enviar un mensaje de prueba con curl (o cualquier cliente HTTP):

curl -sS -H "Content-Type: application/json" -X POST http://localhost:8088/responses \
    -d '{"input": "Write a haiku about deploying cloud applications.", "stream": false}'

El proyecto de flujo de trabajo de ejemplo crea un archivo .env con las variables de entorno necesarias. Cree o actualice el archivo .env con las credenciales de Foundry:

  1. Configure las variables de entorno en función del sistema operativo:

    $env:FOUNDRY_PROJECT_ENDPOINT="https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>"
    $env:AZURE_AI_MODEL_DEPLOYMENT_NAME="your-deployment-name"
    

Autenticación del agente hospedado

El ejemplo del agente hospedado se autentica mediante DefaultAzureCredential. Configure el entorno de desarrollo para proporcionar credenciales a través de uno de los orígenes admitidos, por ejemplo:

  • CLI de Azure (az login)
  • inicio de sesión de cuenta de Visual Studio Code
  • Inicio de sesión en la cuenta de Visual Studio
  • Variables de entorno para una entidad de servicio (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Confirme la autenticación localmente ejecutando los comandos CLI de Azure az account show o az account get-access-token antes de ejecutar el ejemplo.

Puede ejecutar el agente hospedado en modo interactivo o en modo contenedor.

Ejecución del agente hospedado en modo interactivo

Ejecute el agente hospedado directamente para desarrollo y pruebas:

dotnet restore
dotnet build
dotnet run

Ejecución del agente hospedado en modo contenedor

Sugerencia

Abra el área de juegos local antes de iniciar el agente de contenedor para asegurarse de que la visualización funciona correctamente.

Para ejecutar el agente en modo contenedor:

  1. Abra la paleta de comandos Visual Studio Code y ejecute el comando Foundry Toolkit: Open Container Agent Playground Locally.
  2. Use el comando siguiente para inicializar el agente hospedado en contenedor.
    dotnet restore
    dotnet build
    dotnet run
    
  3. Envíe una solicitud al agente a través de la interfaz del área de juegos. Por ejemplo, escriba un mensaje como: "Crear un eslogan para un nuevo SUV eléctrico que sea asequible y divertido para conducir".
  4. Revise la respuesta del agente en la interfaz del área de juegos.

Visualización de la ejecución del flujo de trabajo del agente hospedado

La extensión Microsoft Foundry Toolkit para Visual Studio Code proporciona un gráfico de ejecución en tiempo real que muestra cómo interactúan y colaboran los agentes del flujo de trabajo. Habilite la observabilidad en el proyecto para usar esta visualización.

Agregue la siguiente referencia al archivo csproj:

<ItemGroup>
    <PackageReference Include="OpenTelemetry" Version="1.12.0" />
    <PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.12.0" />
    <PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0" />
    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="9.0.10" />
</ItemGroup>

Actualice el programa para incluir el siguiente fragmento de código:

using System.Diagnostics;
using OpenTelemetry;
using OpenTelemetry.Logs;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;

var otlpEndpoint =
    Environment.GetEnvironmentVariable("OTLP_ENDPOINT") ?? "http://localhost:4319";

var resourceBuilder = OpenTelemetry
    .Resources.ResourceBuilder.CreateDefault()
    .AddService("WorkflowSample");

var s_tracerProvider = OpenTelemetry
    .Sdk.CreateTracerProviderBuilder()
    .SetResourceBuilder(resourceBuilder)
    .AddSource("Microsoft.Agents.AI.*") // All agent framework sources
    .SetSampler(new AlwaysOnSampler()) // Ensure all traces are sampled
    .AddOtlpExporter(options =>
    {
        options.Endpoint = new Uri(otlpEndpoint);
        options.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.Grpc;
    })
    .Build();

Supervisión y visualización del flujo de trabajo del agente hospedado

Para supervisar y visualizar la ejecución del flujo de trabajo del agente hospedado en tiempo real:

  1. Abra la paleta de comandos (Ctrl+Mayús+P).

  2. Ejecute este comando: >Foundry Toolkit: Open Visualizer for Hosted Agents.

Se abre una nueva pestaña en VS Code para mostrar el gráfico de ejecución. La visualización se actualiza automáticamente a medida que avanza el flujo de trabajo, para mostrar el flujo entre los agentes y sus interacciones.

Conflictos de puertos

En caso de conflicto entre puertos, puede cambiar el puerto de la visualización configurándolo en la configuración de la extensión Microsoft Foundry Toolkit para Visual Studio Code. Para ello, siga estos pasos:

  1. En la barra lateral izquierda de VS Code, seleccione el icono de engranaje para abrir el menú de configuración.
  2. Seleccione Extensions>Microsoft Foundry Configuration.
  3. Busque la Hosted Agent Visualization Port configuración y cámbiela a un número de puerto disponible.
  4. Reinicie VS Code para aplicar los cambios.

Cambio del puerto en el código

Para cualquier conflicto de puertos, cambie el puerto de visualización estableciendo la variable de FOUNDRY_OTLP_PORT entorno. Actualice el punto de conexión de OTLP en el programa en consecuencia.

Por ejemplo, para cambiar el puerto a 4318, use este comando:

  $env:FOUNDRY_OTLP_PORT="4318"

En el programa, actualice el punto de conexión de OTLP para usar el nuevo número de puerto:

var otlpEndpoint =
    Environment.GetEnvironmentVariable("OTLP_ENDPOINT") ?? "http://localhost:4318";

Implementación del agente hospedado

Después de probar el agente hospedado localmente, impleméntelo en el área de trabajo de Foundry para que otros miembros y aplicaciones del equipo puedan usarlo.

Importante

Asegúrese de conceder los permisos necesarios para implementar agentes hospedados en el área de trabajo de Foundry, como se indica en Requisitos previos. Es posible que tenga que trabajar con el administrador de Azure para obtener las asignaciones de roles necesarias.

  1. Abra la paleta de comandos y seleccione Foundry Toolkit: Deploy Hosted Agent (Implementar agente hospedado). Se abrirá una vista web de implementación.
  2. En "Método de implementación", seleccione Código o contenedor.
  3. Si se implementa con "Código", en "Modo de paquete", seleccione Remoto o Local.
  4. Si se implementa con "Contenedor", seleccione ACR predeterminado, ACR personalizado o Imagen de ACR del cliente.
  5. El "Nombre del agente" debe rellenarse automáticamente.
  6. Seleccione el botón "Siguiente".
  7. Esta página "Revisar e implementar" debe rellenarse automáticamente.
  8. Seleccione el botón "Implementar".
  9. Abra la paleta de comandos Visual Studio Code y ejecute el comando Foundry Toolkit: Deploy Hosted Agent.
  1. Abra la paleta de comandos Visual Studio Code y ejecute el comando Foundry Toolkit: Deploy Hosted Agent.
  2. En "Método de implementación", seleccione Código o contenedor.
  3. Si se implementa con "Código", en "Modo de paquete", seleccione Remoto o Local.
  4. Si se implementa con "Contenedor", seleccione ACR predeterminado, ACR personalizado o Imagen de ACR del cliente.
  5. El "Nombre del agente" debe rellenarse automáticamente.
  6. Seleccione el botón "Siguiente".
  7. Esta página "Revisar e implementar" debe rellenarse automáticamente.
  8. Seleccione el botón "Implementar".