Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Crie, teste e implemente fluxos de trabalho alojados do Foundry Agent utilizando a extensão Microsoft 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.
A extensão Microsoft Foundry Toolkit para Visual Studio Code foi instalada.
A identidade gerida do projeto com as funções Foundry User e AcrPull atribuídas. Atribua também a função
acrPullà identidade gerida associada ao projeto Foundry onde tenciona implementar o agente alojado.Importante
As funções RBAC do Foundry foram recentemente renomeadas. Foundry User, Foundry Owner, Foundry Account Owner e Foundry Project Manager foram anteriormente nomeados Azure AI User, Azure AI Owner, Azure AI Account Owner e Azure AI Project Manager. Poderá ainda ver os nomes anteriores em alguns locais enquanto esta alteração de nome está a ser implementada. Os IDs das funções e as permissões principais não são alterados por esta mudança de nome.
Uma região suportada para agentes alojados.
- Python 3.13 ou superior.
- .NET 10 SDK ou posterior.
Criar um fluxo de trabalho de agente alojado
Pode usar a extensão Microsoft Foundry Toolkit for 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.
Abra a paleta de comandos (Ctrl+Shift+P).
Executa este comando:
>Foundry Toolkit: Create a New Hosted Agent.Selecione uma linguagem de programação
Escolha um framework, seja o Copilot SDK, o Microsoft Agent Framework ou o seu próprio.
Escolha um protocolo, seja a API de Respostas ou a API de Invocações.
Escolha um modelo da lista.
Selecione o botão "Próximo".
Selecione uma pasta onde queira guardar o seu novo Agente Hospedado.
Para a Configuração do Ambiente, ao selecionar "Saltar por agora" salta a configuração do projeto e modelo do Foundry, o que exige que os configure manualmente no código mais tarde. Selecionar "Configurar com o Microsoft Foundry" preencherá automaticamente as informações do seu projeto e modelo com base no projeto existente do Foundry.
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.
Crie um ambiente virtual.
python -m venv .venvAtiva 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á 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:
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 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.
Podes executar o agente Hosted em modo interativo ou contentor.
Coloca o teu agente alojado no Agent Inspector
Prima F5 para iniciar o servidor HTTP local com a depuração ativada. O Foundry Toolkit Agent Inspector abre para testes interativos, e pode definir pontos de interrupção no seu código.
Para executar o servidor sem depuração:
python main.py
O agente ouve em http://localhost:8088/. Envie 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 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:
Configura as variáveis do teu ambiente com base no teu 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"
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.
Podes executar o agente Hosted em modo interativo ou contentor.
Execute o seu agente alojado em modo interativo
Execute o agente Alojado 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:
- Abra a Paleta de Comandos Visual Studio Code e execute o comando
Foundry Toolkit: Open Container Agent Playground Locally. - Utilize o seguinte comando para inicializar o agente alojado contentorizado.
dotnet restore dotnet build dotnet run - 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."
- Veja a resposta do agente na interface do playground.
Visualizar a execução do fluxo de trabalho do agente alojado
A extensão Microsoft Foundry Toolkit for Visual Studio Code fornece um gráfico de execução em tempo real que mostra como os agentes do 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 seu fluxo de trabalho de agente alojado em tempo real:
Abra a paleta de comandos (Ctrl+Shift+P).
Executa este comando:
>Foundry Toolkit: 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 Microsoft Foundry Toolkit para o Visual Studio Code. Para isso, siga estes passos:
- Na barra lateral esquerda do VS Code, selecione o ícone de engrenagem para abrir o menu de definições.
- Seleciona
Extensions>Microsoft Foundry Configuration. - Localiza a
Hosted Agent Visualization Portdefinição e muda-a para um número de porta disponível. - 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.
- Abra a Paleta de Comandos e selecione Foundry Toolkit: Deploy Hosted Agent. Será aberta uma visualização web de implantação.
- Para "Método de Implementação", selecione Código ou Contentor.
- Ao implementar com "Code", em "Package Mode", selecione Remoto ou Local.
- Se implementar com "Contentor", selecione uma das seguintes opções: Default ACR, Custom ACR ou Customer ACR Image.
- O "Nome do Agente" deve ser preenchido automaticamente.
- Selecione o botão "Próximo".
- Esta página "Rever e Implementar" deverá ser totalmente preenchida automaticamente.
- Selecione o botão "Implementar".
- 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 Implementação", selecione Código ou Contentor.
- Ao implementar com "Code", em "Package Mode", selecione Remoto ou Local.
- Se implementar com "Contentor", selecione uma das seguintes opções: Default ACR, Custom ACR ou Customer ACR Image.
- O "Nome do Agente" deve ser preenchido automaticamente.
- Selecione o botão "Próximo".
- Esta página "Rever e Implementar" deverá ser totalmente preenchida automaticamente.
- Selecione o botão "Implementar".