该项目旨在为各种大语言模型(LLM)在生产环境中的部署和可观测性提供一个标准的解决方案,用最简单直接的方式把 LLM 部署到云端或本地,并且可以放心地用于生产环境中,此外还提供了进一步的能力来让用户更加方便地基于 LLM 构建更强大的 AI 应用。
借助 OpenLLM,您可以使用任何开源大型语言模型 (LLM) 运行推理,部署到云端或本地,并构建强大的 AI 应用程序。
🚂 SOTA LLM:内置支持广泛的开源 LLM 和模型运行时,包括 StableLM、Falcon、Dolly、Flan-T5、ChatGLM、StarCoder 等。
🔥 灵活的 API:使用一个命令通过 RESTful API 或 gRPC 为 LLM 提供服务,通过 WebUI、CLI、我们的 Python/Javascript 客户端或任何 HTTP 客户端进行查询。
⛓️ 自由构建:对 LangChain 和 BentoML 的一流支持使您可以通过将 LLM 与其他模型和服务组合来轻松创建自己的 AI 应用程序。
🎯 简化部署:自动生成您的 LLM 服务器 Docker 镜像或通过 ☁️ BentoCloud 部署为无服务器端点。
🤖️ Bring your own LLM:使用 LLM.tuning()
微调任何 LLM 以满足您的需求。(即将推出)
入门
要使用 OpenLLM,您需要在系统上安装 Python 3.8(或更新版本)和 pip
。我们强烈建议使用虚拟环境来防止包冲突。
您可以使用 pip 安装 OpenLLM,如下所示:
pip install openllm
要验证它是否安装正确,请运行:
$ openllm -h
Usage: openllm [OPTIONS] COMMAND [ARGS]...
██████╗ ██████╗ ███████╗███╗ ██╗██╗ ██╗ ███╗ ███╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║██║ ██║ ████╗ ████║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║██║ ██║ ██╔████╔██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║██║ ██║ ██║╚██╔╝██║
╚██████╔╝██║ ███████╗██║ ╚████║███████╗███████╗██║ ╚═╝ ██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝ ╚═╝
An open platform for operating large language models in production.
Fine-tune, serve, deploy, and monitor any LLMs with ease.
启动LLM服务器
要启动 LLM 服务器,请使用 openllm start
。例如,要启动一个 dolly-v2
服务器:
openllm start dolly-v2
在此之后,可以通过 http://0.0.0.0:3000 访问 Web UI,您可以在其中试验端点和样本输入提示。
OpenLLM 提供了一个内置的 Python 客户端,允许您与模型进行交互。在不同的终端窗口或 Jupyter notebook 中,创建一个客户端以开始与模型交互:
> import openllm
'http://localhost:3000') > client = openllm.client.HTTPClient(
'Explain to me the difference between "further" and "farther"') > client.query(
您还可以使用 openllm query
命令从终端查询模型:
export OPENLLM_ENDPOINT=http://localhost:3000
openllm query 'Explain to me the difference between "further" and "farther"'
访问 http://0.0.0.0:3000/docs.json
了解 OpenLLM 的 API 规范。
openllm start flan-t5 --model-id google/flan-t5-large
使用 openllm models
命令查看 OpenLLM 支持的模型及其变体列表。
项目链接
https://github.com/bentoml/OpenLLM