Skip to content

chat凉宫春日:通过大模型复活动漫角色

Notifications You must be signed in to change notification settings

wkykw01/ChatHaruhi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

ChatHaruhi

ChatHaruhi 是一个技术框架,专注于模仿动漫影视角色,让用户可以与这些虚拟角色进行聊天对话。

概述

ChatHaruhi 的目标是利用大型语言模型(LLM)来模仿动漫角色的语气和风格。例如,让 LLM 扮演凉宫春日,当用户提问时,LLM 可以以凉宫春日的语气回答,引用动漫中的原始剧情,使回复更加逼真。

挑战与解决方案

让 LLM 扮演角色的难点在于:

  • 对于知名角色,使用适当的 Prompt 可以实现较好的效果。但对于模型未训练过的角色或数据有限的角色,效果可能不佳。

  • 基于角色的资料和对话微调模型在数据不足时效果不佳,且一些模型(如 GPT-4)可能不支持微调。

为了获得更好的效果,可以采取基于上下文的学习(In-context Learning)方法。在系统 Prompt 中加入角色的背景知识和历史对话内容,以便模型能够更准确地模仿角色的对话风格。

示例

用户提问:“同学请自我介绍一下”

ChatHaruhi 会搜索数据库中凉宫春日在动漫中的对话记录和旁白,例如:

旁白:在开学的时候,老师让所有人进行自我介绍 春日:「我毕业于东中,叫做凉宫春日。」 春日:「我对普通的人类没有兴趣,如果你们中有外星人,未来人, 异世界的人或者超能力者的话,就尽管来找我吧!以上。」

然后,结合系统 Prompt 描述,LLM 可以生成准确且保持角色风格的回复。

数据收集

项目提供了 32 个角色的 54K 对话数据,包括电影、小说和剧本的语料。对于视频对话,如果有字幕,就从字幕中提取对话;否则,借助 Whisper 进行语音识别。

对于一些角色对话数据较少的情况,例如原神游戏中的角色,使用 ChatGPT 生成虚拟对话,将对话数据从 23000 条扩充到 54000 多条,丰富了数据集。

语音合成

ChatHaruhi 不仅模拟动漫角色对话,还能模仿角色的声音。语音合成使用了 VITS 模型。相关代码参考:VITS GitHub 仓库

About

chat凉宫春日:通过大模型复活动漫角色

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages