这是一个使用 Gradio 制作的基于 RWKV 的 AI 角色扮演对话的 WebUI,7B参数int8量化下仅需要7.6GB显存即可完美运行。配合N卡最新驱动的显存内存融合,基本一个10XX系以上的N卡就能扮演一个不错的AI对象。也不知道是模型特点还是设定问题,AI总是在勾引用户做羞羞的事情。即使你电脑贼垃圾,甚至只有一个手机,也可以白嫖谷歌的 Google Colab,每个账号每天大概可以免费使用3~12小时。
步骤3:运行项目初始化代码
https://XXXXXXX.gradio.live
链接,和你的赛博 AI 对象尽情畅玩吧。!curl -Lo model/RWKV-4-Claude-CHNtuned-7B-v1.pth https://huggingface.co/tjsky/rwkv_mybackup/resolve/main/RWKV-claude-4-World-7B-20230805-ctx65k.pth-cuda-fp16i8.pth
# 4-4.从huggingface中拉取模型文件
Bash
Copy
部分注意点
– Google Colab 每天理论上最大可免费用12小时,但实际上嘛谷歌会根据自身的负载调控时长,目前AI不算太火,大约4小时后才会提示免费用户不可用,这个额度基本上也够你玩了,实在还想玩你可以再注册个谷歌账号重复以上步骤继续白嫖,你甚至可以加个代码在两个账号的谷歌盘之间同步角色数据和状态,无缝切换账号什么的。
– Google Colab 运行后不是你就可以不管了,谷歌大约1小时后会进行人机验证,确保你人在电脑前,所以记得时不时切到 Google Colab 页面看一眼。
– 免费额度快到的时候,谷歌会频发让你进行人机验证,这是一个快要强制下线的预兆,请尽快执行 4-7 部分代码保存数据。
127.0.0.1:1080
,可以安装一个叫做“Proxifier”的软件,在Proxy Server内添加127.0.0.1:1080
,在Proxification Rules内添加python.exe;git-*.exe;git.exe; headless-git.exe
;,Action选刚才设置的Proxy XXXX 127.0.0.1
其实3.8以上的就行,不过为了方便同时用stable-diffusion-webui,我选择了3.10.6这个版本
我这里采用直接系统内安装Python 3.10.6的方式
如果你会用Miniconda等python版本依赖控制工具,也可以用它们实现Python多版本切换,具体可以自己百度谷歌解决。
把页面拉到底,找到【Windows installer (64-bit)】点击下载
安装是注意,到这一步,需要如下图这样勾选 Add Python to PATH
然后再点上边的 Install Now
python
安装完成后,命令行里输入Python -V
,如果返回Python 3.10.6
那就是成功安装了。
命令行里输入 python -m pip install --upgrade pip
安装升级pip到最新版。
访问 Git 下载页面
点击【Download for Windows】,【64-bit Git for Windows Setup】点击下载
一路下一步安装
命令行运行git --version
,返回git version 2.XX.0.windows.1
就是安装成功了。
点击 git-lfs.github.com 并单击“Dowdload”。
在计算机上,找到下载的文件。
双击文件 git-lfs-windows-3.X.X.exe , 打开此文件时,Windows 将运行安装程序向导以安装 Git LFS。
命令行运行git lfs install
,返回Git LFS initialized.
就是安装成功了。
命令行运行nvidia-smi
,看下自己显卡支持的 CUDA版本
(最好先升级以下显卡驱动,5月之后的的驱动支持了内存显存融合,对小显存显卡有提升)
接下来前往英伟达 CUDA 官网,下载对应版本。
注意请下载,你对应的版本号最高的版本,比如我的是11.7的,那就下11.7.1(这里最后的.1意思是,11.7版本的1号升级版)
选你自己的操作系统版本,注意下个离线安装包【exe [local]】,在线安装的话,速度还是比较堪忧的。
找一个你喜欢的目录,在资源管理器,地址栏里敲CMD,敲回车,启动命令提示行窗口,输入以下命令
# 下载项目源代码
git clone https://github.com/shengxia/RWKV_Role_Playing.git
# 切换到项目根目录
cd RWKV_Role_Playing
# 安装torch
pip install torch==2.0.1 --extra-index-url https://download.pytorch.org/whl/cu117 --upgrade
# 安装依赖
pip install -r requirements.txt
Bash
Copy
cu117
请根据实际情况修改。目前应该最新是cu121点击这里下载模型,请使用RWKV-4-world系列CHNtuned模型,(如果使用参数量在1.5B及以下这样的模型,需要把策略改为cuda fp32或cpu fp32,否则会溢出。)
RWKV-claude-4-World-7B-65k 和 rwkv-7B-world-novel-128k 也不错。前边已经介绍过这两个模型
run.txt
python webui.py --model "model/RWKV-4-Claude-CHNtuned-7B-v1.pth" --strategy "cuda fp16i8"
Bash
Copy
其中的model/RWKV-4-Claude-CHNtuned-7B-v1.pth改成你模型存放位置
参数 | 解释 |
---|---|
–port | webui的端口 |
–model | 要加载的模型路径 |
–strategy | 模型加载的策略 |
–listen | 加上这个参数就允许其他机器访问 |
–cuda_on | 控制RWKV_CUDA_ON这个环境变量的,0-禁用,1-启用 |
–jit_on | 控制RWKV_JIT_ON这个环境变量的,0-禁用,1-启用 |
–share | 生成gradio链接 |
–lang | 语言,zh-中文,en-英文 |
–autosave | 是否自动保存,加上这个参数就自动保存 |
模型加载参数可以看这个图,注意目前因为N卡驱动已经自带显存内存融合了,使用 int8 参数(cuda fp16i8)运行,虽然省显存但是运算速度会下降。使用 fp16 参数运行,虽然部分模型被加载到内存读取速度慢了,但是 GPU 对 fp16 的运算速度远比 int8 下快,所以如果模型所需显存只是略微超过实际内存(比如模型实际需要 12G,显存 10G)不如用 fp16 加载运行。
run.bat
,不要给改成类似run.bat.txt
了) 一些启动参数的例子
python webui.py --model "model/RWKV-4-Claude-CHNtuned-7B-v1.pth" --strategy "cuda fp16i8"
# int8量化加载模型,本地使用
Bash
Copy
python webui.py --model "model/RWKV-4-Claude-CHNtuned-7B-v1.pth" --strategy "cuda fp16i8" --listen --port 7899
# int8量化加载模型,连接0.0.0.0网卡,同局域网可访问,网页端口为机器IP:7899
Bash
Copy
python webui.py --model "model/RWKV-4-Claude-CHNtuned-7B-v1.pth" --cuda_on 1 --share --strategy "cuda fp16i8"
# cuda加速,int8量化加载模型,生成gradio链接
Bash
Copy
python webui.py --model F:\git\RWKV\models\RWKV-4-World-CHNtuned-7B-v1-20230709-ctx4096 --strategy "cuda fp16i8 *0+ -> cpu fp32 *1"
# 几乎全部用CPU运算,显存占用最小的一种方式了。
Bash
Copy
python webui.py --model F:\git\RWKV\models\RWKV-4-World-CHNtuned-7B-v1-20230709-ctx4096 --strategy "cpu fp32"
# 全部用CPU运算,大概需要电脑有32GB内存
Bash
Copy
https://XXXXXXX.gradio.live
链接,或者http://127.0.0.1:7860
,打开浏览器 先在右侧区域选择你需要的角色,然后点【载入角色】
开始聊天吧
替角色说
:将AI最后的回复,修改为你输入的内容。可以修正AI偶尔出现的身份混乱,逻辑混乱问题。在左上角切换到角色选项卡
基本一目了然
– 示例对话里你可以用
指代上边设置的你的名字
– 示例对话里你可以用
指代上边设置的角色名字
– 大概有个5~6轮对话就行,不知道怎么写,可以从小说里抄嘛
– 角色性格可以下载一个Glow,然后到上面去找智能体,直接把它们的性格和对话抄过来用。
– 官方模型可能偶尔会因为善恶观思想钢印,拒绝继续话题,一般重新生成即可。Claude 和 Noval 模型就基本没任何限制了,你可以随便聊。
– 示例对话和开场白的格式请参照默认角色“小雪”的格式。文章附图里的这个不一定还是最新的格式。