本指南将帮助你使用 Agent Framework 和 Azure OpenAI 快速启动和运行一个基本代理。
先决条件
在开始之前,请确保具有以下各项:
- .NET 8.0 SDK 或更高版本
- 具有已部署模型的 Azure OpenAI 资源(例如
gpt-4o-mini) -
Azure CLI 已安装并经过身份验证 (
az login) -
用户具有 Azure OpenAI 资源的
Cognitive Services OpenAI User或Cognitive Services OpenAI Contributor角色。
注释
Microsoft .NET 的所有主动支持版本都支持代理框架。 对于此示例,我们建议使用 .NET 8 SDK 或更高版本。
注释
此演示使用 Azure CLI 凭据进行身份验证。 请确保已登录 az login 并有权访问 Azure OpenAI 服务。 有关详细信息,请参阅 Azure CLI 文档。 如果您有 API 密钥,并且不希望使用角色身份验证,则可将AzureCliCredential替换为ApiKeyCredential,此时不需要az login。
安装软件包
软件包将发布到 NuGet 库 | MicrosoftAgentFramework。
首先,使用以下命令将以下Microsoft Agent Framework NuGet 包添加到应用程序中:
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
运行基本代理示例
此示例演示如何通过 Azure OpenAI 聊天完成作为后端创建和使用简单的 AI 代理。 它将使用AzureOpenAIClientgpt-4o-mini和自定义说明创建基本代理。
示例代码
请确保将 https://your-resource.openai.azure.com/ 替换为 Azure OpenAI 资源的终结点。
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using OpenAI;
AIAgent agent = new AzureOpenAIClient(
new Uri("https://your-resource.openai.azure.com/"),
new AzureCliCredential())
.GetChatClient("gpt-4o-mini")
.CreateAIAgent(instructions: "You are good at telling jokes.");
Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));
(可选)安装 Nightly 软件包
如果需要获取包含最新增强功能或修补程序的包,可在以下位置 https://github.com/orgs/microsoft/packages?repo_name=agent-framework获取代理框架的夜间版本。
若要下载夜间版本,请执行以下步骤:
需要一个 GitHub 帐户才能完成这些步骤。
如果帐户是Microsoft组织的一部分,则必须将
Microsoft组织授权为单一登录组织。- 单击刚创建的个人访问令牌旁边的“配置 SSO”,然后授权
Microsoft。
- 单击刚创建的个人访问令牌旁边的“配置 SSO”,然后授权
使用以下命令将 Microsoft GitHub Packages 源添加到 NuGet 配置:
dotnet nuget add source --username GITHUBUSERNAME --password GITHUBPERSONALACCESSTOKEN --store-password-in-clear-text --name GitHubMicrosoft "https://nuget.pkg.github.com/microsoft/index.json"也可以手动创建
NuGet.Config文件。<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="github" value="https://nuget.pkg.github.com/microsoft/index.json" /> </packageSources> <packageSourceMapping> <packageSource key="nuget.org"> <package pattern="*" /> </packageSource> <packageSource key="github"> <package pattern="*nightly"/> <package pattern="Microsoft.Agents.AI" /> </packageSource> </packageSourceMapping> <packageSourceCredentials> <github> <add key="Username" value="<Your GitHub Id>" /> <add key="ClearTextPassword" value="<Your Personal Access Token>" /> </github> </packageSourceCredentials> </configuration>- 如果将此文件放在项目文件夹中,请确保让 Git(或任何使用的源代码管理)忽略它。
- 有关存储此文件的位置的详细信息,请参阅 nuget.config 参考。
现在可以将包从夜间构建添加到项目中。
例如,使用此命令
dotnet add package Microsoft.Agents.AI --prerelease可以在项目中引用最新的包版本,如下所示:
<PackageReference Include="Microsoft.Agents.AI" Version="*-*" />
有关详细信息,请参阅 https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry。
先决条件
在开始之前,请确保具有以下各项:
- Python 3.10 或更高版本
- 具有已部署模型的 Azure AI 项目(例如
gpt-4o-mini) - 已安装并经过身份验证的 Azure CLI(
az login)
注释
此演示使用 Azure CLI 凭据进行身份验证。 请确保您使用 az login 登录,并且有权访问 Azure AI 项目。 有关详细信息,请参阅 Azure CLI 文档。
运行基本代理示例
此示例演示如何使用 Azure AI 作为后端创建和使用简单的 AI 代理。 它将使用ChatAgentAzureAIAgentClient和自定义说明创建基本代理。
请确保设置以下环境变量:
-
AZURE_AI_PROJECT_ENDPOINT:Azure AI 项目终结点 -
AZURE_AI_MODEL_DEPLOYMENT_NAME:您的模型部署的名称
示例代码
import asyncio
from agent_framework import ChatAgent
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
ChatAgent(
chat_client=AzureAIAgentClient(async_credential=credential),
instructions="You are good at telling jokes."
) as agent,
):
result = await agent.run("Tell me a joke about a pirate.")
print(result.text)
if __name__ == "__main__":
asyncio.run(main())
更多示例
有关更详细的示例和高级方案,请参阅 Azure AI 代理示例。