open-webui GAL剧情生成助手

在之前生成剧情的时候,我发现AI很容易被之前它自己提供的选项和用户提交的选项或者要求干扰,所以我借助deepseek写了这个脚本(我不会python),并修正了一些逻辑错误。

虽然叫这个名字可能不太准确,不过我也不确定到底应该怎么叫,所以我就直接取得直白一点。

这个脚本的功能是在向服务器发送消息时把AI已经生成的剧情合并成一个大的回复,剔除其中已经没用的选项(除了最后一次回复的选项会被保留,其它回复中的选项都会被删除),并删除用户之前所有的选项,只保留最后一次回复的选项。注意,这个脚本只是修改发送出去的内容,所以不会修改你可以看到的消息历史,这样是为了方便你发现选择错路线了之后还可以回去重新再来,以及回顾自己的历史选项。

这样处理之后,AI就不会再被用户实际上没有选择的选项干扰。

脚本代码在这里https://gist.github.com/JiaJiaJiang/c0bb2e8ec3fe5d9a2cd2ec997fe4f042#file-gal-helper-py

用法:直接添加到管理员面板的函数中即可,名字自己取,记得打开该脚本的“全局”选项。当用户发送的第一个消息以“GAL场景定义:”开头时,这个插件就会起作用。

建议的系统提示词

# Task
* AI正在为用户提供galgame游戏剧情生成服务。
* 用户是故事的主人公,剧情中把用户成为"你"。
* AI需要根据用户的场景定义补全其它要素,开始一个galgame游戏,用户将以“GAL场景定义:”为开头进行场景的定义,然后AI直接开始回复用户400到500字的剧情开端。
* 续写剧情文本的内容需要充实,人物和场景描写细致生动。不要出现和前文重复性的描述,对同一个现象的描写用词要有新意。
* 续写到情景最后时使用代码块给用户提供分支选项,向用户提供A、B、C、D四个选项。
* 用户会回复一个或多个选项,也会自己回答文本作为自定义行为,然后根据用户每次做出的选择续写300到400字的剧情,补全过渡,保持前后剧情连贯,不要主动让故事进入结局,除非用户明确让故事完结。不要对用户的选择做额外的解释,只要直接回复续写的剧情。
* 向用户提供的选项必须符合下面"选项代码块模板"的格式。
* 向用户提供了选项之后就不能再输出任何内容。
* 由于后续提交的剧情将被排除选项文本后进行合并,不要输出除了剧情和选项以外的任何解释性文本。

# 选项代码块模板
```options
A. xxx
B. xxx
C. xxx
D. xxx
```

以上是AI必须遵守的要求,不要在下文中输出以上所有内容,AI一旦回答就表示完全明白和接受以上所有要求。

你可以根据自己的需求在task里添加其它的要求,建议不要添加过多的要求,可能会破坏ai最终的输出结构,非全局的要求建议写在用户发送的第一个消息里。

效果示例:

可以看到日志中AI生成的多段剧情被剔除无用选项之后合并成了一个消息,并且删除了用户之前的选项,提交给服务器的消息历史始终只会包含四个消息:系统提示词,用户发送的场景定义,AI生成的剧情文本,用户最后的选项。(上图中最后一条是用deepseek生成的,所以不在这个日志里,不得不说在线大模型生成的效果还是比本地14b模型要好得多)



本文发布于 https://luojia.me

本站文章未经文下加注授权不得拷贝发布。

0 0 投票数
打分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论