仓库地址:https://github.com/josStorer/RWKV-Runner
预设配置已经开启自定义CUDA算子加速,速度更快,且显存消耗更少。如果你遇到可能的兼容性问题,前往配置页面,关闭使用自定义CUDA算子加速
如果Windows Defender说这是一个病毒,你可以尝试下载v1.3.7_win.zip,然后让其自动更新到最新版,或添加信任
对于不同的任务,调整API参数会获得更好的效果,例如对于翻译任务,你可以尝试设置Temperature为1,Top_P为0.3
功能
- RWKV模型管理,一键启动
- 与OpenAI API完全兼容,一切ChatGPT客户端,都是RWKV客户端。启动模型后,打开 http://127.0.0.1:8000/docs 查看详细内容
- 全自动依赖安装,你只需要一个轻巧的可执行程序
- 预设了2G至32G显存的配置,几乎在各种电脑上工作良好
- 自带用户友好的聊天和补全交互页面
- 易于理解和操作的参数配置
- 内置模型转换工具
- 内置下载管理和远程模型检视
- 内置一键LoRA微调
- 也可用作 OpenAI ChatGPT 和 GPT Playground 客户端
- 多语言本地化
- 主题切换
- 自动更新
API并发压力测试
ab -p body.json -T application/json -c 20 -n 100 -l http://127.0.0.1:8000/chat/completions
body.json:
{ "messages": [ { "role": "user", "content": "Hello" } ] }
Embeddings API 示例
如果你在用langchain, 直接使用 OpenAIEmbeddings(openai_api_base="http://127.0.0.1:8000", openai_api_key="sk-")
import numpy as np import requests def cosine_similarity(a, b): return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)) values = [ "I am a girl", "我是个女孩", "私は女の子です", "广东人爱吃福建人", "我是个人类", "I am a human", "that dog is so cute", "私はねこむすめです、にゃん♪", "宇宙级特大事件!号外号外!" ] embeddings = [] for v in values: r = requests.post("http://127.0.0.1:8000/embeddings", json={"input": v}) embedding = r.json()["data"][0]["embedding"] embeddings.append(embedding) compared_embedding = embeddings[0] embeddings_cos_sim = [cosine_similarity(compared_embedding, e) for e in embeddings] for i in np.argsort(embeddings_cos_sim)[::-1]: print(f"{embeddings_cos_sim[i]:.10f} - {values[i]}")
相关仓库:
- RWKV-4-World: https://huggingface.co/BlinkDL/rwkv-4-world/tree/main
- RWKV-4-Raven: https://huggingface.co/BlinkDL/rwkv-4-raven/tree/main
- ChatRWKV: https://github.com/BlinkDL/ChatRWKV
- RWKV-LM: https://github.com/BlinkDL/RWKV-LM
- RWKV-LM-LoRA: https://github.com/Blealtan/RWKV-LM-LoRA