RWKV-Runner/README_ZH.md
2023-07-10 23:06:19 +08:00

5.5 KiB
Raw Permalink Blame History

RWKV Runner

本项目旨在消除大语言模型的使用门槛全自动为你处理一切你只需要一个仅仅几MB的可执行程序。此外本项目提供了与OpenAI API兼容的接口这意味着一切ChatGPT客户端都是RWKV客户端。

license release

English | 简体中文 | 日本語

安装

Windows MacOS Linux

视频演示 | 疑难解答 | 预览 | 下载 | 懒人包 | 服务器部署示例

预设配置已经开启自定义CUDA算子加速速度更快且显存消耗更少。如果你遇到可能的兼容性问题前往配置页面关闭使用自定义CUDA算子加速

如果Windows Defender说这是一个病毒你可以尝试下载v1.3.7_win.zip,然后让其自动更新到最新版,或添加信任

对于不同的任务调整API参数会获得更好的效果例如对于翻译任务你可以尝试设置Temperature为1Top_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]}")

相关仓库:

Preview

主页

image

聊天

image

补全

image

配置

image

模型管理

image

下载管理

image

LoRA微调

image

设置

image