RWKV runner 一个exe即可完成一键部署本地大模型
RWKV runner
GitHub – josStorer/RWKV-Runner: A RWKV management and startup tool, full automation, only 8MB. And provides an interface compatible with the OpenAI API. RWKV is a large language model that is fully open source and available for commercial use.
————————————————

这个项目旨在通过为您自动化一切来消除使用大型语言模型的障碍。您所需要的只是一个只有几兆字节的轻量级可执行程序。此外,该项目还提供了一个与OpenAI API兼容的接口,这意味着每个ChatGPT客户端都是RWKV客户端。
授权版本为py-version
中文|简体中文|日本語
安装
Windows MacOS Linux
常见问题解答|预览|下载|简单部署示例|服务器部署示例| MIDI硬件输入
提示
您可以将后端python部署在服务器上,并仅将该程序用作客户端。在Settings API URL中填写您的服务器地址。
如果您正在部署和提供公共服务,请通过API网关限制请求大小,以防止提交过长的提示导致过多的资源使用。此外,请根据您的实际情况限制请求的max_tokens的上限:https://github.com/josStorer/RWKV-Runner/blob/master/backend-python/utils/rwkv.py#L567,默认设置为le=102400,在极端情况下,这可能会导致单个响应的大量资源消耗。
默认配置启用了自定义CUDA内核加速,这要快得多,消耗的VRAM要少得多。如果您遇到可能的兼容性问题(输出乱码),请转到“配置”页面并关闭“使用自定义CUDA内核加速”,或尝试升级您的gpu驱动程序。
如果Windows Defender声称这是病毒,您可以尝试下载v1.3.7_win.zip并让它自动更新到最新版本,或者将其添加到受信任列表(Windows安全->病毒和威胁防护->管理设置->排除项->添加或删除排除项->添加排除项->文件夹-> RWKV-Runner)。
针对不同的任务,调整API参数可以达到更好的效果。例如,对于翻译任务,可以尝试将Temperature设置为1,并将Top_P设置为0.3。
特性
RWKV模型管理,一键启动。
前端和后端分离,如果您不想使用客户端,也允许单独部署前端服务,或后端推理服务,或带web的后端推理服务。简单部署示例|服务器部署示例
与OpenAI API兼容,使每个ChatGPT客户端都是RWKV客户端。启动模型后,打开http://127.0.0.1:8000/docs查看更多细节。
自动依赖安装,只需要一个轻量级的可执行程序。
预先设置多级VRAM配置,在几乎所有的计算机上都能很好地工作。在配置页面,将策略切换到WebGPU,它也可以在AMD, Intel和其他显卡上运行。
包括用户友好的聊天、补全和合成交互界面。还支持聊天预设,附件上传,MIDI硬件输入和轨道编辑。预览| MIDI硬件输入
内置Web选项,一键启动Web服务,共享您的硬件资源。
易于理解和操作的参数配置,以及各种操作指导提示。
内置模型转换工具。
内置下载管理和远程模型检查。
内置一键式LoRA Finetune。(Windows)
也可以作为OpenAI ChatGPT, GPT-Playground, Ollama等客户端使用。(在“设置”页面填写API URL和API密钥)
多语言本地化。
切换主题。
自动更新。
简单部署示例
git clone https://github.com/josStorer/RWKV-Runner
然后
cd RWKV-Runner
python ./backend-python/main.py #后端推理服务已经启动,请求/切换模型API来加载模型,参考API文档:http://127.0.0.1:8000/docs
或
cd RWKV-Runner /前端
npm ci
npm run build #编译前端
cd . .
python ./backend-python/webui_server.py #单独启动前端服务
或
python ./backend-python/main.py——web #同时启动前端和后端服务
帮助信息
Python ./backend-python/main.py
API并发性压力测试
Ab -p体。-T application/json -c 20 -n 100 -l http://127.0.0.1:8000/chat/completions . json
body.json:
{
“消息”:[
{
“角色”:“用户”,
“内容”:“你好”
}
]
}
嵌入API示例
注意:v1.4.0改进了嵌入API的质量。生成的结果与以前的版本不兼容。如果您正在使用嵌入API来生成知识库或类似的,请重新生成。
如果您正在使用langchain,只需使用OpenAIEmbeddings(openai_api_base=”http://127.0.0.1:8000″, openai_api_key=”sk-“)
导入numpy为np
进口的要求
Def cosine_similarity(a, b):
返回np。Dot (a, b) / (np. linag .norm(a) * np. linag .norm(b))
值= [
“我是个女孩”,
“我是个女孩”,
“私は女の子です”,
“广东人爱吃福建人”,
“我是个人类”,
“我是人类”,
“那只狗好可爱”,
“私はねこむすめです,にゃん♬”,
“宇宙级特大事件!号外号外!”
]
嵌入= []
对于v的值:
R = requests.post(“http://127.0.0.1:8000/embeddings”, json={“input”: v})
嵌入= r.json()[“data”][0][