KnowAgent

KnowAgent

知识增强LLM智能体规划框架

KnowAgent是一个知识增强的大语言模型(LLM)智能体规划框架。该框架通过构建行动知识库、知识文本化和知识化自学习,提升了LLM智能体的规划能力。KnowAgent支持HotpotQA和ALFWorld等复杂任务,并提供了安装指南和使用说明。这一框架不仅增强了LLM智能体在复杂场景中的应用潜力,也为相关研究领域带来了新的思路。

KnowAgentAI智能体规划路径生成知识增强自学习Github开源项目
<div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/c99d02ec-4121-4308-9f30-ac155fae4f42.png" width="360px">

基于知识增强的LLM智能体规划

<p align="center"> <a href="https://arxiv.org/abs/2403.03101">📄论文</a> • <a href="https://www.zjukg.org/project/KnowAgent/">🌐网站</a> </p>

Awesome License

</div>
<img src="https://yellow-cdn.veclightyear.com/835a84d5/27a0a8c1-5730-40de-8ec0-de9ffff1230c.gif" alt="method"/>

​ 我们的开发基于几个关键步骤:首先,我们创建了一个广泛的行动知识库,汇集了与特定任务相关的行动规划知识。这个数据库作为外部信息库,指导模型的行动生成过程。随后,通过将行动知识转化为文本,我们使模型能够深入理解并利用这些知识来创建行动轨迹。最后,通过知识性自学习阶段,我们利用模型迭代过程中开发的轨迹来不断提高其对行动知识的理解和应用。这个过程不仅增强了智能体的规划能力,还提高了它们在复杂情况下的应用潜力。

🌟目录

🔔新闻

🔧安装

要开始使用KnowAgent,请按以下简单步骤进行安装:

git clone https://github.com/zjunlp/KnowAgent.git cd KnowAgent pip install -r requirements.txt

我们已将HotpotQA和ALFWorld数据集分别放在Path_Generation/alfworld_run/dataPath_Generation/hotpotqa_run/data下。对于进一步的配置,我们建议继续进行ALFWorldFastChat的原始设置。

:world_map:规划路径生成

规划路径生成过程是KnowAgent的核心部分。你可以在Path_Generation目录中找到运行规划路径生成的脚本,具体是run_alfworld.shrun_hotpotqa.sh。这些脚本可以使用bash命令执行。要根据你的需求调整脚本,你可以修改mode参数在训练(train)和测试(test)模式之间切换,并更改llm_name参数以使用不同的LLM:

cd Path_Generation

# 使用HotpotQA进行训练
python run_hotpotqa.py --llm_name llama-2-13b --max_context_len 4000 --mode train --output_path ../Self-Learning/trajs/

# 使用HotpotQA进行测试
python run_hotpotqa.py --llm_name llama-2-13b --max_context_len 4000 --mode test --output_path output/
    
# 使用ALFWorld进行训练
python alfworld_run/run_alfworld.py --llm_name llama-2-13b --mode train --output_path ../Self-Learning/trajs/

# 使用ALFWorld进行测试
python alfworld_run/run_alfworld.py --llm_name llama-2-13b --mode test --output_path output/

在此我们发布了在过滤前由Llama-{7,13,70}b-chat合成的轨迹,可在Google Drive获取。

♟️知识性自学习

获得规划路径和相应轨迹后,知识性自学习过程开始。首先使用Self-Learning目录中的脚本(如traj_reformat.sh)将生成的轨迹转换为Alpaca格式。对于初始迭代,使用:

cd Self-Learning
# 对于HotpotQA
python train/Hotpotqa_reformat.py --input_path trajs/KnowAgentHotpotQA_llama-2-13b.jsonl --output_path train/datas

# 对于ALFWorld
python train/ALFWorld_reformat.py --input_path trajs/KnowAgentALFWorld_llama-2-13b.jsonl --output_path train/datas

对于后续迭代,在运行traj_reformat.sh之前,需要使用traj_merge_and_filter.sh进行基于知识的轨迹过滤和合并:

python trajs/traj_merge_and_filter.py \
    --task HotpotQA \
    --input_path1  trajs/datas/KnowAgentHotpotQA_llama-2-13b_D0.jsonl \
    --input_path2  trajs/datas/KnowAgentHotpotQA_llama-2-13b_D1.jsonl \
    --output_path   trajs/datas 

接下来,通过运行train.shtrain_iter.sh开始自学习,参考Self-Learning/train.shSelf-Learning/train_iter.sh中的脚本:

CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 deepspeed train/train_lora.py \
    --model_name_or_path  llama-2-13b-chat\
    --lora_r 8 \
    --lora_alpha 16 \
    --lora_dropout 0.05 \
    --data_path datas/data_knowagent.json \
    --output_dir models/Hotpotqa/M1 \
    --num_train_epochs 5 \
    --per_device_train_batch_size 2 \
    --per_device_eval_batch_size 1 \
    --gradient_accumulation_steps 1 \
    --evaluation_strategy "no" \
    --save_strategy "steps" \
    --save_steps 10000 \
    --save_total_limit 1 \
    --learning_rate 1e-4 \
    --weight_decay 0. \
    --warmup_ratio 0.03 \
    --lr_scheduler_type "cosine" \
    --logging_steps 1 \
    --fp16 True \
    --model_max_length 4096 \
    --gradient_checkpointing True \
    --q_lora False \
    --deepspeed /data/zyq/FastChat/playground/deepspeed_config_s3.json \
    --resume_from_checkpoint False 

🔖引用

@article{zhu2024knowagent, title={KnowAgent: 基于知识增强的LLM智能体规划}, author={朱宇奇 and 乔硕飞 and 欧怡欣 and 邓叔敏 and 张宁豫 and 吕世伟 and 沈玥 and 梁磊 and 顾锦杰 and 陈华钧}, journal={arXiv预印本 arXiv:2403.03101}, year={2024} }

✨致谢

  • 我们对以下项目的创建者和贡献者表示感谢,这些项目对KnowAgent的开发产生了重大影响:

    • FastChat:我们的训练模块代码改编自FastChat。访问FastChat,通过LangChain与开放模型的集成也是通过FastChat实现的。了解更多关于LangChain和FastChat集成
    • BOLAA:推理模块代码基于BOLAA实现。访问BOLAA
    • 还使用了来自ReActReflexionFireAct等其他基线的代码,展示了多样化的方法和方法论。

    我们衷心感谢所有贡献者对这个领域做出的宝贵贡献!

🎉贡献者

<a href="https://github.com/zjunlp/knowagent/graphs/contributors"> <img src="https://contrib.rocks/image?repo=zjunlp/knowagent" /></a>

我们将提供长期维护以修复错误和解决问题。因此,如果您有任何问题,请向我们提出问题。

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多