oobabooga-testbot
更新:oobabooga-testbot(3.6.0→3.8.0)
3.6.0到3.7.1之间的都是小的优化和bug修复,重点在3.7.1到3.8.0的更新。
3.8.0大更新哦
增加了人设背景库系统
效果演示:
看起来好像没什么区别是吧,正常在人设加入这些信息就能让它回复这些。
但这里是使用的人设:
你可以看到,人设内完全没有这些信息,那么她是从哪知道的呢?
就是从新的人设背景库。
新的人设背景库提供了一种不需要占用宝贵的人设空间的,灵活增加设定的方法。
PS:你甚至可以直接把它当做知识库来使用。
使用方法
首先你需要打开emb向量库
.emb向量库是必须的
.
然后打开这个开关:
koishi插件目录下新增了background目录,进入其中。
默认只提供一个咕咕白的背景,如果你没有给人设配置背景库也不会影响人设正常使用。
每个人设都可以配置一个同名字的背景信息库。
其内部构造为基础数组结构,你可以随意增减其中的条目:
注意格式,别改错了,改好后保存即可。
接下来是如何使用。
在打开这个按钮后:
会多出来一个指令,叫做oob.pretreat
你需要运行这个指令对所有的人设背景库进行预处理。
处理完成后会提示:

文件夹内会多出-background的文件:
预处理只需要进行一次,重启koishi也不会消失,背景库向量化后是固定且写入文件的。
根据你的背景库大小,以及模型与emb模型性能,其处理时长可能也会不一样。
注意,在你进行处理后,背景库就确定了,要进行修改的话,你需要删除新出现的-background文件,然后再次运行oob.pretreat,指令只会处理没有背景库的人设,已经处理好的不会重复处理,所以只要删掉你要修改的就行。
如果你不想提前处理的话,在oob.load加载人设的时候,程序也会尝试自动进行处理。也就是说,如果你不提前做好处理的话,加载人设的时间可能会变得很长。
原理讲解
人设背景库其实是emb模型的另一种用法,在我们运行oob.pretreat的时候,程序会将人设背景库内的文本逐条进行向打标并向量化,然后存入每个加载人设的用户的独立记忆库内,通过tag检索与语意向量相似度的计算,动态的插入system prompt内,做到动态的调整,只将需要的内容实时添加到人设内,这样就大幅度节约了系统人设的token长度,变相提高了效率。
后续将会将这套系统增加并逐步更新为更高级的worldbook系统,并添加到knj内,理论上应该会能让模型运行一个简单的模拟场景系统。(前提是我有空摸鱼)