首页 > 科技周边 > 人工智能 > 使用Autogen建立多代理聊天机器人的动手指南

使用Autogen建立多代理聊天机器人的动手指南

Joseph Gordon-Levitt
发布: 2025-03-19 09:51:14
原创
484 人浏览过

Autogen赋予了精致的多代理聊天机器人开发,超越了简单的问答系统。本文详细介绍了自动基因如何促进诸如顺序和嵌套聊天等高级对话模式,从而为复杂的工作流提供了动态的多参与者相互作用。我们以前探索了两个代理聊天机器人;这扩展了该基础。

目录

  • 什么是多代理聊天机器人?
  • Autogen的对话模式
  • 了解顺序聊天
  • 先决条件
  • 执行
    • 定义任务
    • 定义代理
    • 示例对话
    • 分析结果
  • 结论
  • 常见问题

什么是多代理聊天机器人?

多代理聊天机器人利用多个专业的AI代理协作来处理复杂的任务或对话。每个代理在特定领域都有专业知识(例如,问题回答,建议生成,数据分析)。这种劳动分裂会产生更准确,更有效的反应。多个代理商的协调努力比单一代理系统提供了更丰富,更细微的互动,使其适合于客户服务,电子商务和教育中的复杂方案。

Autogen的对话模式

Autogen提供了几种用于管理多代理互动的对话模式:

  1. 顺序聊天:一系列两种代理对话,每个聊天的摘要都会告知下一个。
  2. 小组聊天:涉及多个代理的单一对话,需要战略代理响应管理。
  3. 嵌套聊天:将工作流程封装在单个代理中,以在较大的工作流程中重复使用。

本文着重于实施顺序聊天。

了解顺序聊天

顺序聊天涉及一系列两种代理对话。一个聊天的摘要成为后续聊天的上下文。

使用Autogen建立多代理聊天机器人的动手指南

该图说明了一系列聊天的序列,有可能在聊天中与共同的代理或每种交互的不同代理。当任务可将任务分解为相互依存的子任务时,这种方法是有价值的,每个任务都是由专业代理人处理的。

先决条件

在构建Autogen代理之前,请获取必要的LLM API键,并设置tavely以供网络搜索。将API键加载到.env文件中。定义LLM配置:

 config_list = {
    “ config_list”:[{“模型”:“ GPT-4O-Mini”,“温度”:0.2}]
}
登录后复制

安装autogen-agentchat (版本0.2.37或更高版本)。

执行

此示例使用Nvidia和Apple创建了股票分析系统。

定义任务

financial_tasks = [
    ”““当前NVDA和AAPL的股票价格是多少?在过去一个月的变化方面,表现如何?
    “”“调查股票绩效利用市场新闻的可能原因。
这是给出的

Writing_tasks = [“”“使用提供的任何信息开发引人入胜的博客文章。”“]
登录后复制

定义代理

进口汽车

financial_assistant = autogen.assistantagent(name =“ financial_assistant”,llm_config = config_list)
research_assistant = autogen.assistantagent(name =“研究人员”,llm_config = config_list)
writer = autogen.assistantagent(name =“ writer”,llm_config = config_list,system_message =“”“”
    您是一位专业作家,以您有见地和引人入胜的文章而闻名。
    您将复杂的概念转变为引人入胜的叙述。
    当一切完成时,回复“终止”。
    ”“”)

user_proxy_auto = autogen.userproxyagent(name =“ user_proxy_auto”,human_input_mode =“始终”,
                                         is_termination_msg = lambda x:x.get(“ content”,“”).rstrip()。endswith(“ terminate”),
                                         code_execution_config = {“ work_dir”:“任务”,“ use_docker”:false})

user_proxy = autogen.userproxyagent(name =“ user_proxy”,human_input_mode =“始终”,
                                    is_termination_msg = lambda x:x.get(“ content”,“”).rstrip()。endswith(“ terminate”),
                                    code_execution_config = false)
登录后复制

user_proxy_auto处理代码执行(设置human_input_mode="ALWAYS"以进行代码审查)。 user_proxy与作者代理进行交互。

示例对话

chat_results = autogen.initiate_chats([
    {“ sender”:user_proxy_auto,“收件人”:financial_assistant,“ message”:financial_tasks [0],“ clear_history”:true,“ norde”:silent':silent':false,“ summary_method”:“ last_msg”},
    {“ sender”:user_proxy_auto,“收件人”:research_assistant,“消息”:financial_tasks [1],“ summary_method”:“ reflection_with_llm”},
    {“ sender”:user_proxy,“收件人”:作者,“消息”:writing_tasks [0]}
)))
登录后复制

分析结果

chat_results变量包含每个代理的对话历史记录。该示例显示了作者代理的输出:

使用Autogen建立多代理聊天机器人的动手指南

结论

Autogen的顺序聊天模式可以创建能够处理复杂任务和对话的复杂多代理聊天机器人。这种方法对于需要协作AI代理的各种应用程序非常有益。

常见问题

Q1。什么是多代理聊天机器人,它们如何工作?多代理聊天机器人利用多个专业代理来通过分配任务来协作管理复杂的对话。

Q2。 Autogen支持哪些对话模式? Autogen支持顺序,组和嵌套的聊天模式,以有效地协调。

Q3。顺序聊天在Autogen中如何功能?顺序聊天链双手对话,使用每个聊天的摘要作为下一个上下文。

Q4。 Autogen多代理模式的实际应用是什么?这些模式在客户服务,金融,电子商务和其他需要复杂的自适应聊天机器人交互的领域中很有价值。

以上是使用Autogen建立多代理聊天机器人的动手指南的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板