Project Icon

trainable-agents

可训练的角色扮演AI,实现动态个性化互动

Character-LLMs是一款专为角色扮演设计的可训练智能体,利用经验重建技术生成丰富的角色体验数据,无需额外提示即可模拟特定角色,如贝多芬或埃及艳后。项目提供九个角色的模型和数据集,支持角色个性化构建与互动。详情请见论文和代码仓库。

trainable-agents 项目介绍

项目背景

trainable-agents 项目中的 Character-LLM 提出了可以角色扮演的可训练智能体,其特别之处在于能够从实际经验、特征和情感中学习。这种智能体不同于需要额外提示的传统智能体模型,Character-LLM 专门针对角色扮演进行了训练,无需任何额外的提示或参考文档就能够以详细的角色知识和代表性性格特征模拟特定人物。Character-LLM 可以扮演像贝多芬、克娄巴特拉女王、尤利乌斯·凯撒等历史或虚构人物。

核心概念

Character-LLM 的关键在于经验重建,这个数据生成过程用于产生特定角色的详细和多样化的经验数据,从而进行模型的训练。此技术能帮助智能体在不同场景中生动模拟特定人物角色,呈现出类似真实人物的表现。

数据集与模型

  • 模型权重:项目发布了九个角色的模型权重,包括克娄巴特拉女王、伏地魔、斯巴达克斯、赫敏·格兰杰、艾萨克·牛顿、尤利乌斯·凯撒、路德维希·范·贝多芬、苏格拉底和马丁·路德·金。这些模型均基于 Llama 1,通过运行命令恢复权重,可使用模型作为聊天机器人:

    cd FastChat
    python3 -m fastchat.model.apply_delta \
        --base-model-path /path/to/hf-model/llama-7b \
        --target-model-path /path/to/hf-model/character-llm-beethoven-7b \
        --delta-path fnlp/character-llm-beethoven-7b-wdiff
    
  • 训练数据集:训练所需的数据集可以通过链接下载,包含九个角色的经验数据。

角色创建流程

  1. 角色资料建设:选择需要扮演的角色(如贝多芬),搜集角色的相关资料。
  2. 场景提取:使用 gpt-3.5-turbo 生成基于资料的场景。
  3. 经验完成:生成角色之间的互动。
  4. 保护场景:生成保护场景,降低角色幻觉的产生。
  5. 转换为训练格式:将数据转化为模型可训练格式。

模型训练与推理

训练基于 FastChat,需要准备基础模型和训练数据。使用适当的超参数进行模型训练,需要大约 30-45 分钟的时间。完成后即可加载模型进行推理。

cd FastChat
export CHARACTER=Beethoven
torchrun --nproc_per_node=8 --master_port=20031 fastchat/train/train_mem.py \
    --model_name_or_path /path/hf_model/llama-7b  \
    --data_path /path/to/prompted_agent_dialogue_$CHARACTER.json \
    --already_preprocess True \
    --bf16 True \
    --output_dir /path/to/ckpt/${CHARACTER}_7b \
    --num_train_epochs 10 \
    --per_device_train_batch_size 2 \
    --per_device_eval_batch_size 16 \
    --gradient_accumulation_steps 4 \
    --evaluation_strategy epoch \
    --save_strategy epoch \
    --save_total_limit 10 \
    --learning_rate 2e-5 \
    --weight_decay 0.1 \
    --warmup_ratio 0.04 \
    --lr_scheduler_type cosine \
    --logging_steps 1 \
    --fsdp 'full_shard auto_wrap' \
    --fsdp_transformer_layer_cls_to_wrap LlamaDecoderLayer \
    --tf32 True \
    --model_max_length 2048 \
    --gradient_checkpointing True 

示例生成

项目展示了基于 Character-LLM 的生成样例,单轮对话和多轮对话模拟了不同时期、不同背景的角色对话,充分表现了模型的角色扮演能力。

引用与感谢

如果你在学术研究中使用了此项目的资源,请遵循引用规范。此外,项目团队特别感谢对论文校对及建议做出贡献人员的支持以及相关的科研资助项目。

注意事项

所生成的数据、代码和模型仅限学术研究用途,禁止用于商业用途。此外,由于不可控因素影响,Character-LLM 生成的内容无法完全保证其准确性和质量,项目作者不对使用该项目资源可能产生的任何后果负责。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号