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

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

Project Cover

Kimi

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

Project Cover

阿里绘蛙

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

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

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