Basaran简介
Basaran是一个开源的替代OpenAI文本补全API的项目。它为基于Hugging Face Transformers的文本生成模型提供了兼容的流式API。Basaran允许用户使用最新的开源模型来替换OpenAI的服务,为应用程序提供动力,而无需修改任何代码。
主要特性
Basaran具有以下关键特性:
- 使用各种解码策略进行流式生成
- 支持仅解码器和编码器-解码器模型
- 处理代理字符和空白的解标记器
- 多GPU支持,可选量化
- 使用服务器发送事件的实时部分进度
- 与OpenAI API和客户端库兼容
- 附带精美的基于Web的playground
快速开始
要快速开始使用Basaran,可以使用Docker运行:
docker run -p 80:80 -e MODEL=user/repo hyperonym/basaran:X.Y.Z
将user/repo
替换为您选择的模型,X.Y.Z
替换为最新版本。
运行后即可访问:
- Playground: http://127.0.0.1/
- API: http://127.0.0.1/v1/completions
安装指南
使用Docker(推荐)
Basaran的Docker镜像可在Docker Hub和GitHub Packages上获得。
对于GPU加速,还需要安装NVIDIA Driver和NVIDIA Container Runtime。
使用pip
Basaran在Python 3.8+和PyTorch 1.13+上进行了测试。建议在虚拟环境中安装:
- 安装Basaran:
pip install basaran
2. 安装GPU加速所需的依赖(可选):
pip install accelerate bitsandbytes
3. 运行Basaran:
MODEL=user/repo PORT=80 python -m basaran
## 使用示例
### 使用cURL
Basaran的HTTP请求和响应格式与OpenAI API一致。以文本补全为例:
```bash
curl http://127.0.0.1/v1/completions \
-H 'Content-Type: application/json' \
-d '{ "prompt": "once upon a time,", "echo": true }'
使用OpenAI客户端库
如果您的应用程序使用OpenAI提供的客户端库,只需修改OPENAI_API_BASE
环境变量即可:
OPENAI_API_BASE="http://127.0.0.1/v1" python your_app.py
作为Python库使用
Basaran也可以直接在Python中作为库使用:
from basaran.model import load_model
model = load_model("user/repo")
for choice in model("once upon a time"):
print(choice)
相关资源
贡献与支持
Basaran是一个开源项目,欢迎贡献。如果您有任何想法或问题,请随时创建issue。详细的贡献指南可以在CONTRIBUTING.md中找到。
Basaran在MIT许可下可用。
通过学习和使用Basaran,您可以深入了解文本生成模型的应用,并探索开源AI的潜力。希望这些资源能帮助您快速入门Basaran项目!