如何入门多Agent协作,实现AgentGroupChat?

摘要:本文介绍了如何通过Semantic Kernel提供的AgentGroupChat来实现多Agent的协作,其中最要的部分就是定义选择轮次策略 和 终止聊天策略,相信通过这个案例你能够有个感性的认识。当然,除了群组聊天模式之外,多Agent
大家好,我是Edison。 近日抽空学习了下Semantic Kernel提供的AgentGroupChat对象写了一个多Agent群组对话的Demo,总结一下分享与你。当然,多Agent协作还有其他的方式,就留到后续慢慢介绍给你。 AgentChat是什么鬼? 在Semantic Kernel中,AgentChat提供了一个框架,可以启用多个代理之间的交互,即使它们属于不同类型的代理。 这使得 ChatCompletionAgent和 OpenAIAssistantAgent 可以在同一对话中协同工作。 AgentChat还定义了用于启动代理之间协作的入口点,无论是通过多个响应还是单个代理响应。 在实现层面,AgentGroupChat提供了 AgentChat 的具体实现,它是使用基于策略的方法来管理聊天的动态。 快速入门案例 这里我们来快速实现一个案例:Reviewer & Writer,让这两个不同功能的Agent能够相互配合协作,完成一个指定的功能: (1)Reviewer 可以审核用户输入的文案并给出优化建议; (2)Writer 则根据优化建议进行文案的优化创作; 为了简单地实现这个功能,我们创建一个.NET控制台项目,然后安装以下包: Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.Json Microsoft.SemanticKernel.Agents.Core Microsoft.SemanticKernel.Agents.OpenAI (Preview版本) 需要注意的是,由于Semantic Kernel的较多功能目前还处于实验预览阶段,所以建议在该项目的csproj文件中加入以下配置,统一取消警告: <PropertyGroup> <NoWarn>$(NoWarn);CA2007;IDE1006;SKEXP0001;SKEXP0110;OPENAI001</NoWarn> </PropertyGroup> 创建一个appsettings.json配置文件,填入以下关于LLM API的配置,其中API_KEY请输入你自己的: { "LLM": { "BASE_URL": "https://api.siliconflow.cn", "API_KEY": "******************************", "MODEL_ID": "Qwen/Qwen2.5-32B-Instruct" } } 这里我们使用SiliconCloud提供的Qwen2.5-32B-Instruct模型,你可以通过:https://cloud.siliconflow.cn/i/DomqCefW 注册一个账号,获取大量免费的Token来来进行这个DEMO实验。
阅读全文