OpenBMB / AgentVerse

🤖 AgentVerse 🪐 is designed to facilitate the deployment of multiple LLM-based agents in various applications, which primarily provides two frameworks: task-solving and simulation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

新任务支持

znzjugod opened this issue · comments

您好,请问现在有如何增加新任务的指导手册吗?或者后续考虑添加这块的指导吗?

目前没有,如果您是想用来做Task Solving,基本的步骤是:

  1. agentverse/tasks/tasksolving文件夹中添加你的task文件夹,例如agentverse/tasks/tasksolving/my_task并在其中写一个yaml,可以先复制其他任务的yaml,再修改其中的参数。
  2. 在yaml的environment配置中,指定你所想要使用的4个rule。目前支持https://github.com/OpenBMB/AgentVerse/tree/main/agentverse/environments/tasksolving_env/rules这里各个文件夹中实现的组件。例如,如果您decision maker想使用vertical_solver_first,那么根据
    @decision_maker_registry.register("vertical-solver-first")

    就在yaml中environment的decision_maker处指定为vertical-solver-first
  3. 如果你要自定义某一个rule,
    1. 首先在对应的rule文件夹中新建你的自定义模块文件,例如你想要自定义一个decision maker,叫做custom-decision-maker,那么你可以首先创建文件agentverse/environments/tasksolving_env/rules/decision_maker/custom.py
    2. 在其中from . import decision_maker_registry
    3. 写一个继承于BaseDecisionMaker的class,例如class CustomDecisionMaker(BaseDecisionMaker)
    4. @decision_maker_registry.register("custom-decision-maker")对类进行装饰
    5. agentverse/environments/tasksolving_env/rules/decision_maker/__init__.py中,加上from .custom import CustomDecisionMaker
    6. 实现这个类所需要实现的函数,保证输入输出格式
    7. 在你的yaml中,将decision_maker指定为custom-decision-maker

之后正常启动程序,将--task指定为你的任务目录,例如python agentverse_command/main_tasksolving_cli.py --task tasksolving/my_task,这样就可以使用你的自定义模块了。

我们暂时没有时间把这个过程完整化为一个教程,如果您有空且感兴趣的话,欢迎您在跑通之后帮助我们完善文档🙏