必需的前提:
(1)1個(gè)GPU,本文使用的是nvidia的,amd應(yīng)該也可以但我沒(méi)試過(guò)。顯存6G或以上,大于等于16G更好;
(2)科學(xué)的上網(wǎng);
(3)Windows系統(tǒng)。 linux系統(tǒng)也是可以的,但是我沒(méi)完整地試過(guò)。本文以Windows為準(zhǔn)。
另外最好會(huì)一些英語(yǔ),因?yàn)槟壳癒oboldAI對(duì)話模型對(duì)中文的支持都很差,當(dāng)然可以用OpenAI的API。使用翻譯插件也可以。
本文主要是說(shuō)明KoboldAI的本地部署,如果利用Google Colab云端部署或使用OpenAI的API可參考該文章
https://www.bilibili.com/read/cv22355581?from=search
0.英語(yǔ)能力好的可直接看官方教程
https://github.com/TavernAI/TavernAI
https://github.com/KoboldAI/KoboldAI-Client
1.配置TavernAI
(1)下載和安裝Node.js
打開(kāi)下面的地址
https://nodejs.org/download/release/v19.1.0/
選x64.msi結(jié)尾的,下載后以管理員身份打開(kāi)安裝程序,一路Next直到安裝好。
(2)下載和安裝TavernAI
https://sourceforge.net/projects/tavernaimain/files/TavernAI.rar/download
下載后解壓,打開(kāi)里面的TavernAI.exe,瀏覽器會(huì)彈出TavernAI的頁(yè)面,默認(rèn)地址為127.0.0.1:8000。
2.配置KoboldAI
(1)下載和配置
https://github.com/KoboldAI/KoboldAI-Client/archive/refs/heads/main.zip
解壓,用管理員身份打開(kāi)install_requirements.bat,出現(xiàn)下圖所示界面:
輸入1回車(chē),然后等待漫長(zhǎng)的下載過(guò)程。如果失敗了,很可能是網(wǎng)絡(luò)問(wèn)題,嘗試打開(kāi)(關(guān)閉)科學(xué)上網(wǎng),然后再次用管理員打開(kāi)install_requirements.bat,這時(shí)它會(huì)問(wèn)你要不要?jiǎng)h除上次已經(jīng)安裝的內(nèi)容。選哪個(gè)都可以,為了省時(shí)間可選2,然后回車(chē)。然后繼續(xù)安裝過(guò)程。
配置完成后,打開(kāi)play.bat,等待他加載一會(huì),出現(xiàn)如下信息,說(shuō)明已經(jīng)開(kāi)啟:
瀏覽器輸入127.0.0.1:5000進(jìn)入KoboldAI的UI頁(yè)面:
(2)選擇和加載模型
在KoboldAI的UI頁(yè)面,點(diǎn)擊左上角的AI,然后會(huì)出現(xiàn)模型列表:
說(shuō)實(shí)話這些模型太多了,我也沒(méi)有一一去研究,部分模型的說(shuō)明參考
https://github.com/KoboldAI/KoboldAI-Client
的Models the Colab GPU can run的內(nèi)容,如下圖。
注意各個(gè)模型具有不同的風(fēng)格。比如說(shuō)如果需要Adventure那么要選擇Style里有Adventure的。
注意模型的大小,選太大的模型會(huì)爆顯存無(wú)法加載。6B或6.7B的需要16G顯存,2.7B的需要8G顯存,1.3B的需要6G顯存,甚至還有125M的可能2G顯存也能加載?至于13B或20B的...大概只有專業(yè)卡可以跑。實(shí)際上也不一定需要把模型都加載到顯存里,但是那樣會(huì)很慢。
這里我以Erebus-6.7B為例。首先點(diǎn)擊NSFW Models,再點(diǎn)擊Erebus 6.7B(NSFW),然后點(diǎn)擊下面的Load。
第一次要下載模型,注意觀察KoboldAI - Server的命令行,查看下載進(jìn)度,如果報(bào)錯(cuò)了就關(guān)掉命令行重來(lái)。如果出現(xiàn)Http報(bào)錯(cuò)可能要把科學(xué)上網(wǎng)關(guān)掉(或開(kāi)啟)。
下載好了后它可能會(huì)用CPU加載模型,如果出現(xiàn)這種情況就關(guān)掉KoboldAI并重新打開(kāi)play.bat。再次加載模型應(yīng)該會(huì)出現(xiàn)類(lèi)似于下圖的界面,其中在下方第一個(gè)橫條選擇加載到顯存里的layers,拉到32就是全都加載到顯存里。如果小于32,在對(duì)話的時(shí)候就會(huì)比較慢(似乎越小越慢?),但是這樣可以省一些顯存。第二個(gè)橫條是加載到硬盤(pán)里,該橫條如果選擇了大于0的值同樣會(huì)比較慢。
加載好了后就可以到TavernAI里面開(kāi)始對(duì)話了。另外可以直接在KoboldAI的頁(yè)面輸入一段話,然后讓AI根據(jù)你的輸入生成小說(shuō)。
3.使用
TavernAI的主界面有很多別人做好的人物預(yù)設(shè)可以直接點(diǎn)擊就用。
也可以自己捏一個(gè),下一節(jié)會(huì)講到。點(diǎn)擊右上角三個(gè)橫杠的圖標(biāo),在出來(lái)的欄里面點(diǎn)擊Settings,然后在API url里面輸入上一步中KoboldAI的UI頁(yè)面地址(直接從瀏覽器復(fù)制)。點(diǎn)擊Connect連接KoboldAI模型。當(dāng)下面的小圓點(diǎn)是綠的時(shí)候說(shuō)明OK了,如果小圓點(diǎn)是紅的說(shuō)明KoboldAI模型沒(méi)加載上或者你地址輸錯(cuò)了。
然后點(diǎn)擊Characters,會(huì)出來(lái)人物列表,可看到官方已經(jīng)有3個(gè)預(yù)設(shè)人物。隨便點(diǎn)一個(gè)就可以開(kāi)始對(duì)話,如下圖
如果對(duì)話的時(shí)候AI的輸出不完整或者持續(xù)輸出相同的內(nèi)容,試著按下回車(chē)看看還有沒(méi)有后續(xù)輸出,如果還是有問(wèn)題可能是爆顯存了,這種情況你可能需要使用更小的模型或者在加載模型時(shí)減少加載到顯存里的layer數(shù)量。查看KoboldAI的命令行以獲取具體信息。
4.設(shè)定人物
開(kāi)啟對(duì)話后,右邊會(huì)多出一個(gè)人物名字的選項(xiàng)卡,比如這里是Megumin,點(diǎn)擊后會(huì)出現(xiàn)人物各種屬性設(shè)定。點(diǎn)擊Advanced Edit出現(xiàn)更多設(shè)定:
這些設(shè)定可以直接修改,但是必須重啟對(duì)話才生效。重啟對(duì)話通過(guò)點(diǎn)擊對(duì)話框左上角三個(gè)橫杠的圖標(biāo),再點(diǎn)擊“Start New Chat”:
上一章節(jié)提到TavernAI提供了一些人物預(yù)設(shè),下面這個(gè)網(wǎng)站也可以參考:
https://booru.plus/+pygmalion
在該網(wǎng)站中,選擇感興趣的人物圖片,點(diǎn)進(jìn)去,點(diǎn)右上角的三個(gè)圓點(diǎn),然后點(diǎn)擊下面的Download original,下載圖片。
然后到TavernAI界面,點(diǎn)擊Characters里的+Import,導(dǎo)入剛下載的圖片:
然后就可以點(diǎn)擊人物名字那個(gè)選項(xiàng)卡,里面有各種設(shè)定信息。
自己設(shè)定人物可通過(guò)下面的網(wǎng)站:
https://zoltanai.github.io/character-editor/
點(diǎn)右邊的New character,然后下面會(huì)出現(xiàn)幾個(gè)文本域,然后你就可以開(kāi)始寫(xiě)設(shè)定了。在Personality中可以使用W++格式寫(xiě),使模型能夠更好地理解你的設(shè)定。不知道怎么寫(xiě)可去看看別人寫(xiě)的參考一下。
https://rentry.org/pygtips
下面這個(gè)網(wǎng)頁(yè)是更多W++格式的例子。
https://rentry.org/f3a52
然后在Scenario(對(duì)話場(chǎng)景)和Example Messages(對(duì)話示例)里使用{{char}}代替人物名字,用{{user}}表示你自己。最后上傳圖片,點(diǎn)擊最下面的導(dǎo)出Export as Image就OK了。之后到TavernAI界面,點(diǎn)擊Characters里的+Import來(lái)導(dǎo)入。
5.一些參數(shù)
TavernAI的Settings選項(xiàng)卡里可以看到一些可以調(diào)節(jié)的參數(shù)。這些參數(shù)涉及到學(xué)術(shù)領(lǐng)域的一些內(nèi)容,我也不是很明白,你可以去網(wǎng)上查找有關(guān)資料。
Temperature:調(diào)高了使AI的輸出更具隨機(jī)性,同時(shí)會(huì)提升生成跟上文沒(méi)有關(guān)系的內(nèi)容或者答非所問(wèn)內(nèi)容的概率。調(diào)低了使AI的輸出更穩(wěn)定,但可能會(huì)使你覺(jué)得對(duì)話比較無(wú)聊。
Repetition Penalty:調(diào)高了可以減少生成重復(fù)性的內(nèi)容。
至于Master Settings里面的參數(shù)就更多了,別的我都沒(méi)研究過(guò),我就說(shuō)一下Amount of generation和Context Size,前者是每次AI輸出回復(fù)的最大長(zhǎng)度;后者是每次與模型交互時(shí),送到模型里的歷史對(duì)話+設(shè)定的最大長(zhǎng)度。不知道怎么調(diào)就保持默認(rèn)不變。
參考文獻(xiàn)
[1][AI角色對(duì)話]使用KoboldAI與AI貓娘無(wú)限制對(duì)話(數(shù)據(jù)私有化/可以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文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-499142.html
[8]+pygmalion (booru.plus).?https://booru.plus/+pygmalion文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-499142.html
到了這里,關(guān)于TavernAI+KoboldAI本地部署實(shí)現(xiàn)AI對(duì)話的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!