[洽特] 有關如何自建本地AI聊天機器人
如果這篇文章不符合AC_In所規範的文章內容的話,再麻煩版主協助刪除,謝謝。
前面一篇有關AI聊天的文章底下,似乎有些版友對於在本機自己架設聊天機器人也滿有
興趣的,所以我就想藉這一篇文章來讓大家比較好入門。
畢竟現在市面上的雲端AI聊天真的都太貴了(或者該說不值那個錢),且內容有可能因為
該平台當地的法規遭到限縮或是過濾,況且你也很難保證該平台可以永續經營,例如之前
的yodayo就是因為戀童癖問題被第三方支付商拒絕服務,結果整個公司只好重新整合成非
18+的AI聊天平台。
但如果是本機運行的話就不用擔心這些,而且資料都是存在你自己的硬碟裡,比較有保障
。
以下正文:
現在免費、本地運行而且比較知名的LLM前端程式(即使用者介面)大概有四個:
SillyTavern、LM Studio、Ollama、BackyardAI
LM Studio和Ollama比較偏向生產力,本身不直接支援角色卡的格式,所以今天先跳過。
SillyTavern的介面目前還太粗糙,而且整體的架設比較複雜,所以我也不太推薦,於是目
前我認為最適合入門的就是BackyardAI。
在開始之前,請先確定你的顯示卡是NVIDIA的,且有8GB以上的VRAM。顯卡的VRAM大小會
直接影響你能夠跑多大的模型。如果太小的話就會讓模型溢出到你的記憶體裡面,生成
文字的速度會非常慢,但這並不意味著不能跑,只是真的非常非常慢(記憶多的時候可以
慢到約1-2個字/秒)。
當然如果你的顯卡VRAM遠超8GB那是最好,如果你不確定你的顯卡規格或是想升級的話可
以打開工作管理員的效能頁面,然後點選GPU來看你的專屬GPU記憶體有多少,或是去
Techpowerup直接搜尋你的GPU型號:https://www.techpowerup.com/gpu-specs/。
確定好設備達到門檻後之後就可以開始了。
1. 請直接搜尋Backyard AI Desktop App然後下載。
https://imgur.com/qoB21gF
2. 下載完畢後打開BackyardAI的應用程式,打開Settings - Advanced/GPU,看一下你的G
PU有沒正常顯示出來,如果沒有的話請記得去載NVIDIA CUDA Toolkit。
接下來要微調一下幾個設定:
MLock - Enabled
GPU VRAM - Manual, 90%(留一點點顯卡性能給其他應用程式就好,平常瀏覽網頁的時候
也不太會用到GPU)
Max Context - 這部分就是俗稱的AI聊天機器人的記憶,其中包含了機器人的人格敘述
(Persona)、模型指令(Model Instruction)、情景(Scenario)、
範例對話(Example Dialogue)等等。這就是要看你自己的顯卡VRAM大小跟選用的模型能夠
讀取多少記憶了。可以去huggingface的LLM容量計算機算一下你的顯卡可以支援到多少。
https://huggingface.co/spaces/NyxKrage/LLM-Model-VRAM-Calculator
舉個例子,如果我今天用的是4060 Ti 16GB,而且想要用Hermes LLaMa 3.1 8B 這個模型
,另外我希望能夠有32000 Token的記憶,我就可以把我的裝置跟想用的模型直接打上去:
https://imgur.com/o1lUfTn
我選用的模型的大小佔了4.53GB、32K的記憶佔了6.04GB,這樣加起來共10.58GB,在我的
16GB的VRAM裡面可以輕鬆容納下,於是我就可以預期即使在我的對話內容很多的時候,文
字的生成速度還是可以很快。
https://imgur.com/MJvQOxY
這是我之前某一段聊天的紀錄,即使是在來回一百多則訊息之後,每秒產生文字的速度
(Token/Sec)還是可以來到35個字左右。
3. 調整完畢後,接下來就是下載模型了:點選Manage Models - Avaliable Models,
裡面會出現BackyardAI推薦使用的模型。在這邊我隨便選一個:
https://imgur.com/OEXyENJ
Llama 3代表他是從META的開源模型Llama 3微調過來的版本。Sthenos是這個模型的名字、
8B代表著他有八十億的參數、Q4_K_M是代表他的量化程度(因為不透過量化的話很難塞進
使用者的桌機裡,簡而言之就是用一點點的性能換取大幅縮小的體積,目前主流仍然是
採用Q4_K_M,同時兼顧體積和表現)。
4.點擊Download,開始下載你想要的模型。對英文不熟悉的板友可以下載以QWEN作為主
模型的版本。
5.下載完成後,就可以開始創造角色了。
https://imgur.com/FnzoIwB
Character Images - 角色圖片,記得目前只支持PNG所以要記得轉檔。
Display Name - 角色卡的名稱
Real Name - 角色的實際名字
Character's Persona - 角色的人格,這邊我還是推薦用英文寫,因為中文佔用
Token(AI看待文字的基本單位)的速度非常快(一個中文=2個Token,幾乎是英文的兩倍),
很容易沒寫甚麼就滿了。可以把你寫完角色人格丟進ChatGPT裡面讓他直接翻譯,記得有寫
到比較露骨的地方時要刪減一下,否則ChatGPT會說你的內容違反了他們的用戶協議。
英文比較OK的板友可以去Reddit看一下我前陣子寫的入門角色卡撰寫攻略:
https://tinyurl.com/yc35w68e
Is NSFW? - 當然是Yes。
Lorebook - 這部分是關於你有沒有一些關鍵字想讓你每次對AI提到的時候,他都能想起
相對應的東西。比方說你可以寫「last summer」,然後在底下的說明欄寫下「We go to
Miami.」這樣你在跟你的機器人聊天的時候只要提到去年夏天,他就會自動回憶起你們去
邁阿密的時候。
接下來點選在Character旁邊的Chat,這邊主要控制的是你的角色之外的事情 - 情景、
範例對話、開頭訊息等等。
https://imgur.com/9anD144
Scenario - 情景,這邊主要是幫你的角色搭建背景,另外在這部分也可以加一些規則玩法
,這部分是我認為影響整個對話體驗最重要的部分。
Example Dialogue - 讓你的機器人可以根據這部分的格式或是行文風格來調整他的回應
,在這邊打的某些概念或東西也會稍微滲透你的整個聊天體驗。
First Message - 開場白,最好是把人事時地物都交代清楚,才不會讓AI一頭霧水。
Prune Example Dialogue - 看情況選擇,不過我通常都選擇False,這樣我有些在一開始
打的背景才不會流失掉。
再下面的東西主要都是調整模型的輸出了。
https://imgur.com/SdeWMZ3
如果你不太清楚以下這些事幹嘛的話,我建議可以選好你下載的模型後就可以不管他了。
最下面還有一個prompt template,根據你的模型是選什麼樣的主模型來選擇。如果是用
Llama當主模型就選Llama、Mistral就選Mistral、如果沒有列在上面的話就選Model
Default就好。
最後按下Start Chat就可以開始聊天了,也謝謝各位可以看到這裡,另外如果要轉載
本篇文章至其他論壇或看板的話請先通知我,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.70.113 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/AC_In/M.1727157710.A.150.html
推
09/24 19:54,
1月前
, 1F
09/24 19:54, 1F
推
09/24 20:42,
1月前
, 2F
09/24 20:42, 2F
推
09/24 20:58,
1月前
, 3F
09/24 20:58, 3F
推
09/25 08:22,
1月前
, 4F
09/25 08:22, 4F
如果只是要入門且需要是全新的話我非常推薦用4060 Ti 16GB。
1. 有雙風扇版本,所以如果是要從舊電腦升級的話也比較容易。
2. 足以應付1080P的遊戲體驗。
3. 從跑AI的角度來看,這張卡是目前市場上最有性價比的卡了。($15000/16GB VRAM)
其他卡當然遊戲表現更好,但是要為了同樣的VRAM所要額外支出的太多。
4. 低功耗,不需要再額外升級電源,基本上450的電源就可以帶的動了。
推
09/25 10:36,
1月前
, 5F
09/25 10:36, 5F
推
09/25 10:49,
1月前
, 6F
09/25 10:49, 6F
推
09/25 12:27,
1月前
, 7F
09/25 12:27, 7F
推
09/25 13:00,
1月前
, 8F
09/25 13:00, 8F
→
09/25 13:00,
1月前
, 9F
09/25 13:00, 9F
→
09/25 13:05,
1月前
, 10F
09/25 13:05, 10F
→
09/25 13:05,
1月前
, 11F
09/25 13:05, 11F
→
09/25 13:05,
1月前
, 12F
09/25 13:05, 12F
→
09/25 13:05,
1月前
, 13F
09/25 13:05, 13F
推
09/25 13:49,
1月前
, 14F
09/25 13:49, 14F
→
09/25 13:49,
1月前
, 15F
09/25 13:49, 15F
已收到,感謝。
推
09/25 22:17,
1月前
, 16F
09/25 22:17, 16F
→
09/25 22:17,
1月前
, 17F
09/25 22:17, 17F
如果要用中文聊天的話可以試看看用QWEN為主模型訓練的模型,目前市面上應該是沒有任
何有內嵌翻譯的LLM前端程式。
※ 編輯: Rosor (36.227.70.113 臺灣), 09/25/2024 22:28:34
推
09/25 22:52,
1月前
, 18F
09/25 22:52, 18F
:)
※ 編輯: Rosor (36.227.70.113 臺灣), 09/25/2024 23:59:40
→
09/26 05:44,
1月前
, 19F
09/26 05:44, 19F
→
09/26 05:45,
1月前
, 20F
09/26 05:45, 20F
推
09/26 08:35,
1月前
, 21F
09/26 08:35, 21F
→
09/26 08:35,
1月前
, 22F
09/26 08:35, 22F
對耶,突然想到也可用沉浸式翻譯直接翻(雖然沒付費的話只能用bing translate)。
推
09/26 19:01,
1月前
, 23F
09/26 19:01, 23F
收到了,謝謝你。
※ 編輯: Rosor (114.24.22.207 臺灣), 09/26/2024 20:34:39
推
09/26 20:35,
1月前
, 24F
09/26 20:35, 24F
→
09/26 20:35,
1月前
, 25F
09/26 20:35, 25F
→
09/26 20:35,
1月前
, 26F
09/26 20:35, 26F
→
09/26 20:39,
1月前
, 27F
09/26 20:39, 27F
→
09/26 20:39,
1月前
, 28F
09/26 20:39, 28F
推
09/26 20:45,
1月前
, 29F
09/26 20:45, 29F
→
09/26 21:05,
1月前
, 30F
09/26 21:05, 30F
→
09/26 21:06,
1月前
, 31F
09/26 21:06, 31F
推
09/26 21:37,
1月前
, 32F
09/26 21:37, 32F
推
09/27 07:45,
1月前
, 33F
09/27 07:45, 33F
不太確定,不過依照我之前的經驗來說,他不回你中文的話你可以修改他的開場白跟範例
訊息,通常這樣他就會回你中文了。
※ 編輯: Rosor (114.24.22.207 臺灣), 09/27/2024 09:56:33
推
09/28 12:17,
1月前
, 34F
09/28 12:17, 34F
→
09/28 12:17,
1月前
, 35F
09/28 12:17, 35F
→
09/28 12:20,
1月前
, 36F
09/28 12:20, 36F
→
09/28 12:20,
1月前
, 37F
09/28 12:20, 37F
→
09/28 12:20,
1月前
, 38F
09/28 12:20, 38F
→
09/28 12:20,
1月前
, 39F
09/28 12:20, 39F
→
09/28 12:20,
1月前
, 40F
09/28 12:20, 40F
推
09/28 19:49,
1月前
, 41F
09/28 19:49, 41F
可以試看看 QWEN Multilingual 7B
推
09/30 07:59,
1月前
, 42F
09/30 07:59, 42F
可能跟角色卡的作者有關,另外在角色描述的時候如果放入太多跟色情內容有關的文字,
也很容易改變整個對話導向。
※ 編輯: Rosor (36.227.66.18 臺灣), 09/30/2024 11:59:29
AC_In 近期熱門文章
PTT動漫區 即時熱門文章
17
53