找回密码
 立即注册
首页 业界区 科技 初试 Microsoft Agent Framework

初试 Microsoft Agent Framework

章海 昨天 20:10

跟着 .NET 官方博客的博文 Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer 中的示例代码基于 Microsoft Agent Framework 创建非常简单的写博文 Agent 与多 Agent 工作流初步体验一下。

先准备好访问 GitHub 模型市场 的 PAT(Personal Access Token)。

在 GitHub 的 Settings / Developer Settings 页面,点击 Personal access tokens / Fine-grained personal access tokens,进入 PAT 管理页面,点击 Generate new token 按钮,进入创建 token 的界面,输入 taken name,在最下面的 Permissions 部分添加 Models,点击 Generate token 生成 token 并保存。

1.jpeg

接着,创建 .NET 控制台项目

  1. dotnet new console -o HelloWorldAgents
  2. cd HelloWorldAgents
复制代码

添加 Microsoft Agent Framework 的 nuget 包

  1. dotnet add package Microsoft.Agents.AI --prerelease
复制代码

添加访问 github models 所需的 nuget 包

  1. dotnet add package OpenAI
  2. dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
  3. dotnet add package Microsoft.Extensions.AI
复制代码

然后,基于 Agent Framework 的核心抽象类 AIAgent 与聊天智能体实现类 ChatClientAgent 实现一个简单的写博文 agent,代码如下:

  1. IChatClient chatClient =
  2. new ChatClient(
  3. "gpt-4o-mini",
  4. new ApiKeyCredential(Environment.GetEnvironmentVariable("GITHUB_TOKEN")!),
  5. new OpenAIClientOptions { Endpoint = new Uri("https://models.github.ai/inference") })
  6. .AsIChatClient();
  7. AIAgent writer = new ChatClientAgent(
  8. chatClient,
  9. new ChatClientAgentOptions
  10. {
  11. Name = "博主",
  12. Instructions = "文字简练,浅显易懂"
  13. });
  14. AgentRunResponse response = await writer.RunAsync("写一篇简短的博文介绍一下什么是Agentic AI");
  15. Console.WriteLine(response.Text);
复制代码

用之前创建的 PAT 设置 GITHUB_TOKEN 环境,并运行控制台程序

  1. export GITHUB_TOKEN=github_pat_*****
  2. dotnet run
复制代码

运行结果如下

  1. ### 什么是Agentic AI?
  2. Agentic AI(自主智能体)是指具有一定自主性的人工智能系统,能够独立地进行决策和行动。这种AI不仅仅执行预设的任务,还能够根据环境变化和自身学习进行调整。
  3. #### 核心特征:
  4. 1. **自主决策**:Agentic AI能够在复杂环境中,基于当前信息和目标,做出自己的决策,而不是单纯依赖人类指令。
  5. 2. **自我学习**:通过不断吸收新的数据,Agentic AI可以优化其决策过程,提升解决问题的能力。
  6. 3. **适应性强**:这种AI可以根据不同情境或任务自动调整策略,处理各种未知或变化的情况。
  7. #### 应用场景:
  8. - **自动驾驶**:能够在各种道路和交通条件下自行决定行驶路线。
  9. - **智能助理**:更好地理解用户需求,提供个性化建议。
  10. - **机器人**:在复杂环境中(如灾后救援)独立行动,寻找受困者。
  11. ### 总结
  12. Agentic AI代表着智能技术的未来,它将改变我们与机器的互动方式,推动更智能化和自动化的世界。随着技术的不断进步,我们期待看到这种AI在更多领域的应用。
复制代码

基于 Microsoft.Agents.AI.Workflows 创建多 agent 工作流

添加所需的 nuget 包

  1. dotnet add package Microsoft.Agents.AI.Workflows --prerelease
复制代码

创建 writer agent 与 editor agent 并组成一个简单的 sequential 工作流,代码如下:

  1. IChatClient chatClient =
  2. new ChatClient(
  3. "gpt-4o-mini",
  4. new ApiKeyCredential(Environment.GetEnvironmentVariable("GITHUB_TOKEN")!),
  5. new OpenAIClientOptions { Endpoint = new Uri("https://models.github.ai/inference") })
  6. .AsIChatClient();
  7. AIAgent writer = new ChatClientAgent(
  8. chatClient,
  9. new ChatClientAgentOptions
  10. {
  11. Name = "博主",
  12. Instructions = "简明扼要并写上博主名称"
  13. });
  14. AIAgent editor = new ChatClientAgent(
  15. chatClient,
  16. new ChatClientAgentOptions
  17. {
  18. Name = "编辑",
  19. Instructions = "写评语并加上编辑名称"
  20. });
  21. Workflow workflow =
  22. AgentWorkflowBuilder
  23. .BuildSequential(writer, editor);
  24. AIAgent workflowAgent = await workflow.AsAgentAsync();
  25. AgentRunResponse workflowResponse =
  26. await workflowAgent.RunAsync("用一句话介绍什么是Agentic AI");
  27. Console.WriteLine(workflowResponse.Text);
复制代码

运行这个控制台程序,输出如下

  1. Agentic AI是指能够自主执行任务、做出决策并与环境互动的人工智能系统。——博主AI小助手
  2. 这句话简洁明了地概括了Agentic AI的核心特征,非常准确。——编辑AI小助手
复制代码

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册