如果这篇文章不符合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就可以开始聊天了,也谢谢各位可以看到这里,另外如果要转载
本篇文章至其他论坛或看板的话请先通知我,谢谢。