bentoml/OpenLLM
Run any open-source LLMs, such as DeepSeek and Llama, as OpenAI compatible API endpoint in the cloud.
OpenLLM – 在兼容 OpenAI 的 API 背后自托管 LLM
它是什么
- 一个 Python 包,可让您运行任何开源大型语言模型(LLM)——从 Llama 3.x 到 Qwen 2.5、Mistral、Phi-4 等——作为本地服务器,暴露与 OpenAI API 相同的 REST 端点。
- 它捆绑了轻量级聊天 UI、CLI 工具和 Docker/Kubernetes 部署辅助工具,因此您可以通过一条命令启动生产级推理服务。
关键能力
- 一行启动模型 –
openllm serve llama3.2:1b下载模型(通过 Hugging Face),启动基于 vLLM 的推理服务器,并使其在http://localhost:3000可访问。 - 兼容 OpenAI 的端点 –
/v1/chat/completions、/v1/completions等,适用于任何与 OpenAI 通信的客户端库(例如openaiPython SDK、LlamaIndex)。 - 内置聊天 UI – 访问
http://localhost:3000/chat即可获得交互式 Web 聊天,无需编写任何前端代码。 - 可扩展模型目录 – 默认的 GitHub 托管的 模型仓库 列出了支持的模型;您可以添加自己的 BentoML 打包模型仓库。
- 企业级部署 – 生成 Docker 镜像和 Kubernetes 的 Helm 图表,利用 BentoML 的生产服务栈。
- 后端灵活性 – 在底层使用高性能
vllm引擎,在 GPU 上实现快速推理。
快速开始
pip install openllm # 安装包
openllm hello # 健全性检查演示
openllm serve llama3.2:1b # 启动 LLM 服务器(对于受限模型需要 HF 令牌)
- 服务器监听 3000 端口,并提供 API 和
/chatUI。 - 示例 Python 客户端:
from openai import OpenAI
client = OpenAI(base_url='http://localhost:3000/v1', api_key='na')
resp = client.chat.completions.create(
model='meta-llama/Llama-3.2-1B-Instruct',
messages=[{'role':'user','content':'用五岁小孩能懂的方式解释超导体'}],
stream=True,
)
for chunk in resp:
print(chunk.choices[0].delta.content or '', end='')
典型用例
- 快速原型开发 LLM 驱动的功能,无需支付外部 API 费用。
- 在本地或云 VPC 中部署私有或受监管的模型。
- 构建需要与现有基于 OpenAI 的工具互操作的内部 AI 服务。
- 通过简单地将新开源模型添加到模型仓库来试验它们。
社区与贡献
- 活跃的 Slack 社区、论坛和 GitHub 问题跟踪器。
- 欢迎贡献:添加新模型、改进 CLI、扩展部署脚本或提交错误修复。
- 该项目采用 Apache-2.0 许可证,并基于 BentoML、vLLM 和其他开源组件构建。
底线 OpenLLM 抽象了模型下载、GPU 设置和 API 设计的繁重工作,为开发人员提供了一种即插即用的方式,将任何开源 LLM 作为 OpenAI 服务提供,并可选企业级 Docker/Kubernetes 部署。
相关
- 项目
- 项目
- 项目
- 项目
- 项目