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 通信的客户端库(例如 openai Python 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 和 /chat UI。
  • 示例 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 部署。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目