使用 Microsoft Agent Framework 构建你的第一个 Agent 应用

内容分享2个月前发布
3 1 0

前置准备——部署模型

在构建智能体之前,我们需要先准备好依赖的大模型。这里我们可以选择两种方式:

  • 云部署方式(如 Azure AI Foundry 提供的 GPT-4、Phi-3、Mistral 等)

  • 本地私有模型(例如自己部署的开源的模型)

这是构建智能体的前提条件:

在本系列文章中,我们选择 Azure AI Foundry 作为核心平台。

Azure AI Foundry 是一个 PaaS 级的 AI 开发与运营平台,能够让你在云端轻松部署上千种模型。平台提供:

  • 模型目录(Model Catalog)

  • 智能体构建与测试环境

  • 完整的 API 访问能力

通过它,你可以快速部署模型并通过 API 接入到你的应用程序中。

访问 API 的 Azure 授权方式

当你调用 Azure AI Foundry 中部署的模型 API 时,必须进行 Azure 授权,否则无法访问。

调用 Azure 服务(例如模型推理、数据存储、监控日志等)都需要携带身份凭证(Credential)。这些凭证由 Azure.Identity 包提供,常见的两种方式如下:

1️⃣ DefaultAzureCredential

  • 智能检测多种身份来源(环境变量、托管身份、CLI 登录等)

  • 适合从本地开发到云端部署的全生命周期

  • 官方推荐的默认方式

2️⃣ AzureCliCredential

  • 直接复用你通过 az login 命令登录 Azure CLI 后的身份

  • 适合本地开发与测试阶段使用

  • 不适用于生产环境

本示例中我们将使用 AzureCliCredential 来访问部署在 Azure AI Foundry 的 GPT-4o 模型。

编写智能体代码(C# 示例)

完成模型部署和授权配置后,我们就可以开始编写代码。下面的示例展示了如何使用 Microsoft Agent Framework 调用 Azure AI Foundry 模型并构建一个简单的对话型 Agent。

环境准备

创建一个 Console 应用项目,并添加以下 NuGet 包:

dotnet add package Azure.AI.OpenAI
dotnet add package Microsoft.Agents.AI.OpenAI
dotnet add package Microsoft.Extensions.AI.OpenAI
dotnet add package Azure.Identity

⚙️ 环境变量

为了方便维护,我们把上面模型部署名和 api 地址配置到环境变量中:

AZURE_OPENAI_ENDPOINT=https://your-endpoint-name.openai.azure.com/
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o-mini

智能体示例代码

// Copyright (c) Microsoft. All rights reserved.
// 示例:使用 Azure OpenAI 模型创建一个简单的 AI 智能体

using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using OpenAI;
using System.Text;

Console.InputEncoding = Encoding.UTF8;
Console.OutputEncoding=new UTF8Encoding(encoderShouldEmitUTF8Identifier: false);

var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")
?? thrownew InvalidOperationException("AZURE_OPENAI_ENDPOINT is not set.");
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME")
?? "gpt-4o-mini";

// 使用 Azure CLI 登录凭证授权访问
AIAgent agent = new AzureOpenAIClient(
new Uri(endpoint),
new AzureCliCredential)
.GetChatClient(deploymentName)
.CreateAIAgent(instructions: "你是一个诗人", name: "Joker");

// 调用智能体并输出结果
Console.WriteLine(await agent.RunAsync("请帮我写一首诗。"));

Console.ReadLine;

// 流式调用(可选)
// await foreach (var update in agent.RunStreamingAsync("请帮我写一首诗。"))
// {
// Console.WriteLine(update);
// }

运行结果

使用 Microsoft Agent Framework 构建你的第一个 Agent 应用

运行程序后,智能体将通过 Azure AI Foundry 调用 GPT-4o 模型,生成一首诗并输出到控制台。

你刚刚完成了:

  • ✅ 使用 Microsoft Agent Framework 搭建了第一个对话型 Agent。

补充

1. 部署模型

你可以参考这篇文章来部署模型:

在该文章中,你可以完成以下操作:

  • 创建 Azure AI Foundry 项目 / Hub

  • 选择并部署 GPT-4o 等模型

  • 获取对应的 推理 Endpoint 与 部署名(deployment name)

2. 认证方式

在调用 Azure AI Foundry / Azure OpenAI 的模型 API 时,必须先完成 Azure 的身份认证。常见三种方式:

  • 使用本地 Azure CLI 登录(适合开发调试)

  • 使用服务主体 (Service Principal) 认证(适合 CI/CD、生产环境)

  • 使用 API 密钥认证(简单直接)

2.1 使用本地 Azure CLI 登录

安装 Azure CLI(Windows MSI):

  • https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest&pivots=msi

下载完成后,按照安装向导一路 “下一步” 即可完成安装。

安装完成后验证版本:

az version

如果能够正常显示版本信息,说明安装成功。

使用 Microsoft Agent Framework 构建你的第一个 Agent 应用

使用浏览器登录:

az login

浏览器会自动弹出登录页面,使用你的 Azure 帐号(工作/学校帐户)登录

登录完成后,命令行会显示当前订阅等信息。登录完成后,可在代码中通过 AzureCliCredential 复用该登录状态。

2.2 使用服务主体 (Service Principal) 认证

2.2.1 在 Entra ID 中创建应用注册:

  • Azure Portal → Microsoft Entra ID → App registrations → New registration

  • Name:my-app-for-ai-access

  • 支持的账户类型:默认(单租户)

  • Redirect URI:可留空

  • 记录:Application (client) ID、Directory (tenant) ID、Object ID

使用 Microsoft Agent Framework 构建你的第一个 Agent 应用使用 Microsoft Agent Framework 构建你的第一个 Agent 应用使用 Microsoft Agent Framework 构建你的第一个 Agent 应用

2.2.2 生成客户端密钥(Client Secret):

  • Certificates & secrets → New client secret

  • 保存并复制生成的 Value(clientSecret)

使用 Microsoft Agent Framework 构建你的第一个 Agent 应用使用 Microsoft Agent Framework 构建你的第一个 Agent 应用使用 Microsoft Agent Framework 构建你的第一个 Agent 应用

2.2.3 为服务主体赋予 Azure OpenAI 访问权限:

  • 打开你的 Azure OpenAI 资源(例如
    https://maf.openai.azure.com/)

  • Access control (IAM) → Add → Add role assignment

  • 角色:Cognitive Services OpenAI User(推荐)

  • 成员:选择 my-app-for-ai-access

  • 保存并等待权限生效

使用 Microsoft Agent Framework 构建你的第一个 Agent 应用使用 Microsoft Agent Framework 构建你的第一个 Agent 应用使用 Microsoft Agent Framework 构建你的第一个 Agent 应用使用 Microsoft Agent Framework 构建你的第一个 Agent 应用

2.3 使用 API 密钥认证

如果希望最快速调用模型(不使用 Entra ID / RBAC),可以直接使用 API Key 认证。

2.3.1 获取 API Key 和 Endpoint:

  • 在 Azure OpenAI 资源中:Keys and Endpoint

  • 获取 KEY

  • 获取 Endpoint(如:
    https://maf.openai.azure.com/)

使用 Microsoft Agent Framework 构建你的第一个 Agent 应用

在上面我们构建整个智能体很简单,我们在做智能体之前需要把前凑步骤做好,这个是一次性的,做过一次你下次基本复用就行,就行我们在开发软件之前必须安装开发环境一样,真所谓:工欲善其事,必先利其器。让我们一块开启我们智能体开发之旅。

源代码地址

https://github.com/bingbing-gui/aspnetcore-developer/tree/master/src/09-AI-Agent/Agent-Framework/Agent-Running

© 版权声明

相关文章

1 条评论

  • 头像
    醉酒小奶糖 读者

    收藏了,感谢分享

    无记录
    回复