Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Crie, teste e implante fluxos de trabalho do agente Foundry hospedado usando a extensão Microsoft Foundry Toolkit para Visual Studio Code. O kit de ferramentas oferece suporte à criação de agentes a partir de modelos, testes locais e depuração com o Inspetor de Agentes para visualização e suporte a rastreamento, além da implantação direta no Serviço de Agente do Foundry com base no VS Code. Os fluxos de trabalho hospedados permitem que vários agentes colaborem em sequência, cada um com seu próprio modelo, ferramentas e instruções.
Antes de começar, construa um agente no Serviço de Agente do Foundry usando a extensão. Em seguida, você pode adicionar fluxos de trabalho hospedados a esse agente.
Este artigo aborda a criação de um projeto de fluxo de trabalho, executá-lo localmente, visualizar a execução e implantá-lo em seu espaço de trabalho do Foundry.
Pré-requisitos
Um projeto do Foundry com um modelo implantado ou um recurso Azure OpenAI.
A extensão Microsoft Foundry Toolkit for Visual Studio Code foi instalada.
A identidade gerenciada do projeto com as funções Usuário do Foundry e AcrPull atribuídas. Atribua também a
acrPullfunção à identidade gerenciada do projeto Foundry em que você planeja implantar o agente hospedado.Importante
As funções RBAC do Foundry foram renomeadas recentemente. Foundry User, Foundry Owner, Foundry Account Owner e Foundry Project Manager eram anteriormente chamados de Usuário do Azure AI, Proprietário do Azure AI, Proprietário da conta do Azure AI e Gerente de Projeto do Azure AI. Você ainda pode ver os nomes anteriores em alguns lugares enquanto essa mudança de nome está sendo implementada. Os IDs das funções e as permissões principais não são alterados com a mudança de nome.
Uma região com suporte para agentes hospedados.
- Python 3,13 ou superior.
- .NET 10 SDK ou posterior.
Criar um fluxo de trabalho do agente hospedado
Você pode usar a extensão do Microsoft Foundry Toolkit para Visual Studio Code para criar fluxos de trabalho de agentes hospedados. Um fluxo de trabalho do agente hospedado é uma sequência de agentes que trabalham juntos para realizar uma tarefa. Cada agente no fluxo de trabalho pode ter seu próprio modelo, ferramentas e instruções.
Abra a paleta de comandos (Ctrl+Shift+P).
Execute este comando:
>Foundry Toolkit: Create a New Hosted Agent.Selecionar uma linguagem de programação
Escolha uma estrutura, Copilot SDK, Microsoft Agent Framework ou Traga sua própria.
Escolha um protocolo, a API de Respostas ou a API de Invocações.
Escolha um modelo na lista.
Selecione o botão "Avançar".
Selecione uma pasta na qual você deseja salvar seu novo Agente Hospedado.
Na Configuração do ambiente, selecionar "Ignorar por enquanto" pulará a configuração do projeto Foundry e do modelo, o que exigirá que você os configure manualmente no código mais tarde. Ao selecionar "Configurar com o Microsoft Foundry", as informações do seu projeto e do seu modelo serão preenchidas automaticamente com base no projeto existente do Foundry.
Os arquivos do projeto do agente hospedado são gerados na pasta selecionada com base na estrutura, no modelo e no idioma que você selecionou para começar. Você pode remover ou modificar esse código conforme necessário.
Instalar dependências
Instale as dependências necessárias para o projeto do agente hospedado. As dependências variam de acordo com a linguagem de programação selecionada quando você criou o project.
Criar ambiente virtual.
python -m venv .venvAtive o ambiente virtual.
# PowerShell ./.venv/Scripts/Activate.ps1 # Windows cmd .venv\Scripts\activate.bat # Unix/MacOS source .venv/bin/activateInstale os pacotes necessários:
pip install -r requirements.txt
Vá para o diretório project e execute este comando para obter os pacotes NuGet necessários:
dotnet restore
Executar o fluxo de trabalho hospedado localmente
O projeto de fluxo de trabalho de exemplo cria um arquivo .env com as variáveis de ambiente necessárias. Crie ou atualize o arquivo .env com suas credenciais do 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 submeta o arquivo .env ao controle de versão. Adicione-o ao arquivo .gitignore .
Autenticar seu agente hospedado
O exemplo de agente hospedado é autenticado usando DefaultAzureCredential. Configure seu ambiente de desenvolvimento para fornecer credenciais por meio de uma das fontes com suporte, por exemplo:
- CLI do Azure (
az login) - Login de conta do Visual Studio Code
- Visual Studio login da conta
- Variáveis de ambiente para uma entidade 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 o exemplo.
Você pode executar o agente hospedado no modo interativo ou no modo de contêiner.
Execute seu agente hospedado no Inspetor do Agente
Pressione F5 para iniciar o servidor HTTP local com a depuração habilitada. O Inspetor de Agente do Foundry Toolkit é aberto para testes interativos, e você pode definir pontos de interrupção no seu código.
Para executar o servidor sem depuração:
python main.py
O agente escuta em http://localhost:8088/. Enviar um prompt de teste com curl (ou qualquer 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}'
O projeto de fluxo de trabalho de exemplo cria um arquivo .env com as variáveis de ambiente necessárias. Crie ou atualize o arquivo .env com suas credenciais do Foundry:
Configure suas variáveis de ambiente com base em seu sistema operacional:
$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"
Autenticar seu agente hospedado
O exemplo de agente hospedado é autenticado usando DefaultAzureCredential. Configure seu ambiente de desenvolvimento para fornecer credenciais por meio de uma das fontes com suporte, por exemplo:
- CLI do Azure (
az login) - Login de conta do Visual Studio Code
- Visual Studio login da conta
- Variáveis de ambiente para uma entidade 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 o exemplo.
Você pode executar o agente hospedado no modo interativo ou no modo de contêiner.
Executar seu agente hospedado no modo interativo
Execute o agente hospedado diretamente para desenvolvimento e teste:
dotnet restore
dotnet build
dotnet run
Executar seu agente hospedado no modo de contêiner
Dica
Abra o playground local antes de iniciar o agente de contêiner para garantir que a visualização funcione corretamente.
Para executar o agente no modo de contêiner:
- Abra a paleta de comandos Visual Studio Code e execute o comando
Foundry Toolkit: Open Container Agent Playground Locally. - Use o comando a seguir para inicializar o agente hospedado em contêineres.
dotnet restore dotnet build dotnet run - Envie uma solicitação ao agente por meio da interface do playground. Por exemplo, insira um prompt como: "Crie um slogan para um novo SUV elétrico que seja acessível e divertido de dirigir".
- Revise a resposta do agente na interface do playground.
Visualizar a execução do fluxo de trabalho do agente hospedado
A extensão Microsoft Foundry Toolkit for Visual Studio Code fornece um grafo de execução em tempo real que mostra como os agentes em seu fluxo de trabalho interagem e colaboram. Habilite a observabilidade em seu projeto para usar essa visualização.
Adicione a seguinte referência ao arquivo 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 seu programa para incluir o seguinte snippet 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();
Monitorar e visualizar o fluxo de trabalho do agente hospedado
Para monitorar e visualizar a execução do fluxo de trabalho do agente hospedado em tempo real:
Abra a paleta de comandos (Ctrl+Shift+P).
Execute este comando:
>Foundry Toolkit: Open Visualizer for Hosted Agents.
Uma nova aba é aberta no VS Code para exibir o grafo de execução. A visualização é atualizada automaticamente à medida que o fluxo de trabalho progride, para mostrar o fluxo entre os agentes e suas interações.
Conflitos de porta
Em caso de conflitos de porta, você pode alterar a porta da visualização definindo-a nas configurações da extensão Microsoft Foundry Toolkit for Visual Studio Code. To do isso, siga estas etapas:
- Na barra lateral esquerda do VS Code, selecione o ícone de engrenagem para abrir o menu de configurações.
- Selecione
Extensions>Microsoft Foundry Configuration. - Localize a
Hosted Agent Visualization Portconfiguração e altere-a para um número de porta disponível. - Reinicie o VS Code para aplicar as alterações.
Alterar a porta no código
Para quaisquer conflitos de porta, altere a porta de visualização definindo a variável de ambiente FOUNDRY_OTLP_PORT. Atualize o ponto de extremidade OTLP em seu programa conforme necessário.
Por exemplo, para alterar a porta para 4318, use este comando:
$env:FOUNDRY_OTLP_PORT="4318"
No seu programa, atualize o ponto de extremidade OTLP para usar o novo número da porta:
var otlpEndpoint =
Environment.GetEnvironmentVariable("OTLP_ENDPOINT") ?? "http://localhost:4318";
Implantar o agente hospedado
Depois de testar o agente hospedado localmente, implante-o no workspace do Foundry para que outros membros da equipe e aplicativos possam usá-lo.
Importante
Certifique-se de conceder as permissões necessárias para implantar agentes hospedados em seu workspace do Foundry, conforme indicado nos pré-requisitos. Talvez seja necessário trabalhar com o administrador do Azure para obter as atribuições de função necessárias.
- Abra a Paleta de Comandos e selecione Foundry Toolkit: Implantar Agente Hospedado. Um WebView de implantação será aberto.
- Para "Método de Implantação", selecione Código ou Contêiner.
- Se estiver implantando com "Code", para "Modo de Pacote", selecione Remoto ou Local.
- Se estiver implantando com "Contêiner", selecione ACR Padrão, ACR Personalizado ou Imagem do ACR do Cliente.
- O "Nome do Agente" deve ser preenchido automaticamente.
- Selecione o botão "Avançar".
- Esta página "Revisar e Implantar" deve ser totalmente preenchida automaticamente.
- Selecione o botão "Implantar".
- Abra a paleta de comandos Visual Studio Code e execute o comando
Foundry Toolkit: Deploy Hosted Agent.
- Abra a paleta de comandos Visual Studio Code e execute o comando
Foundry Toolkit: Deploy Hosted Agent. - Para "Método de Implantação", selecione Código ou Contêiner.
- Se estiver implantando com "Code", para "Modo de Pacote", selecione Remoto ou Local.
- Se estiver implantando com "Contêiner", selecione ACR Padrão, ACR Personalizado ou Imagem do ACR do Cliente.
- O "Nome do Agente" deve ser preenchido automaticamente.
- Selecione o botão "Avançar".
- Esta página "Revisar e Implantar" deve ser totalmente preenchida automaticamente.
- Selecione o botão "Implantar".