3.2 ToolCallLimitMiddleware中间件

限制工具调用次数,可以限制所有工具调用的总次数,也可以限制特定工具的调用次数。
作用如下:

  • 避免过多调用某些昂贵的外部API
  • 限制网络爬虫或数据库查询请求的数量
  • 避免Agent陷入无限循环

退出行为有三种模式:

  • error:直接抛异常
  • end:结束整个会话
  • continue:继续运行Agent,这是默认行为,此时Agent会将工具调用超出限制的信息传递给模型,后者自主决定后续行为,如果模型能力不足,可能导致死循环,为了避免这种情况,我们实现的fake server会以20%的概率输出正确响应,从而能终止循环。

举例1:整个会话限制-优雅结束

图片[1]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[2]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[3]-3.2 ToolCallLimitMiddleware中间件-大赛人网

举例2:整个会话限制-抛异常

图片[4]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[5]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[6]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[7]-3.2 ToolCallLimitMiddleware中间件-大赛人网

案例3:单次调用限制-继续运行

图片[8]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[9]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[10]-3.2 ToolCallLimitMiddleware中间件-大赛人网
图片[11]-3.2 ToolCallLimitMiddleware中间件-大赛人网
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容