AgentVerse
AgentVerse copied to clipboard
新任务支持
您好,请问现在有如何增加新任务的指导手册吗?或者后续考虑添加这块的指导吗?
目前没有,如果您是想用来做Task Solving,基本的步骤是:
- 在
agentverse/tasks/tasksolving
文件夹中添加你的task文件夹,例如agentverse/tasks/tasksolving/my_task
并在其中写一个yaml,可以先复制其他任务的yaml,再修改其中的参数。 - 在yaml的environment配置中,指定你所想要使用的4个rule。目前支持
https://github.com/OpenBMB/AgentVerse/tree/main/agentverse/environments/tasksolving_env/rules
这里各个文件夹中实现的组件。例如,如果您decision maker想使用vertical_solver_first,那么根据 https://github.com/OpenBMB/AgentVerse/blob/5fb1f7713988c0ef71c1a8a455d7a74d821fd7cb/agentverse/environments/tasksolving_env/rules/decision_maker/vertical_solver_first.py#L17 就在yaml中environment的decision_maker处指定为vertical-solver-first - 如果你要自定义某一个rule,
- 首先在对应的rule文件夹中新建你的自定义模块文件,例如你想要自定义一个decision maker,叫做
custom-decision-maker
,那么你可以首先创建文件agentverse/environments/tasksolving_env/rules/decision_maker/custom.py
- 在其中
from . import decision_maker_registry
- 写一个继承于
BaseDecisionMaker
的class,例如class CustomDecisionMaker(BaseDecisionMaker)
- 用
@decision_maker_registry.register("custom-decision-maker")
对类进行装饰 - 在
agentverse/environments/tasksolving_env/rules/decision_maker/__init__.py
中,加上from .custom import CustomDecisionMaker
- 实现这个类所需要实现的函数,保证输入输出格式
- 在你的yaml中,将decision_maker指定为
custom-decision-maker
- 首先在对应的rule文件夹中新建你的自定义模块文件,例如你想要自定义一个decision maker,叫做
之后正常启动程序,将--task
指定为你的任务目录,例如python agentverse_command/main_tasksolving_cli.py --task tasksolving/my_task
,这样就可以使用你的自定义模块了。
我们暂时没有时间把这个过程完整化为一个教程,如果您有空且感兴趣的话,欢迎您在跑通之后帮助我们完善文档🙏