Criar fluxos de trabalho de agentes alojados no Visual Studio Code (pré-visualização)

Crie, teste e implemente fluxos de trabalho Foundry Agent utilizando o Foundry Toolkit para Visual Studio Code. O kit de ferramentas suporta a criação de agentes a partir de templates, testes locais e depuração com o Agent Inspector para suporte à visualização e rastreamento, bem como a implementação direta para o Foundry Agent Service a partir do VS Code. Os fluxos de trabalho alojados permitem que múltiplos agentes colaborem em sequência, cada um com o seu próprio modelo, ferramentas e instruções.

Antes de começar, crie um agente no Foundry Agent Service usando a extensão. Depois podes adicionar fluxos de trabalho alojados a esse agente.

Este artigo aborda a criação de um projeto de workflow, execução local, visualização da execução e implementação no seu espaço de trabalho Foundry.

Pré-requisitos

  • Um projeto Foundry com um modelo implementado, ou um recurso Azure OpenAI.
  • O kit de ferramentas Foundry para Visual Studio Code está instalado.
  • A identidade gerida do projeto com as funções Azure AI User e AcrPull atribuídas. Atribua também o acrPull papel à identidade gerida do projeto Foundry onde planeias implementar o agente alojado.
  • Uma região suportada para agentes hospedados.
  • Python 3.12 ou superior.

Criar um fluxo de trabalho de agente alojado

Pode usar o Foundry Toolkit para o Visual Studio Code para criar fluxos de trabalho de agentes alojados. Um fluxo de trabalho de agente hospedado é uma sequência de agentes que trabalham em conjunto para realizar uma tarefa. Cada agente no fluxo de trabalho pode ter o seu próprio modelo, ferramentas e instruções.

  1. Abra a paleta de comandos (Ctrl+Shift+P).

  2. Executa este comando: >Microsoft Foundry: Create a New Hosted Agent.

  3. Escolha um framework, seja o Microsoft Agent Framework ou o LangGraph.

  4. Escolha um modelo, seja o Assistente de Hotel para Agente Único ou o Fluxo de Trabalho do Agente Writer-Reviewer (multi-agente).

  5. Selecione uma linguagem de programação.

  6. Escolha um modelo, seja um que já tenha implementado no seu projeto, ou explore o catálogo de modelos.

  7. Seleciona uma pasta onde queres guardar o teu novo fluxo de trabalho.

Os ficheiros do seu projeto de agente alojado são gerados na pasta selecionada com base no framework, modelo e linguagem que escolheu para começar. Podes remover ou modificar esse código conforme necessário.

Instalar dependências

Instala as dependências necessárias para o teu projeto de agente alojado. As dependências variam consoante a linguagem de programação que escolheste ao criar o projeto.

  1. Crie um ambiente virtual.

     python -m venv .venv
    
  2. Ativa o ambiente virtual.

    # PowerShell
    ./.venv/Scripts/Activate.ps1
    
    # Windows cmd
    .venv\Scripts\activate.bat
    
    # Unix/MacOS
    source .venv/bin/activate
    
  3. Instale o seguinte pacote:

    pip install azure-ai-agentserver-agentframework
    
  1. Vá ao diretório do seu projeto e execute este comando para obter os pacotes NuGet necessários:

    dotnet restore
    

Executa o teu fluxo de trabalho alojado localmente

O projeto de workflow de exemplo cria um ficheiro .env com as variáveis de ambiente necessárias. Crie ou atualize o ficheiro .env com as suas credenciais 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 comprometas o .env ficheiro no controlo de versões. Adiciona isso ao teu .gitignore ficheiro.

Autentique o seu agente alojado

O exemplo de agente hospedado autentica-se usando DefaultAzureCredential. Configure o seu ambiente de desenvolvimento para fornecer credenciais através de uma das fontes suportadas, por exemplo:

  • CLI do Azure (az login)
  • Início de sessão de conta no Visual Studio Code
  • Início de sessão no Visual Studio
  • Variáveis de ambiente para um principal de serviço (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Confirme a autenticação localmente executando os comandos CLI do Azure az account show ou az account get-access-token antes de executar a amostra.

Pode executar o agente hospedado em modo interativo ou contentor.

Coloca o teu agente alojado no Agent Inspector

Para executar o seu agente hospedado localmente em Visual Studio Code, selecione a tecla F5. Isto abre o Inspetor de Agentes e executa a sua aplicação.

Isto irá:

  1. Inicia o servidor agente: A agentdev CLI envolve o seu agente como um servidor HTTP na porta 8087, com o debugpy ligado na porta 5679.
  2. Descobrir agentes: A interface recolhe agentes/fluxos de trabalho disponíveis a partir de /agentdev/entities.
  3. Execução do stream: As entradas do chat vão para /v1/responses, que transmite eventos via SSE para visualização em tempo real.
  4. Ativar a navegação por código: Clique duas vezes nos nós do fluxo de trabalho para abrir o ficheiro-fonte correspondente no editor.
  5. Ative a conversa com o agente local e visualize as respostas, atingir pontos de interrupção para depuração, e assim por diante.

O projeto de workflow de exemplo cria um ficheiro .env com as variáveis de ambiente necessárias. Crie ou atualize o ficheiro .env com as suas credenciais Foundry:

  1. Configura as variáveis do teu ambiente com base no teu 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"
    

Autentique o seu agente alojado

O exemplo de agente hospedado autentica-se usando DefaultAzureCredential. Configure o seu ambiente de desenvolvimento para fornecer credenciais através de uma das fontes suportadas, por exemplo:

  • CLI do Azure (az login)
  • Início de sessão de conta no Visual Studio Code
  • Início de sessão no Visual Studio
  • Variáveis de ambiente para um principal de serviço (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)

Confirme a autenticação localmente executando os comandos CLI do Azure az account show ou az account get-access-token antes de executar a amostra.

Pode executar o agente hospedado em modo interativo ou contentor.

Execute o seu agente alojado em modo interativo

Execute o agente hospedado diretamente para desenvolvimento e teste:

dotnet restore
dotnet build
dotnet run

Execute o seu agente hospedado em modo contentor

Dica

Abra o playground local antes de iniciar o agente do container para garantir que a visualização funcione corretamente.

Para executar o agente em modo contentor:

  1. Abra a Paleta de Comandos Visual Studio Code e execute o comando Microsoft Foundry: Open Container Agent Playground Locally.
  2. Use o comando seguinte para inicializar o agente hospedado containerizado.
    dotnet restore
    dotnet build
    dotnet run
    
  3. Envie um pedido ao agente através da interface do playground. Por exemplo, introduza um prompt como: "Crie um slogan para um novo SUV elétrico que seja acessível e divertido de conduzir."
  4. Veja a resposta do agente na interface do playground.

Visualizar a execução do fluxo de trabalho do agente alojado

O Foundry Toolkit para Visual Studio Code fornece um grafo de execução em tempo real que mostra como os agentes no seu fluxo de trabalho interagem e colaboram. Ative a observabilidade no seu projeto para usar esta visualização.

Adicione a seguinte referência ao seu ficheiro 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>

Atualize o seu programa para incluir o seguinte excerto 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();

Monitorize e visualize o fluxo de trabalho do seu agente hospedado

Para monitorizar e visualizar a execução do fluxo de trabalho do seu agente alojado em tempo real:

  1. Abra a paleta de comandos (Ctrl+Shift+P).

  2. Executa este comando: >Microsoft Foundry: Open Visualizer for Hosted Agents.

Abre-se um novo separador em VS Code para mostrar o gráfico de execução. A visualização atualiza-se automaticamente à medida que o seu fluxo de trabalho avança, para mostrar o fluxo entre os agentes e as suas interações.

Conflitos portuários

Para conflitos de porta, podes alterar a porta de visualização definindo-a nas definições da extensão Foundry. Para isso, siga estes passos:

  1. Na barra lateral esquerda do VS Code, selecione o ícone de engrenagem para abrir o menu de definições.
  2. Seleciona Extensions>Microsoft Foundry Configuration.
  3. Localiza a Hosted Agent Visualization Port definição e muda-a para um número de porta disponível.
  4. Reiniciar o VS Code para aplicar as alterações.

Alterar porta no código

Para quaisquer conflitos de porta, altere a porta de visualização definindo a FOUNDRY_OTLP_PORT variável de ambiente. Atualize o endpoint OTLP no seu programa em conformidade.

Por exemplo, para mudar a porta para 4318, use este comando:

  $env:FOUNDRY_OTLP_PORT="4318"

No seu programa, atualize o endpoint OTLP para usar o novo número de porta:

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

Implementar o agente alojado

Depois de testares o teu agente alojado localmente, implementa-o no teu espaço de trabalho Foundry para que outros membros da equipa e aplicações possam usá-lo.

Importante

Certifique-se de que concede as permissões necessárias para implementar agentes alojados no seu espaço de trabalho Foundry, conforme indicado nos Pré-requisitos. Pode ser necessário trabalhar com o seu administrador do Azure para obter as atribuições de funções necessárias.

  1. Abra a Paleta de Comandos Visual Studio Code e execute o comando Microsoft Foundry: Deploy Hosted Agent.
  2. Configure as definições de implementação selecionando o seu espaço de trabalho de destino, especificando o ficheiro agente do contentor (container.py), e definindo quaisquer outros parâmetros de implementação conforme necessário.
  3. Após a implementação bem-sucedida, o agente hospedado aparece na secção Hosted Agents (Preview) da árvore de visualização da extensão Microsoft Foundry.
  4. Selecione o agente implementado para aceder a informações detalhadas e funcionalidades de teste usando a interface integrada do playground.
  1. Abra a Paleta de Comandos Visual Studio Code e execute o comando Microsoft Foundry: Deploy Hosted Agent.
  2. Configure as definições de implementação selecionando o seu espaço de trabalho de destino, especificando o ficheiro agente do contentor (<your-project-name>.csproj), e definindo quaisquer outros parâmetros de implementação conforme necessário.
  3. Após a implementação bem-sucedida, o agente hospedado aparece na secção Hosted Agents (Preview) da árvore de visualização da extensão Microsoft Foundry.
  4. Selecione o agente implementado para aceder a informações detalhadas e funcionalidades de teste usando a interface integrada do playground.