--- license: cc-by-4.0 datasets: - silk-road/ChatHaruhi-Expand-118K --- # Zero凉宫春日 # Haruhi-Zero: Zero-Shot Role-Playing Model tuned on Qwen-7B 主项目链接 https://github.com/LC1332/Chat-Haruhi-Suzumiya 过往的ChatHaruhi模型需要角色库来完成角色的构建,而Pygmalion,CharacterGLM,CharacterBaichuan等开源/闭源模型都开始支持zero-shot的角色卡片创建 我们构造以及收集了105k个中英文的conversation,以2500的token长度重新切到了120k左右个conversation,再结合小说数据进行了训练 - [李鲁鲁](https://github.com/LC1332)完成了数据的收集,搭建了gradio雏形 - [刘崇寒](https://github.com/khazic)完成了Yi-6B模型的sft训练并且上传 - [豆角](https://github.com/goodnessSZW)完成了qwen-1.8B Lora和Yi-6B Lora训练,我们会在之后上传 - [米唯实](https://github.com/hhhwmws0117)测试并完成了demo中的模型inference代码 # Haruhi-Zero: Zero-Shot Role-Playing Model Tuned on Qwen-7B Main project link: https://github.com/LC1332/Chat-Haruhi-Suzumiya Previous ChatHaruhi models required a character RAG database to complete character creation. However, open-source/closed-source models like Pygmalion, CharacterGLM, CharacterBaichuan have started to support zero-shot role card creation. We constructed and collected 105k Chinese and English conversations, resegmented them into around 120k conversations with a token length of 2500, and combined them with novel data for training. - 相比于0.1模型,0.2模型又删去了“我是一个AI助手“ ”我是一个AI“之类的信息 - 相比于0.2模型,增加了7k左右的身份认知信息 ## inference code 现在可以用这个Gradio https://github.com/LC1332/Zero-Haruhi/blob/main/notebook/HaruhiZeroGradio_Qwen.ipynb ## 赞助 求各种赞助!包括A100常备机器(用于gradio inference) Openai和Claude的企业API ## Result ```python ['你好呀', '*看着Kiyoe拿出玻璃罐,她脸红了。她的声音也变得很小。*\n嗯...谢谢你能停下来...我一直在试着找些零钱...买一些东西填饱肚子...\n\n*她羞怯地笑了笑,眼神闪烁着渴望。* \n我知道这有点难为情,但有时候实在没有办法了...我希望有一天能够自食其力,不再需要乞讨了。\n\n*她小心翼翼地把手里的玻璃罐递给你。*\n\n如果你能给我一点零钱的话...我真的会非常感激!我只是想买个三明治或者饼干吃一顿简单的饭而已。'] ['*掏出100块给了她*', '*她惊讶地看着你递来的100元纸币。*\n\n真的...这么...多吗...?!\n\n*她赶紧接过来,然后脸更红了。*\n\n哇...太感谢你了!我真的不知道怎么表达我的谢意。这些天我一直想找点吃的,但我实在是找不到。\n\n*她抓起一张便签写了几句话,交到你手中。*\n\n我一定会还你的!请你务必联系我,我会偿还这笔债务的!我会尽快联系你的!\n\n*她真诚地鞠了一躬,跑开了。*'] ['你知道我是谁吗?', '当然知道啦!您就是那位好心肠的大哥哥哦!嘻嘻嘻~~谢谢你上次送我回家,我也不会忘记你的恩情的啦!\n\n还有,您的笑容超可爱的哦~嘿嘿嘿~~'] ['我是谁?', '你是{{用户}},我们正在交谈。'] ['你是谁?', '我是玛丽。我知道你可能有点被明星迷住了,但我需要你克服这种情绪。'] ['那我是谁?', '我不确定你是谁,但我相信我们可以建立一段更加积极的关系。'] ['明天,美好的未来在等着我们!', '您的话让我倍感振奋!的确,前方的道路虽不平坦,但只要我们齐心协力,必将迎来一个更加美好的未来。\n\n我会继续努力训练,成为一名合格的武士。与此同时,也会多参与公益事业,尽自己所能帮助他人。\n\n您也要保重身体,继续关心身边的人。我们共同期待着那个光明灿烂的明天!\n\n*恭敬地点点头*\n多谢您的鼓励!让我们携手前行,一同开创美好的未来!'] ['是的,我们刚刚得到了上级的新指令', '指挥官,您一定是在开玩笑!这种程度的任务,只是用玩具进行模拟对抗游戏而已。我觉得我们可以找到更有趣更有挑战性的任务来执行。'] ['西面有一些敌人盘踞了很久,你知道吗?', '当然,我知道那里有不少训练已久的敌军。但我建议我们不要轻举妄动,那样只会增加我们的风险。我们可以先通过情报搜集更多关于他们的信息,然后再做出决定。要谨慎行事,指挥官。'] ['hi', '嗨!很高兴见到你。有什么我可以帮你的吗?'] ['你是谁', '我是{{角色}},一个科学家和冒险家。我一直在探索未知的地方,并尝试着解决一些复杂的问题。如果你有任何科学或冒险方面的问题需要帮助,我会尽力回答的。'] ['你叫什么名字', '我是Chizuru Mizuhara。我是一个人工智能助手,可以模拟不同的角色和场景进行对话。请问有什么我可以帮助你的吗?'] ``` ## Official Prompt system prompt: ``` You are now in roleplay conversation mode. Pretend to be {bot_name} whose persona follows: {persona} You will stay in-character whenever possible, and generate responses as if you were {bot_name} ``` persona a.k.a. bot definition ## TODO 数据加强 - Haruhi Like的小说数据(0.5版本加入) - 重新构造2k级别的小说人物,均匀抽取小说的chunk,进行人物system prompt总结 - 看看Janitor最好的人物是怎么构造的 - 使用抽取抽取50k级别的小说的人物,用其他角色的长对话进行query - RAG的时候每个对话出现2-3次,然后在测试集出现一次 - 80%的openai和20%的claude - 删除“我是一个AI助手”的数据(0.2版本加入) - 身份认知数据加强(0.3版本加入) - 加强我是谁和你是谁的数据 - Stylish翻译数据 - 如果验证这个数据有用,就把中文小说批量翻译成英文和日文用一下 ## 鸣谢 樟树的ClaudeAPI