Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cree, pruebe e implemente flujos de trabajo de agentes alojados de Foundry utilizando el Kit de herramientas de Foundry 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 el Foundry Toolkit para Visual Studio Code.
- La identidad administrada del proyecto con los roles Azure AI User y AcrPull asignados. Asigne también el
acrPullrol a la identidad administrada del proyecto Foundry donde planea implementar el agente hospedado. - Una región compatible para agentes hospedados.
- Python 3.12 o superior.
- .NET 9 SDK o posterior.
Creación de un flujo de trabajo de agente hospedado
Puede usar Foundry Toolkit para Visual Studio Code para crear flujos de trabajo del agente hospedado. Un flujo de trabajo de 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.
Abra la paleta de comandos (Ctrl+Mayús+P).
Ejecute este comando:
>Microsoft Foundry: Create a New Hosted Agent.Elija un marco, ya sea Microsoft Agent Framework o LangGraph.
Elija una plantilla, ya sea el asistente de hotel de un solo agente o el flujo de trabajo del agente de Writer-Reviewer (multiagente).
Seleccione un lenguaje de programación.
Elija un modelo, ya sea uno que ya haya implementado en el proyecto o examine el catálogo de modelos.
Seleccione una carpeta donde quiera guardar el nuevo flujo de trabajo.
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.
Cree un entorno virtual.
python -m venv .venvActive el entorno virtual.
# PowerShell ./.venv/Scripts/Activate.ps1 # Windows cmd .venv\Scripts\activate.bat # Unix/MacOS source .venv/bin/activateInstale el siguiente paquete:
pip install azure-ai-agentserver-agentframework
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:
PROJECT_ENDPOINT=https://<your-resource-name>.services.ai.azure.com/api/projects/<your-project-name>
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 de Visual Studio cuenta
- 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.
Ejecuta tu agente hospedado en el Inspector de Agentes
Para ejecutar el agente hospedado localmente en Visual Studio Code, seleccione la clave F5. Se abrirá el Inspector de agente y se ejecutará la aplicación.
Esto hará lo siguiente:
-
Inicie el servidor del agente: La CLI envuelve al
agentdevagente como un servidor HTTP en el puerto 8087, con debugpy adjunto en el puerto 5679. -
Detectar agentes: La interfaz de usuario captura los agentes o flujos de trabajo disponibles de
/agentdev/entities. -
Ejecución del flujo: Las entradas de chat van a
/v1/responses, que transmite eventos a través de SSE para la visualización en tiempo real. - Habilitación de la navegación de código: Haga doble clic en nodos de flujo de trabajo para abrir el archivo de código fuente correspondiente en el editor.
- Habilite el chat con el agente local y vea las respuestas, alcance los puntos de interrupción para la depuración, etc.
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:
Configure las variables de entorno en función del sistema operativo:
$env:AZURE_AI_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 de Visual Studio cuenta
- 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
Propina
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:
- Abra la paleta de comandos Visual Studio Code y ejecute el comando
Microsoft Foundry: Open Container Agent Playground Locally. - Use el siguiente comando para inicializar el agente hospedado en contenedor.
dotnet restore dotnet build dotnet run - 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".
- 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
Foundry Toolkit for 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:
Abra la paleta de comandos (Ctrl+Mayús+P).
Ejecute este comando:
>Microsoft Foundry: 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
Para los conflictos de puertos, puede cambiar el puerto de visualización estableciendolo en la configuración de la extensión Foundry. Para ello, siga estos pasos:
- En la barra lateral izquierda de VS Code, seleccione el icono de engranaje para abrir el menú de configuración.
- Seleccione
Extensions>Microsoft Foundry Configuration. - Busque la
Hosted Agent Visualization Portconfiguración y cámbiela a un número de puerto disponible. - 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 del equipo y las aplicaciones 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.
- Abra la paleta de comandos Visual Studio Code y ejecute el comando
Microsoft Foundry: Deploy Hosted Agent. - Configure las opciones de implementación seleccionando el área de trabajo de destino, especificando el archivo del agente de contenedor (
container.py) y definiendo cualquier otro parámetro de implementación según sea necesario. - Tras una implementación correcta, el agente hospedado aparece en la sección
Hosted Agents (Preview)de la vista de árbol de extensión Microsoft Foundry. - Seleccione el agente implementado para acceder a información detallada y probar la funcionalidad mediante la interfaz integrada del área de juegos.
- Abra la paleta de comandos Visual Studio Code y ejecute el comando
Microsoft Foundry: Deploy Hosted Agent. - Configure las opciones de implementación seleccionando el área de trabajo de destino, especificando el archivo del agente de contenedor (
<your-project-name>.csproj) y definiendo cualquier otro parámetro de implementación según sea necesario. - Tras una implementación correcta, el agente hospedado aparece en la sección
Hosted Agents (Preview)de la vista de árbol de extensión Microsoft Foundry. - Seleccione el agente implementado para acceder a información detallada y probar la funcionalidad mediante la interfaz integrada del área de juegos.