Skip to content

Latest commit

 

History

History
237 lines (146 loc) · 9.03 KB

File metadata and controls

237 lines (146 loc) · 9.03 KB

💯AI00 Server

license Rust Version PRs welcome

All Contributors

English | 中文


AI00 Server是一个基于RWKV模型的推理API服务器。

AI00 Server基于 WEB-RWKV推理引擎进行开发。

支持Vulkan/Dx12/OpenGL作为推理后端,无需臃肿的pytorchCUDA等运行环境,小巧身材,开箱即用!

兼容OpenAI的ChatGPT API接口。

100% 开源可商用,采用MIT协议。

如果你是想要在自己的应用程序中内嵌一个LLM,且对用户的机器要求不那么苛刻(6GB以上GRAM的显卡), AI00 Server无疑是一个很好的选择。

立即加入AI00 RWKV Server社区,体验AI的魅力!

交流QQ群:30920262

⭕模型下载和转换

你必须(在构建时)下载模型并将其放置在assets/models中,如果你从源代码构建。 你可以从 HuggingFace 下载官方 RWKV World 系列模型,并使用提供的convert_safetensors.py进行转换。 如果你不想安装 Python,也可以前往web-rwkv下载无依赖的转换器。

你可以在这里下载已经转换好的V4 模型: V5 或者 V6

安装、编译和使用

📦直接下载安装

  1. 直接从 Release 下载最新版本

  2. 下载模型后把模型放在assets/models/路径,例如assets/models/RWKV-x060-World-3B-v2-20240228-ctx4096.st

  3. 你可以修改 assets/configs/Config.toml 里面的模型配置,包括模型路径、量化层数等

  4. 在命令行运行

    ./ai00_rwkv_server
  5. 打开浏览器,访问WebUI http://localhost:65530

📜从源码编译

  1. 安装Rust

  2. 克隆本仓库

    git clone https://github.com/cgisky1980/ai00_rwkv_server.git
    cd ai00_rwkv_server
  3. 下载模型后把模型放在 assets/models/路径下,例如assets/models/RWKV-x060-World-3B-v2-20240228-ctx4096.st

  4. 编译

    cargo build --release
  5. 编译完成后运行

    cargo run --release
  6. 打开浏览器,访问WebUI http://localhost:65530

📒模型转换

本项目目前仅支持.st后缀的 Safetensors 模型,通过torch保存的.pth后缀模型需要在使用前进行转换。

  1. 下载pth模型

  2. 克隆或下载本仓库下convert_safetensors.py程序,并安装相应的依赖库

  3. 运行上述程序,并指定输入输出路径

    $ python convert_safetensors.py --input ./filename.pth --output ./filename.st
  4. 如果你不想安装 Python 或 Torch,可以前往web-rwkv并下载不依赖于 Python 或 Torch 的转换器web-rwkv-converter

    $ ./web-rwkv-converter --input /path/to/model.pth
  5. 根据上文步骤,将转换所得的.st模型文件放在assets/models/路径下,并修改 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

  • 支持text_completionschat_completions
  • 支持sse推送
  • 添加embeddings
  • 集成基本的调用前端
  • Batch serve并行推理
  • int8量化支持
  • nf4量化支持
  • LoRA模型支持
  • LoRA模型热加载、切换

👥Join Us

我们一直在寻找有兴趣帮助我们改进项目的人。如果你对以下任何一项感兴趣,请加入我们!

  • 💀编写代码
  • 💬提供反馈
  • 🔆提出想法或需求
  • 🔍测试新功能
  • ✏翻译文档
  • 📣推广项目
  • 🏅其他任何会对我们有所帮助的事

无论你的技能水平如何,我们都欢迎你加入我们。你可以通过以下方式加入我们:

  • 加入我们的 Discord 频道
  • 加入我们的 QQ 群
  • 在 GitHub 上提交问题或拉取请求
  • 在我们的网站上留下反馈

我们迫不及待地想与你合作,让这个项目变得更好!希望项目对你有帮助!

Thanks

cryscan 感谢cryscan的辛勤付出,为项目做出了杰出的贡献。

感谢下面项目的编写者们做出的杰出工作

顾真牛
顾真牛

📖 💻 🖋 🎨 🧑‍🏫
研究社交
研究社交

💻 💡 🤔 🚧 👀 📦
josc146
josc146

🐛 💻 🤔 🔧
l15y
l15y

🔧 🔌 💻

感谢下面又好看又有眼光又优秀的杰出人士对项目的支持和无私奉献

  • 来自 QQ 群

    image

  • 来自 Github

  • 来自 Discord

我们很感激您的帮助,我们很高兴能与您合作。

Stargazers over time

Stargazers over time