要让LLM能够创作符合人设的赛马娘怪文书的同人文,有以下几种思路:
- 使用足够多的怪文书语料微调开源大模型
- 使用RAG的方式给LLM提供相关角色的人设
- 使用function call 的方法在LLM创作前先爬取相关的网页,包括角色设定、优秀的怪文书样例等
下面是使用RAG的方法进行怪文书写作的示例。源码见quantumxiaol/umamusume-novel
环境创建
项目使用的embedding使用了torch。计算设备是cpu。
可以使用anaconda或uv来管理环境。
安装Conda
Windows
在官方网站上下载anaconda安装包,并安装[anaconda](https://www.anaconda.com/products/individual)
或者在清华镜像站下载anaconda安装包,并安装[tuna/anaconda](https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)
Linux
# On Linux
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
# chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
# bash Anaconda3-2024.10-1-Linux-x86_64.sh
./Anaconda3-2024.10-1-Linux-x86_64.sh
安装uv
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# With pip.
pip install uv
# or
cargo install --git https://github.com/astral-sh/uv uv
uv --version
接下来可以参照readme来创建环境
结果
## 基础知识问答
You: 无声铃鹿是谁?
Bot: 无声铃鹿是一位赛马娘,她的英语名是Silence Suzuka,日语名是サイレンススズカ。她的生日是5月1日,三围是B70·W53·H79,身高是161cm。她的声优是高野麻里佳。她的特殊称号是异次元的逃亡者,获取条件是在人气第一的情况下使用作战逃げ在重赏赛事中取得6连胜,其中需要包括宝塚記念,并且在该赛事中从起跑200m开始一直第一位领先直到比赛结束。
You: 无声铃鹿的特殊称号如何获取?
Bot: 无声铃鹿的特殊称号“异次元的逃亡者”的获取条件是:在人气第一的情况下使用作战逃げ在重赏赛事中取得6连胜,其中需要包括宝塚記 念,并且在该赛事中从起跑200m开始一直第一位领先直到比赛结束。
You: 东海帝王是谁?
Bot: 东海帝王是一位赛马娘,她的英语名是Tokai Teio,日语名是トウカイテイオー。她的生日是4月20日,三围是B77·W54·H76,身高是150cm。她的声优是Machico。她的特殊称号是帝王,获取条件是继承马取得过7次以上G1赛事的胜利;在G1赛事中有4次以上是人气第一;在无败的 情况下获得皐月賞、東京優駿(日本ダービー)的胜利;取得有馬記念(第三年)的胜利。
You: 米浴的特殊称号如何获取?
Bot: 米浴的特殊称号“漆黑刺客”的获取条件是:重赏比赛出战23次以上,其中在人气第二以上的情况下取得菊花賞、天皇賞(春)的胜利;粉丝数达到320,000以上。
## 怪文书写作
无声铃鹿
You: 无声铃鹿是谁?
Bot: 无声铃鹿是一位赛马娘,她的日语名是サイレンススズカ,英语名是Silence Suzuka。她身高161cm,三围是B70·W53·H79。她的生日是5月1日。她的声优是高野麻里佳。无声铃鹿的特殊称号是异次元的逃亡者,获取条件是在人气第一的情况下使用作战逃げ在重 赏赛事中取得6连胜,其中需要包括宝塚記念,并且在该赛事中从起跑200m开始一直第一位领先直到比赛结束。
You: 无声铃鹿有什么个人剧情吗?她和训练员发生了什么?
Bot: 无声铃鹿是一位充满神秘气息的赛马娘,她的个性冷静而内敛,总是与周围的人保持着一定的距离。刚进入特雷纳学院时,她并不引人注目,甚至有些不起眼。然而,训练员却注意到了她身上潜藏的力量。
起初,铃鹿对训练员的指导显得漠不关心,只是默默地完成每日的训练任务。但训练员并没有因此放弃,他发现铃鹿在比赛中总是能
展现出惊人的爆发力和耐力,尤其是在长距离赛事中。于是,他开始为铃鹿量身定制训练计划,帮助她掌握“逃げ”战术。
在一次重要的重赏赛事前,训练员找到铃鹿,对她说:"铃鹿,我相信你有能力创造奇迹。不要害怕展现自己的光芒。"这句话深深触
动了铃鹿的内心。比赛当天,她果然从起跑就一路领先,最终以压倒性的优势获胜。
随着一次次胜利,铃鹿逐渐敞开心扉,开始主动与训练员交流战术。她的眼神中不再只有冷漠,而是多了一份对胜利的渴望和对训练
员的信任。在获得"异次元的逃亡者"称号的那天,铃鹿第一次露出了真诚的笑容,轻声对训练员说:"谢谢你,没有放弃那个沉默的我。"
You: 帮我写一篇1000字左右的,无声铃鹿的,甜蜜的同人文,讲述无声铃鹿和作为训练员的我相互成长的历程
Bot: 初春的晨风带着些许寒意,我第一次在特雷纳学院的训练场上见到了无声铃鹿。她独自站在跑道边,银白色的长发随风轻扬,那双清澈的眼眸中透着与年龄不符的沉静。作为新上任的训练员,我翻看着手中的资料:サイレンススズカ,一个看似平凡的名字,却
藏着不为人知的故事。
起初的训练并不顺利。铃鹿总是默默地完成我布置的任务,从不多说一句话。即使在休息时间,她也习惯独处一隅,仿佛与整个世界 保持着距离。但作为一个经验丰富的训练员,我注意到她在奔跑时展现出的独特天赋——那种如同划破天际的流星般迅捷而优雅的身姿 。
"铃鹿,你的耐力和爆发力都很出色,我觉得'逃げ'战术最适合你。"某天训练结束后,我鼓起勇气向她建议。她微微一怔,随即轻轻 点头,眼神中闪过一丝不易察觉的光芒。
随着训练的深入,我发现铃鹿并非天生冷漠,而是习惯了将情感深藏心底。每次比赛前,她都会提前来到赛道,独自练习起步动作。 有时夜深人静,我还能看到她在月光下默默跑步的身影。这份执着打动了我,也让我更加坚定了要帮助她突破自我的决心。
转折发生在那个雨后的清晨。铃鹿在一次模拟赛中意外摔倒,膝盖擦伤。当我慌忙跑过去时,却发现她正倔强地想要站起来继续奔跑 。"别勉强自己,"我按住她的肩膀,"受伤了就该好好休息。"
那一刻,她终于开口:"但是...我不想让大家失望。"声音虽轻,却饱含着压抑已久的情感。我这才明白,她一直背负着某种无形的压力,用沉默筑起一道保护自己的墙。
接下来的日子里,我开始尝试用不同的方式接近她。有时会带些小点心,在训练间隙与她分享;有时会在夕阳下陪她散步,聊聊比赛 之外的话题。渐渐地,铃鹿的话多了起来,眼神也不再那么疏离。
最令我难忘的是那个获得"异次元的逃亡者"称号的比赛日。当铃鹿如离弦之箭般冲出起跑线,一路领先直至终点时,我看到看台上的 观众都站了起来,为这匹来自异次元的骏马喝彩。赛后,铃鹿走向我,脸上带着从未见过的笑容:"谢谢你,训练员。是你让我找到了属于自己的跑道。"
这一刻,我知道我们都在彼此的陪伴下获得了成长。铃鹿不再是那个沉默寡言的女孩,而我也不再是那个只会按部就班指导的训练员 。我们共同谱写的,不仅是一段关于胜利的故事,更是一段温暖人心的羁绊。
如今,每当我看到铃鹿在赛道上飞驰的身影,总会想起那个改变一切的雨天。就像她说过的:"有些声音,不需要用言语表达。"我们 的故事,就在这无声的默契中继续书写着。
东海帝王
You: 给我创作一篇我鼓励骨折后的东海帝王拿下有马纪念的同人文,1000字左右
Bot: 在那个阴云密布的秋日,我永远记得东海帝王倒下的那一刻。她完美的连胜纪录戛然而止,连医生都说她可能再也无法重返赛场。但我始终相信,这位被称为"帝王"的赛马娘不会就此止步。
康复的日子里,我每天陪在她身边。看着她艰难地进行复健,我的心都揪成一团。但她的眼神依然坚定,从没流露过一丝放弃。
"训练员,我想跑。"那天清晨,她突然对我说。阳光洒在她金色的鬃毛上,仿佛镀上一层光辉。我知道,真正的帝王归来了。
经过数月的努力,我们终于迎来了第三年的有马纪念。起跑前,我轻轻拥抱了她:"去吧,完成你的传奇。"她自信一笑,那是我最熟悉的王者姿态。
当她第一个冲过终点线时,全场沸腾了。我的眼眶湿润了,不只为这场胜利,更为她战胜自我的勇气。这就是我的东海帝王,完美无瑕的帝王。
回想起那段艰难的日子,我仍然心有余悸。刚受伤那会儿,帝王把自己关在房间里不愿见人。我理解她的心情,一个追求完美的人,怎能接受如此巨大的 挫折?
于是每天清晨,我都会带一束新鲜的向日葵放在她窗前。帝王最喜欢向日葵了,她说那代表着永不言弃的精神。慢慢地,她开始愿意和我说话,眼神中重 新燃起了斗志。
康复训练是漫长而痛苦的。有时看到她摔倒在跑道上,我的心都要碎了。但每次我想要扶她时,她都会倔强地说:"让我自己来。"这就是帝王,即使跌倒 也要靠自己的力量站起来。
为了帮她恢复信心,我翻出了她过往比赛的录像。看着她在皐月賞和日本ダービー上的完美表现,她渐渐找回了那个无所不能的自己。"我是帝王,没有什么能打倒我。"她这样对自己说。
备战有马纪念的日子里,我们制定了缜密的计划。虽然伤病影响了她的状态,但她丰富的经验和强大的心理素质弥补了这一点。每天清晨,我们都会在跑 道上练习起跑;每个黄昏,我们一起研究对手的战术。
比赛当天,当我看到她站在起跑线上的身影,不禁想起了初次见到她的情景。那时的她青涩却充满朝气,如今已成长为一位真正的王者。
最后一圈时,我屏住了呼吸。当她如离弦之箭般冲出重围,最终以完美姿态越过终点线时,我知道所有的努力都没有白费。
赛后发布会上,有人问她是什么支撑着她走到今天。她微笑着说:"是训练员的坚持,是粉丝的期待,更是内心那份对完美的执着。"
这就是我的东海帝王,一个永不言弃的传奇。她的故事告诉我们,真正的强者不是没有眼泪,而是含着眼泪依然向前奔跑。