oobabooga-testbot插件的使用教程

第一部分oobabooga-text-generation-webui
4.为什么我推荐大家使用oobabooga-text-generation-webui。

这部分主要是我的主观想法,大伙就当做安利就行了。
我个人对于语言模型非常感兴趣,(主要是因为想要一个个人助理),从openai发布chatgpt开始我就开始广泛的关注小模型。然而初期各种模型对于我这种不太会编程的人而言门槛太高了,很多模型我都跑不起来。
而在大量关注小模型的时候,我注意到国外的小模型发展速度非常快,从RWKV,alpaca,Vicuna,到wizard,stableVicuna,小模型的迭代速度非常的快,几乎每隔几天就有一个新的模型出现,我很希望更多人能够参与到这场变革中来,oobabooga-text-generation-webui就是一个非常好的抓手。oobabooga-text-generation-webui作为语言模型启动器,对于模型的支持范围可以说是最广的,同时高效的模型加载方式,很大程度上满足了我对于大量模型测试的需求。同时,自带的人设加载功能,也很好满足了我对于个性化的需求。
如果你也和我一样,对于小模型有很浓厚的兴趣,而且希望在模型发布的时候就能第一时间玩到,那我强烈推荐你使用。

4 个赞

第二部分插件使用以及人设文档创建
1.插件安装

在koishi的插件市场搜索oobabooga


点击添加就可以安装了

在插件配置页面进行配置即可正常使用:

oobabooga启用api服务
接下来我将讲解如何打开oobabooga的api选项,让插件可以调用本地的oobabooga。
我们来到oobabooga文件夹下,选中webui.py
image
右键使用记事本打开。
向下找到146行


添加该选项,然后保存并关闭,正常启动webui,
你可以在Interface mode选项卡中
看到:

这样api服务就正常启动了,你的插件应该可以通过默认的url地址调用oobabooga了。

3 个赞

第二部分插件使用以及人设文档创建
2.插件使用教程
截止到5月24日,插件版本号是1.2.0
插件提供了多样化的指令:

  • [oob]
  • [oob.check]
  • [oob.del]
  • [oob.list]
  • [oob.load]
  • [oob.reset]
  • [oob.tag]
  • [oob.undo]

我们先来看看配置页面:


apiURL是用来填写你的oobabooga的api地址的。想要开启oobabooga的api,请看楼上。

用户使用逻辑如下:
首先我们先试用oob.list指令查看当前的人设
image
然后我们使用oob.load指令,加载我们想要使用的人设
image
在插件文件夹内,将会创建一个新的历史记录


然后我们才可以使用oob与模型进行对话
oob指令是基础指令,通过使用oob指令可以直接与模型对话
image
历史记录将会实时保存在对应文件内,同时historylimit将会限制上下文长度,具体取决于你的设置。

使用oob.undo指令,可以撤回刚刚的一个提问
image

使用oob.reset指令,可以重置当前会话的历史记录
image

使用oob.del指令,可以删除当前的会话,来加载新的人设。
image

oob.tag指令可以,让Ai帮助补充tag,进行绘图。
image

oob.check指令是一个检查指令,它会检查是是否已经存在会话了
image

现在的插件已经支持昵称与@唤醒
image

5 个赞

oobabooga!oobabooga!

3 个赞

很看好这这个项目,不过因为我的英文水平奇差,很多优秀的英文模型我都无法完整体验,如果有这方面的解决办法就好了。
我的办法是接一个中文翻译或者提高我自己的英语水平(这个有点难)

4 个赞

昨天回复数量达到上限了,今天继续

第二部分插件使用以及人设文档创建
3.建立自己的人设文档
请注意,人设文档完全在本地读取和保存,每次插件更新都会导致其清空,请注意自己留存备份。

首先我们来到
koishi-plugin-oobabooga-testbot\lib\characters
文件夹下
image

使用记事本打开任意一个人设文件,你会发现人设文件的格式都是类似的。

人设文件由两部分组成:
基础人设+示例对话

人设文件实际上是以数组的形式存放的,这里是一个比较好理解的例子:
[“Hello”,“Hello”]
这样就组成了一组对话。

但我们的人设文件还要再稍微复杂一些,你可以看到,我们首先给出了一段人设:
“你是人工智能语言模型,你将会用中文回复,你将作为助手,给出有帮助且友善的回复。你只需要作为助手回复。”

然后在标准的对话例子中增加了开头结尾,这里是一个例子:
[“You: ||Hello||”,“Assistant: ||Hello||”]

这是为了让模型更好的认识到哪些是人设,哪些是示例对话。同时规范模型的返回格式,以方便我们后续的处理。

请注意你的人设文件名称:


这是Aqua人设的内部,你可以看到这里的会话格式变成了:
[“You: ||Hello||”,“Aqua: ||Hello||”]
这是因为插件会自动识别人设文件的名称,让模型扮演角色,这样可以让模型的回复更加符合人设。

现在你已经大致了解了人设文件的格式了,你可以尝试性的创建一个自己的人设了。
进一步讨论请到qq群:719518427

2 个赞

接下来我将会讲解github上分步手动搭建流程。
上面忘记讲了,现在补充一下

首先你需要安装Conda或者WSL
这里的话我就不具体讲解如何安装了,b站教程很多,大家自己学习一下就行。

以下我将会以安装了conda虚拟环境的方式继续
首先创建虚拟环境:
conda create -n textgen python=3.10.9

激活conda
conda activate textgen

然后根据你的系统,安装Pytorch
image

然后安装oobabooga
image
cd进入文件夹
cd text-generation-webui

安装依赖
pip install -r requirements.txt

等待依赖跑完就算安装完成了。
更多细节请前往github页面:GitHub - oobabooga/text-generation-webui: A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, Pythia, OPT, and GALACTICA.

2 个赞

教程部分基本上完结了
如果之后还有其他想得到的东西,就之后再添加了。

这层楼将作为问题回复与报错汇总。
如果各位有任何问题的话都可以在这里留言,报错的话请附上截图。我看到的话会一一回复的。
也可以前往qq群,一起讨论:719518427

2 个赞

加了点超链接方便阅读
首先先介绍一下oobabooga-testbot插件。
oobabooga-testbot插件是一个基于oobabooga-text-generation-webui语言模型启动器的qq机器人插件,实现了一些基本的指令。支持vits语音回复,支持AI补充tag调用插件绘图等功能。
npm:https://www.npmjs.com/package/koishi-plugin-oobabooga-testbot
github:GitHub - HunterShenSmzh/koishi-plugin-oobabooga-testbot: 一个基于oobabooga-text-generation-webui语言模型启动器的qq机器人,实现了一些基本的指令。支持vits语音回复,支持AI补充tag进行绘图。

考虑到oobabooga-text-generation-webui在国内的使用人数较少,大家也都不太熟悉,所以本贴将从包含了从搭建webui开始的以下几个方面,逐步为大家讲解:
PS:如果想查看插件使用教程请直接转跳第二部分
oobabooga-text-generation-webui的github页面:

第一部分oobabooga-text-generation-webui
1.oobabooga-text-generation-webui是什么?
2.oobabooga-text-generation-webui的主要功能有哪些?
3.oobabooga-text-generation-webui如何本地搭建。
3.1github一键安装流程
3.2 下载模型与启动
3.3oobabooga使用界面介绍
3.4手动分步安装
4.为什么我推荐大家使用oobabooga-text-generation-webui。
第二部分插件使用以及人设文档创建
1.插件安装
2.插件使用教程
3.建立自己的人设文档

答疑与报错汇总

4 个赞

我做了一个docker镜像, initialencounter/text-gen-webui - Docker Image | Docker Hub

usage

docker run --gpus all -d -it -p 7860:7860 initialencounter/text-gen-webui:latest

start

conda activate textgen; 
cd /text-generation-webui; 
python server.py --api --listen --listen-host "0.0.0.0" --listen-port 7860
4 个赞

如果你在加载chatglm时,弹出了这个报错:


那么请按照以下方法打开选项:

请注意chatglm需要打开trust_remote_code选项

请前往根目录,找到webui.py文件
NB$V96LIYJ$SARYAU$C01RQ
右键选择记事本打开,在140-180行之间寻找以下代码:
TJKD$@TG15PG$1S@Z0`$EOO
将其修改为:


这样就能开启trust_remote_code选项了

或者可以再webui中进行调整:


勾选好后,选择
UCN9ZXTK@SFV6X@CGA526H
就可以正常加载模型了。

2 个赞

报错代码
这是安装oobabooga时候发生的报错:

这代表依赖未完全下载,出现的原因一般是因为你的网络环境不稳定,可以的话请更换节点后再次运行安装程序,如果不行的话就请按照以下内容进行。

再次安装依然失败的情况:
如果依然失败请先关闭当前控制台,然后随便进入一个外国网址确定你的梯子没有问题后,再进行以下步骤。
进入根目录:
L1{@B)_6LBG`5FT7MI6)B

依赖安装错误这个问题一般发生在安装完成miniconda,并且成功git clone了github项目之后,这时你的miniconda一般是没有问题的,你的更目录应该和图片一样,存在一个叫做text-generation-webui的文件夹。如果没有请你不要继续并前往qq群提问。qq群号:719518427

确定文件存在后你可以继续操作了:
为了解决这个问题我们需要首先进入miniconda。
双击运行cmd_windows.bat文件
这时会弹出一个黑色的窗口:

输入:cd text-generation-webui
然后输入: pip install -r requirements.txt
这时程序应该开始安装了:


安装完成后oobabooga应该就可以正常运行了。


如果在安装过程中依然报错:

现在请你到更目录,进入text-generation-webui,找到requirements文件:
H2SDR}Q

打开后,删除z这三行,并保存退出:

然后回到根目录,找到cmd_windows.bat,双击运行重新创建一个新的控制台:
依次输入并回车
pip install peft
pip install transformers
pip install accelerate
cd text-generation-webui
pip install -r requirements.txt
然后等待安装完成。
完成后,请回到根目录。
运行update_windows.bat来检查一遍所有依赖
如果正常完成:


那么你的oobabooga应该就可以正常工作了。
如果还未解决问题,那么就请你到qq群给出具体问题后提问,群号:719518427

1 个赞

无法与模型对话或webui没有反应

请检查你是否开着clash,现在已经确定clash开启后无法正常启动oobabooga,V2ray也有问题,不可以保持开启。

修复方法:没有
更新的时候开clash,启动的时候关clash吧,我也是这么干的。悲(

2 个赞

附加内容:
更新oobabooga

首先启动你的科学上网。
然后在根目录找到一个叫做update_windows.bat的文件。
双击运行。
等它跑完。
就行了。

不建议过度频繁的更新,有可能导致oobabooga不稳定。

2 个赞

oobabooga-testbot
更新:oobabooga-testbot (1.2.5 → 1.3.0)

更新内容:
调整了用前须知,更新了新版本oobabooga的调用格式,增加更多高级选项。
优化了oob.tag指令,新增oob.readMetadata指令,读取png格式的人设文件,读取转化为json格式的人设文件,进一步处理等下个版本发出。

人设网址分享与处理:
(需要科学上网,直接下载人设png图片文件放入插件根目录下的PNGfile文件,使用oob.readMetadata,就会自动在Metadata文件夹下生成人设文件,需要手动进一步处理)
https://www.characterhub.org/

https://booru.plus/+pygmalion

2 个赞

oobabooga-testbot
更新:oobabooga-testbot(1.3.0→1.3.9)

更新内容:
更新了新的命令oob.translate
使用此命令可以让AI翻译文本内容,如下图。
}KEQC6AJ4(IO5~WM99TY`5

新增人设处理指令oob.metadataprocess
这个指令需要和之前的oob.readmetadata配合使用,还在实验中,建议等下个版本完善后再使用。

3 个赞

oobabooga-testbot
更新:oobabooga-testbot(1.3.9→1.4.5)

更新内容:
调整了用前须知,优化了部分代码格式,终于找到了模型不会自动断句的原因所在,已经修复了,增加更多指令。
增加新选项,在没有选择人设的时候会自动加载某个人设。

整合oob.Metadata指令,将PNGfile文件夹中的所有PNG图片的元数据存储在Metadata文件夹中,处理结果保存在Sorted文件夹中。
TSVC{@XJ}T5HP6ZFA@W

优化了部分人设文档

2 个赞

oobabooga-testbot
更新:oobabooga-testbot(1.4.5→1.5.0)

更新内容:
增加新选项,是否开启自定义断句处理等。

新增私聊功能与相关选项,私聊中不需要使用oob前缀就可以直接触发。


FS}WV)@1W2516R`)VS07$N

:stop_sign: 优化了人设文档格式 :stop_sign:
重要内容

现在的人设文件不需要按照之前的格式进行编写了:

如图所示,现在的人设文件只需要
首先给出一段人设:
[“你是人工智能语言模型,你将会用中文回复,你将作为助手,给出有帮助且友善的回复。你只需要作为助手回复。”]
然后在标准的对话例子中增加开头:
[“You: Hello”,“Assistant: Hello”]

连起来形成:
[“你是人工智能语言模型,你将会用中文回复,你将作为助手,给出有帮助且友善的回复。你只需要作为助手回复。”,“You: Hello”,“Assistant: Hello”]
即可。

如果你之前已经创建过老的人设文件了,希望继续使用的话,可以使用新的选项开启自定义断句处理

并且在下面写入人设当中的对应分隔符,比方说你之前的自定义人设都是老版本的,那就可以使用默认的"||"符号,来继续保持老版本的处理方式。

3 个赞

oobabooga-testbot
更新:oobabooga-testbot(1.5.0→1.5.1)

更新内容:
应用户反馈,更新了自动回复不触发私聊的功能,顺带把介绍格式修了一下

4 个赞

oobabooga-testbot
更新:oobabooga-testbot(1.5.1→1.5.5)

更新内容:
应用户反馈
新增自定义人设目录选项,方便人设管理。

新增oob.Metadata指令处理后的文件存储目标目录,方便直接查看。

3 个赞