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 hospedados do Foundry Agent usando a extensão Microsoft Foundry para Visual Studio 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, constrói 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 project de workflow, a sua execução localmente, a visualização da execução e a sua 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 para Visual Studio Code instalada.
- A identidade gerida do projeto com as funções Azure AI User e AcrPull atribuídas. Atribua também o papel
acrPullà identidade gerida do projeto Foundry onde planeia implementar o agente alojado. - Uma região suportada para agentes alojados.
- Python 3.12 ou superior.
- .NET 9 SDK ou posterior.
Criar um fluxo de trabalho de agente alojado
Pode usar a extensão Foundry 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 seu próprio modelo, ferramentas e instruções.
Abra a paleta de comandos (Ctrl+Shift+P).
Executa este comando:
>Microsoft Foundry: Create a New Hosted Agent.Escolha um framework, seja o Microsoft Agent Framework ou o LangGraph.
Escolha um modelo, seja o Assistente de Hotel para Agente Único ou o Fluxo de Trabalho do Agente Writer-Reviewer (multi-agente).
Selecione uma linguagem de programação.
Escolha um modelo, seja um que já tenha implementado no seu projeto, ou explore o catálogo de modelos.
Selecione uma pasta onde você deseja salvar seu 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
Instale as dependências necessárias para o seu projeto de agente hospedado. As dependências variam consoante a linguagem de programação que selecionaste quando criaste o project.
Crie um 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 o seguinte pacote:
pip install azure-ai-agentserver-agentframework
Vai ao diretório do teu project e executa 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 confirme o .env ficheiro no controlo de versão. Adicione-o ao seu .gitignore ficheiro.
Autentique o seu agente alojado
A amostra do 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 na conta do 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 Agente Inspetor e executa a sua aplicação.
Tal permitirá:
-
Inicia o servidor agente: A
agentdevCLI envolve o seu agente como um servidor HTTP na porta 8087, com o debugpy ligado na porta 5679. -
Descobrir agentes: A UI obtem agentes/fluxos de trabalho disponíveis de
/agentdev/entities. -
Execução do stream: As entradas do chat vão para
/v1/responses, que transmite eventos via SSE para visualização em tempo real. - 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.
- Ative a conversa com o agente local, visualize as respostas, estabeleça pontos de interrupção para depuração, entre outras ações.
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:
Configure as variáveis de ambiente com base no seu sistema operacional:
$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
A amostra do 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) - Iniciar sessão na conta do Visual Studio Code
- Iniciar sessão na conta do 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
Sugestão
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
Microsoft Foundry: Open Container Agent Playground Locally. - Use o comando seguinte para inicializar o agente hospedado containerizado.
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 Foundry for 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 project 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:
Abra a paleta de comandos (Ctrl+Shift+P).
Executa este comando:
>Microsoft Foundry: Open Visualizer for Hosted Agents.
Uma nova guia é aberta no VS Code para exibir o gráfico de execução. A visualização se atualiza automaticamente à medida que seu fluxo de trabalho progride, para mostrar o fluxo entre os agentes e suas interações.
Conflitos de porta
Para conflitos de porta, podes alterar a porta de visualização definindo-a nas definições da extensão Foundry. Para fazer 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 alterar 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 Visual Studio Code e execute o comando
Microsoft Foundry: Deploy Hosted Agent. - 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. - Após a implementação bem-sucedida, o agente gerido aparece na secção
Hosted Agents (Preview)da árvore de visualização da extensão Microsoft Foundry. - Selecione o agente implementado para acesse informações detalhadas e testar funcionalidades usando a interface integrada do playground.
- Abra a Paleta de Comandos Visual Studio Code e execute o comando
Microsoft Foundry: Deploy Hosted Agent. - 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. - Após a implementação bem-sucedida, o agente hospedado aparece na secção
Hosted Agents (Preview)da vista de árvore de extensões Microsoft Foundry. - Selecione o agente implementado para acesse informações detalhadas e testar funcionalidades usando a interface integrada do playground.