Microsoft Agent Framework Quick-Start 指南

本指南将帮助你使用 Agent Framework 和 Azure OpenAI 快速启动和运行一个基本代理。

先决条件

在开始之前,请确保具有以下各项:

注释

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获取代理框架的夜间版本。

若要下载夜间版本,请执行以下步骤:

  1. 需要一个 GitHub 帐户才能完成这些步骤。

  2. 请根据这些read:packages创建具有的 GitHub 个人访问令牌。

  3. 如果帐户是Microsoft组织的一部分,则必须将 Microsoft 组织授权为单一登录组织。

    1. 单击刚创建的个人访问令牌旁边的“配置 SSO”,然后授权 Microsoft
  4. 使用以下命令将 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"
    
  5. 也可以手动创建 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 参考
  6. 现在可以将包从夜间构建添加到项目中。

    例如,使用此命令 dotnet add package Microsoft.Agents.AI --prerelease

  7. 可以在项目中引用最新的包版本,如下所示:

    <PackageReference Include="Microsoft.Agents.AI" Version="*-*" />

有关详细信息,请参阅 https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry

先决条件

在开始之前,请确保具有以下各项:

注释

此演示使用 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 代理示例

后续步骤