Exemplo mínimo de aplicação ASP.NET usando o Microsoft Agent Framework com Azure AI Agents (Persistent Agents).
Este projeto mostra uma aplicação Web minimalista em .NET 9 que integra com Azure AI Agents (Persistent Agents) usando a biblioteca Azure.AI.Agents.Persistent e os pacotes Microsoft.Agents.AI / Microsoft.Agents.AI.AzureAI.
Ele oferece dois endpoints mínimos:
POST /ai-agent— cria um agente persistente (recebenameeinstructionspor query string).GET /ai-agent/run— executa uma thread em um agente já criado (recebeagentId,userInputpor query string).
O código principal está em src/MicrosoftAgentFrameworkBasic/.
- .NET 9 SDK
- Uma instância compatível de Azure AI Services (Agent endpoint) com credenciais configuradas para
DefaultAzureCredential(Managed Identity, Azure CLI, Visual Studio, ou variáveis de ambiente).
Pacotes usados (definidos em MicrosoftAgentFrameworkBasic.csproj):
- Azure.AI.Agents.Persistent
- Azure.Identity
- Microsoft.Agents.AI
- Microsoft.Agents.AI.AzureAI
- Microsoft.AspNetCore.OpenApi
- Scalar.AspNetCore
As configurações ficam em appsettings.json / appsettings.Development.json na seção AzureAiSettings:
"AzureAiSettings": {
"Uri": "https://<seu-endpoint>.services.ai.azure.com/api/projects/default",
"Model": "<modelo>"
}O projeto usa DefaultAzureCredential. Para desenvolvimento local você pode autenticar com az login (Azure CLI) ou definir as variáveis de ambiente apropriadas.
- Abra um terminal na raiz do repositório.
- Navegue até a pasta do projeto:
cd src/MicrosoftAgentFrameworkBasic- Restaure e execute:
dotnet restore
dotnet runEm ambiente de desenvolvimento, a aplicação habilita OpenAPI e uma referência de API através de Scalar.AspNetCore.
-
Criar agente
POST /ai-agent?name={name}&instructions={instructions}
Retorna o
agentIdcriado. -
Rodar agente
GET /ai-agent/run?agentId={agentId}&userInput={texto}
Retorna a resposta do agente para o
userInputinformado.
Program.cs— bootstrap da aplicação e registro dos serviços.Application/AzureAiSettings.cs— classe de configuração paraAzureAiSettings.Application/Service.cs— lógica que interage comPersistentAgentsClientpara criar/rodar agentes.Application/Module.cs— define os endpoints mínimos.
Não há testes automatizados incluídos neste repositório. Para validar manualmente:
- Execute a aplicação.
- Use
curlou Postman para chamar os endpoints descritos acima.
Exemplo rápido (substitua valores):
# criar agente
curl -X POST "https://localhost:5001/ai-agent?name=Joker&instructions=You%20are%20good%20at%20telling%20jokes."
# rodar agente (substitua AGENT_ID e texto)
curl "https://localhost:5001/ai-agent/run?agentId=AGENT_ID&userInput=Tell%20me%20a%20joke"- Validar e propagar erros do cliente Azure para respostas HTTP mais claras.
- Adicionar testes unitários e integração com mocks do
PersistentAgentsClient. - Implementar autenticação/autorização nos endpoints HTTP.
Licença MIT.