Skip to content

本项目是自动化学报中AUTOPLAN的代码地址,使用大语言模型完成了复杂任务的任务规划以及任务执行

Notifications You must be signed in to change notification settings

LDLINGLINGLING/AutoPlan

Repository files navigation

进展

更新了English readme

2024年10月,启动了AutoPlan2,极大的降低了AutoPlan的数据构造成本,致力于冷启动构造专业领域复杂Agent数据。

2024年9月,做出了高质量冷启动的function call数据构造

AutoPlan

本项目主要完成了在军事领域下基于大模型的复杂任务规划和执行,使用到了改进的react技术进行长链条的agent执行。本仓库要感谢尹俊希老帅哥的大力支持,为本项目做出了非常大的帮助

基本原理:

本项目第一版原理如下图,
image 第二版将第一版进行了数据蒸馏,将上图中两个模型合并到一个较小模型中,解决了第一版存在的多轮对话能力缺失,显存占用过高、推理效率低,简单任务复杂化和日常对话功能缺失等不够完善的地方。

usage

分为训练任务规划数据集(用于第一版)或者训练蒸馏后的完整数据集(用于第二版)两种

用法1、训练任务规划数据集:

train_plan.json和test_plan.json分别为进行任务规划的训练数据集和测试数据集。可以放入qwen1/qwen1.5中训练,训练后qwen模型可获得任务规划能力。
image

将main.py文件中allparams_split_task_chain的default值改为训练后的任务规划qwen模型。将execute_model_path改为qwen72b的的模型地址,execute_reflexion改为false。其他不变,运行即可获得任务规划和执行能力。

用法2、训练蒸馏后的带有任务执行数据集:

train_react.josn和test_react.json分别为对任务规划和任务执行两个模型蒸馏出来的数据,并且进行人工标注的数据,其中同时包括了任务规划和任务执行步骤
将train_react.json放到qwen1/qwen1.5内进行训练,可将任务规划和任务执行能力导入同一个模型,建议使用qwen1.5 14b进行训练.
训练完成后将main.py文件中allparams_split_task_chain的default值改为false。将execute_model_path改为以上模型训练的模型地址,execute_reflexion改为false。
推理可得一个模型同时获得任务规划和任务执行两个效果。

效果展示

任务规划阶段效果如下:

oy060f7h

任务执行阶段效果如下:

294754670-46c7ed17-197f-487a-b9bc-893c49eaba36

续上 image

About

本项目是自动化学报中AUTOPLAN的代码地址,使用大语言模型完成了复杂任务的任务规划以及任务执行

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages