1 Star 0 Fork 0

庵中十三居士 / 命令行运行本地RWKV聊天

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

命令行运行本地RWKV进行聊天

基本说明

说明内容都以注释的方式写在 rwkv_chat_command_line.py 里面了。 rwkv_chat_command_line.py 是一个不到100行的Python脚本,里面是对话的逻辑。

文件 prompt.txt 是初始化时提供给 RWKV 模型的提示信息。

仓库的代码量少,必要的参数现在是写死的,需要的话直接修改就行,应该不难。

脚本执行效果

以下是我本地执行,采用 1.5B 参数的 RWKV5 模型的对话效果:

对话内容截图

完整的命令行输出:

$ python rwkv_chat_command_line.py
RWKV_JIT_ON 1 RWKV_CUDA_ON 0 RESCALE_LAYER 0

Loading RWKV-5-World-1B5-v2-20231025-ctx4096.pth ...
Model detected: v5.2
Strategy: (total 24+1=25 layers)
* cpu [float32, float32], store 25 layers
0-cpu-float32-float32 1-cpu-float32-float32 2-cpu-float32-float32 3-cpu-float32-float32 4-cpu-float32-float32 5-cpu-float32-float32 6-cpu-float32-float32 7-cpu-float32-float32 8-cpu-float32-float32 9-cpu-float32-float32 10-cpu-float32-float32 11-cpu-float32-float32 12-cpu-float32-float32 13-cpu-float32-float32 14-cpu-float32-float32 15-cpu-float32-float32 16-cpu-float32-float32 17-cpu-float32-float32 18-cpu-float32-float32 19-cpu-float32-float32 20-cpu-float32-float32 21-cpu-float32-float32 22-cpu-float32-float32 23-cpu-float32-float32 24-cpu-float32-float32
emb.weight                        f32      cpu  65536  2048
blocks.0.ln1.weight               f32      cpu   2048
blocks.0.ln1.bias                 f32      cpu   2048
blocks.0.ln2.weight               f32      cpu   2048
blocks.0.ln2.bias                 f32      cpu   2048
blocks.0.att.time_mix_k           f32      cpu   2048
blocks.0.att.time_mix_v           f32      cpu   2048
blocks.0.att.time_mix_r           f32      cpu   2048
blocks.0.att.time_mix_g           f32      cpu   2048
blocks.0.att.time_decay           f32      cpu     32    64
blocks.0.att.time_first           f32      cpu     32    64
blocks.0.att.receptance.weight    f32      cpu   2048  2048
blocks.0.att.key.weight           f32      cpu   2048  2048
blocks.0.att.value.weight         f32      cpu   2048  2048
blocks.0.att.output.weight        f32      cpu   2048  2048
blocks.0.att.gate.weight          f32      cpu   2048  2048
blocks.0.att.ln_x.weight          f32      cpu   2048
blocks.0.att.ln_x.bias            f32      cpu   2048
blocks.0.ffn.time_mix_k           f32      cpu   2048
blocks.0.ffn.time_mix_r           f32      cpu   2048
blocks.0.ffn.key.weight           f32      cpu   2048  7168
blocks.0.ffn.receptance.weight    f32      cpu   2048  2048
blocks.0.ffn.value.weight         f32      cpu   7168  2048
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
blocks.23.ln1.weight              f32      cpu   2048
blocks.23.ln1.bias                f32      cpu   2048
blocks.23.ln2.weight              f32      cpu   2048
blocks.23.ln2.bias                f32      cpu   2048
blocks.23.att.time_mix_k          f32      cpu   2048
blocks.23.att.time_mix_v          f32      cpu   2048
blocks.23.att.time_mix_r          f32      cpu   2048
blocks.23.att.time_mix_g          f32      cpu   2048
blocks.23.att.time_decay          f32      cpu     32    64
blocks.23.att.time_first          f32      cpu     32    64
blocks.23.att.receptance.weight   f32      cpu   2048  2048
blocks.23.att.key.weight          f32      cpu   2048  2048
blocks.23.att.value.weight        f32      cpu   2048  2048
blocks.23.att.output.weight       f32      cpu   2048  2048
blocks.23.att.gate.weight         f32      cpu   2048  2048
blocks.23.att.ln_x.weight         f32      cpu   2048
blocks.23.att.ln_x.bias           f32      cpu   2048
blocks.23.ffn.time_mix_k          f32      cpu   2048
blocks.23.ffn.time_mix_r          f32      cpu   2048
blocks.23.ffn.key.weight          f32      cpu   2048  7168
blocks.23.ffn.receptance.weight   f32      cpu   2048  2048
blocks.23.ffn.value.weight        f32      cpu   7168  2048
ln_out.weight                     f32      cpu   2048
ln_out.bias                       f32      cpu   2048
head.weight                       f32      cpu   2048 65536

我: 用“晴朗”造句。
机器人: 今天的天空晴朗,阳光明媚。

我: 用你造的句子扩充为一段小作文。
机器人: 今天,阳光明媚,天空湛蓝。鸟儿在树枝间欢快地歌唱,微风轻拂着我的头发,我感到自己的心情也变得轻松愉悦。我走在路 上,看着周围的美景,感到心情愉悦,仿佛整个世界都在为我欢迎。这是一个美好的早晨,让我心情舒畅,充满了生命的活力。

我: 继续你的创作,增加一些对路上的风景的详细描述。
机器人: 今天的阳光明媚,微风轻拂着我的头发,我感到心情愉悦,仿佛整个世界都在为我欢迎。沿着小路向前走,伴随着清新的空气 ,我看见了许多美丽的景色。路上有许多花园和树木,它们在微风中摇曳着,给人们带来了一种宁静和放松。我走过一条小溪,看见了一些小鱼在水里游来游去,它们的身影在水面上显得格外清晰。我感到自己的心情变得更加愉悦,仿佛整个世界在为我欢迎。

我: 
MIT License Copyright (c) 2023,2024 az13js Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

支持通过命令行的方式本地运行 RWKV 4/5 的 World 模型,进行对话、闲聊。支持通过 prompt.txt 定义对话之前输入给模型的提示词。支持 Mirostat 算法和传统 Top-k、 Top-p 进行解码。 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/az13js/rwkv_chat_command_line.git
git@gitee.com:az13js/rwkv_chat_command_line.git
az13js
rwkv_chat_command_line
命令行运行本地RWKV聊天
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891