2.2 HumanInTheLoopMiddleware中间件

HumanInTheLoopMiddleware(人在环中间件、人工审核中间件)在工具调用前中断Agent运行,等待用户对工具调用请求决策。可选的决策有: approve(同意执行) 、edit(编辑调用配置后执行) 、reject(拒绝执行) 。

2.2.1 参数说明
参数1:interrupt_on —工具名和中断策略的映射
策略可以是True、False或InterruptOnConfig对象,精细控制决策选项。
比如:

图片[1]-2.2 HumanInTheLoopMiddleware中间件-大赛人网

1. True表示所有决策(approve, edit, reject) 都可以选择,相当于

图片[2]-2.2 HumanInTheLoopMiddleware中间件-大赛人网
  1. False表示不中断,即无需审批即可执行。
  2. InterruptOnConfig 是一个TypedDict的子类,可以用字典直接赋值。支持的Key有:

① allowed_decisions 精细控制中断后允许的决策。
② description :特定工具的中断描述信息,优先级高于description_prefix,后 者会更
改所有工具中断的描述。

参数2:description_prefix —自定义中断描述
默认为”Tool execution requires approval” ,下面的举例可以看到效果。

2.2.2 举例过程1:调用前中断
注意:本例需要从中断的位置让Agent继续运行,这就需要用到短期记忆,这里先使用即可。
创建Agent时通过checkpointer参数启用了短期记忆,在调用时通过传递相同的config加载记忆。记住固定用法即可。

图片[3]-2.2 HumanInTheLoopMiddleware中间件-大赛人网
图片[4]-2.2 HumanInTheLoopMiddleware中间件-大赛人网
图片[5]-2.2 HumanInTheLoopMiddleware中间件-大赛人网
图片[6]-2.2 HumanInTheLoopMiddleware中间件-大赛人网
图片[7]-2.2 HumanInTheLoopMiddleware中间件-大赛人网
图片[8]-2.2 HumanInTheLoopMiddleware中间件-大赛人网

2.2.3 举例过程2:指明工具调用请求决策

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

昵称

取消
昵称

    请登录后查看评论内容