必需的前提:
(1)1个GPU,本文使用的是nvidia的,amd应该也可以但我没试过。显存6G或以上,大于等于16G更好;
(2)科学的上网;
(3)Windows系统。 linux系统也是可以的,但是我没完整地试过。本文以Windows为准。
另外最好会一些英语,因为目前KoboldAI对话模型对中文的支持都很差,当然可以用OpenAI的API。使用翻译插件也可以。
本文主要是说明KoboldAI的本地部署,如果利用Google Colab云端部署或使用OpenAI的API可参考该文章
https://www.bilibili.com/read/cv22355581?from=search
0.英语能力好的可直接看官方教程
https://github.com/TavernAI/TavernAI
https://github.com/KoboldAI/KoboldAI-Client
1.配置TavernAI
(1)下载和安装Node.js
打开下面的地址
https://nodejs.org/download/release/v19.1.0/
选x64.msi结尾的,下载后以管理员身份打开安装程序,一路Next直到安装好。
(2)下载和安装TavernAI
https://sourceforge.net/projects/tavernaimain/files/TavernAI.rar/download
下载后解压,打开里面的TavernAI.exe,浏览器会弹出TavernAI的页面,默认地址为127.0.0.1:8000。
2.配置KoboldAI
(1)下载和配置
https://github.com/KoboldAI/KoboldAI-Client/archive/refs/heads/main.zip
解压,用管理员身份打开install_requirements.bat,出现下图所示界面:
输入1回车,然后等待漫长的下载过程。如果失败了,很可能是网络问题,尝试打开(关闭)科学上网,然后再次用管理员打开install_requirements.bat,这时它会问你要不要删除上次已经安装的内容。选哪个都可以,为了省时间可选2,然后回车。然后继续安装过程。
配置完成后,打开play.bat,等待他加载一会,出现如下信息,说明已经开启:
浏览器输入127.0.0.1:5000进入KoboldAI的UI页面:
(2)选择和加载模型
在KoboldAI的UI页面,点击左上角的AI,然后会出现模型列表:
说实话这些模型太多了,我也没有一一去研究,部分模型的说明参考
https://github.com/KoboldAI/KoboldAI-Client
的Models the Colab GPU can run的内容,如下图。
注意各个模型具有不同的风格。比如说如果需要Adventure那么要选择Style里有Adventure的。
注意模型的大小,选太大的模型会爆显存无法加载。6B或6.7B的需要16G显存,2.7B的需要8G显存,1.3B的需要6G显存,甚至还有125M的可能2G显存也能加载?至于13B或20B的...大概只有专业卡可以跑。实际上也不一定需要把模型都加载到显存里,但是那样会很慢。
这里我以Erebus-6.7B为例。首先点击NSFW Models,再点击Erebus 6.7B(NSFW),然后点击下面的Load。
第一次要下载模型,注意观察KoboldAI - Server的命令行,查看下载进度,如果报错了就关掉命令行重来。如果出现Http报错可能要把科学上网关掉(或开启)。
下载好了后它可能会用CPU加载模型,如果出现这种情况就关掉KoboldAI并重新打开play.bat。再次加载模型应该会出现类似于下图的界面,其中在下方第一个横条选择加载到显存里的layers,拉到32就是全都加载到显存里。如果小于32,在对话的时候就会比较慢(似乎越小越慢?),但是这样可以省一些显存。第二个横条是加载到硬盘里,该横条如果选择了大于0的值同样会比较慢。
加载好了后就可以到TavernAI里面开始对话了。另外可以直接在KoboldAI的页面输入一段话,然后让AI根据你的输入生成小说。
3.使用
TavernAI的主界面有很多别人做好的人物预设可以直接点击就用。
也可以自己捏一个,下一节会讲到。点击右上角三个横杠的图标,在出来的栏里面点击Settings,然后在API url里面输入上一步中KoboldAI的UI页面地址(直接从浏览器复制)。点击Connect连接KoboldAI模型。当下面的小圆点是绿的时候说明OK了,如果小圆点是红的说明KoboldAI模型没加载上或者你地址输错了。
然后点击Characters,会出来人物列表,可看到官方已经有3个预设人物。随便点一个就可以开始对话,如下图
如果对话的时候AI的输出不完整或者持续输出相同的内容,试着按下回车看看还有没有后续输出,如果还是有问题可能是爆显存了,这种情况你可能需要使用更小的模型或者在加载模型时减少加载到显存里的layer数量。查看KoboldAI的命令行以获取具体信息。
4.设定人物
开启对话后,右边会多出一个人物名字的选项卡,比如这里是Megumin,点击后会出现人物各种属性设定。点击Advanced Edit出现更多设定:
这些设定可以直接修改,但是必须重启对话才生效。重启对话通过点击对话框左上角三个横杠的图标,再点击“Start New Chat”:
上一章节提到TavernAI提供了一些人物预设,下面这个网站也可以参考:
https://booru.plus/+pygmalion
在该网站中,选择感兴趣的人物图片,点进去,点右上角的三个圆点,然后点击下面的Download original,下载图片。
然后到TavernAI界面,点击Characters里的+Import,导入刚下载的图片:
然后就可以点击人物名字那个选项卡,里面有各种设定信息。
自己设定人物可通过下面的网站:
https://zoltanai.github.io/character-editor/
点右边的New character,然后下面会出现几个文本域,然后你就可以开始写设定了。在Personality中可以使用W++格式写,使模型能够更好地理解你的设定。不知道怎么写可去看看别人写的参考一下。
https://rentry.org/pygtips
下面这个网页是更多W++格式的例子。
https://rentry.org/f3a52
然后在Scenario(对话场景)和Example Messages(对话示例)里使用{{char}}代替人物名字,用{{user}}表示你自己。最后上传图片,点击最下面的导出Export as Image就OK了。之后到TavernAI界面,点击Characters里的+Import来导入。
5.一些参数
TavernAI的Settings选项卡里可以看到一些可以调节的参数。这些参数涉及到学术领域的一些内容,我也不是很明白,你可以去网上查找有关资料。
Temperature:调高了使AI的输出更具随机性,同时会提升生成跟上文没有关系的内容或者答非所问内容的概率。调低了使AI的输出更稳定,但可能会使你觉得对话比较无聊。
Repetition Penalty:调高了可以减少生成重复性的内容。
至于Master Settings里面的参数就更多了,别的我都没研究过,我就说一下Amount of generation和Context Size,前者是每次AI输出回复的最大长度;后者是每次与模型交互时,送到模型里的历史对话+设定的最大长度。不知道怎么调就保持默认不变。
参考文献
[1][AI角色对话]使用KoboldAI与AI猫娘无限制对话(数据私有化/可以NSFW) - 哔哩哔哩 (bilibili.com). https://www.bilibili.com/read/cv22355581?from=search
[2]GitHub - KoboldAI/KoboldAI-Client. https://github.com/KoboldAI/KoboldAI-Client
[3]GitHub - TavernAI/TavernAI: Atmospheric adventure chat for AI language models (KoboldAI, NovelAI, Pygmalion, OpenAI chatgpt, gpt-4). https://github.com/TavernAI/TavernAI
[4]AI Character Editor (zoltanai.github.io). https://zoltanai.github.io/character-editor/
[5]W++ Examples (rentry.org). https://rentry.org/pygtips
[6]Making a consistent character and the uses of {{user}} & {{char}} (rentry.org). https://rentry.org/OtherCharAiGuide
[7]Moose's Guide to DIY Roko! (TavernAI/OpenAI) (rentry.org). https://rentry.org/moosetavernai文章来源:https://www.toymoban.com/news/detail-499142.html
[8]+pygmalion (booru.plus). https://booru.plus/+pygmalion文章来源地址https://www.toymoban.com/news/detail-499142.html
到了这里,关于TavernAI+KoboldAI本地部署实现AI对话的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!