
[](https://releases.rs/docs/1.75.0)

[](#contributors-)
[English](README.md) | [中文](README_zh.md)
---
`AI00 Server`是一个基于[`RWKV`模型](https://github.com/BlinkDL/ChatRWKV)的推理API服务器。
`AI00 Server`基于 [`WEB-RWKV`推理引擎](https://github.com/cryscan/web-rwkv)进行开发。
支持Vulkan/Dx12/OpenGL作为推理后端,无需臃肿的`pytorch`、`CUDA`等运行环境,小巧身材,开箱即用!
兼容OpenAI的ChatGPT API接口。
100% 开源可商用,采用MIT协议。
如果你是想要在自己的应用程序中内嵌一个LLM,且对用户的机器要求不那么苛刻(6GB以上GRAM的显卡), `AI00 Server`无疑是一个很好的选择。
立即加入`AI00 RWKV Server`社区,体验AI的魅力!
交流QQ群:30920262
- [什么是 AI00](docs/ai00.md)
- [为什么只支持RWKV](docs/rwkv.md)
### ⭕模型下载和转换
你必须(在构建时)[下载模型](https://huggingface.co/BlinkDL)并将其放置在`assets/models`中,如果你从源代码构建。
你可以从 HuggingFace 下载官方 RWKV World 系列模型,并使用提供的`convert_safetensors.py`进行转换。
如果你不想安装 Python,也可以前往[`web-rwkv`](https://github.com/cryscan/web-rwkv/releases)下载无依赖的转换器。
你可以在这里下载已经转换好的V4 模型: [V5](https://huggingface.co/cgisky/AI00_RWKV_V5) 或者 [V6](https://huggingface.co/cgisky/ai00_rwkv_x060)
## 安装、编译和使用
### 📦直接下载安装
1. 直接从 [Release](https://github.com/cgisky1980/ai00_rwkv_server/releases) 下载最新版本
2. [下载模型](https://huggingface.co/cgisky/RWKV-safetensors-fp16)后把模型放在`assets/models/`路径,例如`assets/models/RWKV-x060-World-3B-v2-20240228-ctx4096.st`
3. 你可以修改 [`assets/configs/Config.toml`](./assets/configs/Config.toml) 里面的模型配置,包括模型路径、量化层数等
4. 在命令行运行
```bash
./ai00_rwkv_server
```
5. 打开浏览器,访问WebUI
[`https://localhost:65530`](https://localhost:65530)
### 📜从源码编译
1. [安装Rust](https://www.rust-lang.org/)
2. 克隆本仓库
```bash
git clone https://github.com/cgisky1980/ai00_rwkv_server.git
cd ai00_rwkv_server
```
3. [下载模型](https://huggingface.co/cgisky/RWKV-safetensors-fp16)后把模型放在
`assets/models/`路径下,例如`assets/models/RWKV-x060-World-3B-v2-20240228-ctx4096.st`
4. 编译
```bash
cargo build --release
```
5. 编译完成后运行
```bash
cargo run --release
```
6. 打开浏览器,访问WebUI
[`https://localhost:65530`](https://localhost:65530)
### 📒模型转换
本项目目前仅支持`.st`后缀的 Safetensors 模型,通过`torch`保存的`.pth`后缀模型需要在使用前进行转换。
1. [下载pth模型](https://huggingface.co/BlinkDL)
2. 克隆或下载本仓库下[convert_safetensors.py](./convert_safetensors.py)程序,并安装相应的依赖库
3. 运行上述程序,并指定输入输出路径
```bash
$ python convert_safetensors.py --input ./filename.pth --output ./filename.st
```
4. 如果你不想安装 Python 或 Torch,可以前往[`web-rwkv`](https://github.com/cryscan/web-rwkv/releases)并下载不依赖于 Python 或 Torch 的转换器`web-rwkv-converter`
```bash
$ ./web-rwkv-converter --input /path/to/model.pth
```
5. 根据上文步骤,将转换所得的`.st`模型文件放在`assets/models/`路径下,并修改 [`assets/Config.toml`](./assets/Config.toml) 中的模型路径
## 📝支持的启动参数
- `--config`: 模型配置文件路径(默认`assets/Config.toml`)
- `--ip`: 服务器绑定的IP地址
- `--port`: 运行端口
## 📙目前可用的API
API 服务开启于 65530 端口, 数据输入已经输出格式遵循Openai API 规范。
- `/api/oai/v1/models`
- `/api/oai/models`
- `/api/oai/v1/chat/completions`
- `/api/oai/chat/completions`
- `/api/oai/v1/completions`
- `/api/oai/completions`
- `/api/oai/v1/embeddings`
- `/api/oai/embeddings`
## 📙WebUI 截图
### 对话功能
### 续写功能
### 写论文功能
## 📝TODO List
- [x] 支持`text_completions`和`chat_completions`
- [x] 支持`sse`推送
- [x] 添加`embeddings`
- [x] 集成基本的调用前端
- [x] `Batch serve`并行推理
- [x] `int8`量化支持
- [x] `nf4`量化支持
- [x] `LoRA`模型支持
- [ ] `LoRA`模型热加载、切换
## 👥Join Us
我们一直在寻找有兴趣帮助我们改进项目的人。如果你对以下任何一项感兴趣,请加入我们!
- 💀编写代码
- 💬提供反馈
- 🔆提出想法或需求
- 🔍测试新功能
- ✏翻译文档
- 📣推广项目
- 🏅其他任何会对我们有所帮助的事
无论你的技能水平如何,我们都欢迎你加入我们。你可以通过以下方式加入我们:
- 加入我们的 Discord 频道
- 加入我们的 QQ 群
- 在 GitHub 上提交问题或拉取请求
- 在我们的网站上留下反馈
我们迫不及待地想与你合作,让这个项目变得更好!希望项目对你有帮助!
## Thanks
[](https://github.com/cryscan)
感谢cryscan的辛勤付出,为项目做出了杰出的贡献。
### 感谢下面项目的编写者们做出的杰出工作
### 感谢下面又好看又有眼光又优秀的杰出人士对项目的支持和无私奉献
- 来自 QQ 群

- 来自 Github
- 来自 Discord
我们很感激您的帮助,我们很高兴能与您合作。
## Stargazers over time
[](https://starchart.cc/cgisky1980/ai00_rwkv_server)