【下】大模型Autogen多Agent系统详细保姆级实践介绍,亲身实践展示代理效果,主要展示Agent进阶用法

本文深入介绍了大模型Autogen中的Agent进阶用法,包括工具调用、Agent优化器和AgentGroup。通过示例展示了如何使用Agent进行货币兑换计算,训练解决数学问题,以及如何利用AgentGroup实现多Agent协作完成复杂任务。同时,文章对比了LangChain中的Agent和Chain的区别。
摘要由CSDN通过智能技术生成

上篇Autogen基本用法见上篇博文:

【上】大模型Autogen多Agent系统详细保姆级实践介绍,亲身实践展示代理效果-CSDN博客

3 Agent进阶用法

3.1 工具调用

工具调用使代理能够更有效地与外部工具和api进行交互。该功能允许模型智能地选择输出包含参数的JSON对象,以便根据用户的输入调用特定的工具。要调用的工具使用描述其参数及其类型的JSON模式指定。编写这样的JSON模式是复杂且容易出错的,这就是为什么AutoGen框架提供了两个高级函数装饰器,用于在标准Python数据类型上使用类型提示自动生成这样的模式:

  1. ConversableAgent.register_for_llm 用于在ConversableAgent的llm_config中将函数注册为Tool。ConversableAgent代理可以建议执行已注册的工具,但实际的执行将由UserProxy代理执行。

  2. ConversableAgent.register_for_execution用于将函数注册到UserProxy代理的function_map中。

3.1.1 Agent实例4——货币兑换计算

注册一个自定义函数用于货币兑换计算的过程,该函数使用类型提示和标准Python数据类型:

  • 创建一个助理代理和用户代理。助手将负责建议调用哪些函数,并由用户代理实际执行所建议的函数:

chatbot = autogen.AssistantAgent( 
    name="chatbot", 
    system_message="For currency exchange tasks, only use the functions you have been provided with. Reply TERMINATE when the task is done.", 
    llm_config=llm_config, 
) 

# create a UserProxyAgent instance named "user_proxy" 

user_proxy = autogen.UserProxyAgent( 
    name="user_proxy", 
    is_termination_msg=lambda x: x.get("content", "") and x.get("content", "").rstrip().endswith("TERMINATE"), 
    human_input_mode="NEVER", 
    max_consecutive_auto_reply=10, 
)
  • 定义函数currency_calculator如下所示,并用两个装饰器装饰它:

@user_proxy.register_for_execution添加currency_calculator函数到user_proxy.function_map

@chatbot.register_for_llm将生成的函数JSON模式添加到chatbot的llm_config

CurrencySymbol = Literal["USD", "EUR"] 


def exchange_rate(base_currency: CurrencySymbol, quote_currency: CurrencySymbol) -> float: 
    if base_currency == quote_currency: 
        return 1.0 
    elif base_currency == "USD" an
  • 35
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Autogen multiagent是一种自动生成多智能体系统的方法。 在传统的多智能体系统中,需要手动设计和编写每个智能体的行为规则和决策策略。这样做的问题是,当系统需要扩展或修改时,需要手动调整每个智能体的规则和策略,非常耗时和困难。而autogen multiagent方法则通过自动生成智能体系统的规则和策略,极大地简化了系统的设计和维护过程。 具体实现autogen multiagent的方法有多种。一种常用的方法是基于机器学习和优化算法系统首先采用机器学习算法对智能体的行为规则进行训练,让系统能够从大量的实例中学习合适的决策策略。然后,使用优化算法系统中的智能体进行优化,并自动调整它们的规则和策略,以实现更高的性能和效率。 另一种实现autogen multiagent的方法是基于进化算法系统首先通过随机生成一组智能体的规则和策略作为初始种群,然后使用进化算法对这些智能体进行迭代优化。在每一代中,系统通过评估智能体的性能选择出适应度高的个体,并通过交叉和变异等遗传操作生成新的智能体。通过不断迭代优化,系统可以自动生成合适的智能体规则和策略。 总的来说,autogen multiagent实现是一种通过机器学习、优化算法或进化算法等方法自动生成多智能体系统的规则和策略的方法。它可以大大简化多智能体系统的设计和维护过程,并且能够在系统性能和效率方面取得更好的结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炭市街潜水豆浆

勇敢的人先体验生活

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值