问答社区
OpenLLM 是一个生产级的操作大型语言模型 (LLM) 的开放平台
在本地和云中运行任何开源LLMS,如LMAMA2和MISDal,作为与开放式兼容的API端点。
该平台是一个开放源代码平台,旨在促进在实际应用程序中部署和操作大型语言模型(LLMS)。使用该软件,您可以在任何开放源代码LLM上运行推理,将其部署在云上或内部,并构建强大的AI应用程序。
主要特点包括:
🚂 最先进的LLM :为广泛的开放源代码LLMS和模型运行时间提供综合支持,包括但不限于美洲骆驼2号、斯泰布尔姆号、猎鹰号、多利号、FlanT-5号、查特拉姆号和星盘号。
🔥 灵活API :将LLMS服务于一个单独的命令中的休息API或GPC。您可以使用Web用户界面、CLI、比达顿/JavaSrispt客户机或您选择的任何HTTP客户机与模型进行交互。
⛓️ 建设自由 :对朗链、本托莫、Llamder、开放端点和拥抱脸的一流支持,使您能够通过与其他模型和服务组成LLMS,轻松地创建自己的AI应用程序。
🎯 简化部署 :自动生成LLM服务器码头机图像或通过 新一代 ,可以轻松地管理GPU资源,根据流量进行规模化,并确保成本效益。
🤖️ 带上你自己的 :根据您的需要调整任何LM。您可以加载LRA图层,对模型进行微调,以提高特定任务的精度和性能。一个统一的模型微调API(LLM.tuning()
)马上就来。
⚡ 定量化 ::使用量化技术(如: 法学硕士8 , 特别政策研究所(项目4) , AWq , Gptq ,以及 挤压zelm .
📡 流的 :支持令牌流通过服务器发送事件(SSE)。你可以用/v1/generate_stream
LLMS流响应的端点。
🔄 连续批处理 ::支持连续批处理 Vllm 以提高总吞吐量。
该软件是为人工智能应用程序开发人员设计的,他们致力于基于LLMS构建可生产的应用程序。它提供了一整套工具和功能,用于微调、服务、部署和监控这些模型,简化了LLMS的端到端部署工作流。
码头工人
我们提供一个码头集装箱,帮助您开始运行开放:
TL/DR
For starter, we provide two ways to quickly try out OpenLLM:
Jupyter Notebooks
Try this OpenLLM tutorial in Google Colab: Serving Llama 2 with OpenLLM.
Docker
我们提供一个码头集装箱,帮助您开始运行开放: OpenLLM:
docker run --rm -it -p 3000:3000 ghcr.io/bentoml/openllm start facebook/opt-1.3b --backend pt
[!注意:]如果你可以访问GPS并设置 恩维迪阿-多克尔 ,你还可以通过
--gpus
使用GPU进行快速推理和优化docker run --rm --gpus all -p 3000:3000 -it ghcr.io/bentoml/openllm start HuggingFaceH4/zephyr-7b-beta --backend vllm
🏃 Get started
下面提供了如何在本地开始使用该系统的说明。
先决条件
你已经安装了PUTAN3.8(或更晚)和 pip
.我们强烈推荐使用Virtual Environment 以防止包装冲突。
安装开放式软件
通过使用pip
如下:
pip install openllm
要验证安装,请运行:
$ openllm -h
Usage: openllm [OPTIONS] COMMAND [ARGS]...
██████╗ ██████╗ ███████╗███╗ ██╗██╗ ██╗ ███╗ ███╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║██║ ██║ ████╗ ████║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║██║ ██║ ██╔████╔██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║██║ ██║ ██║╚██╔╝██║
╚██████╔╝██║ ███████╗██║ ╚████║███████╗███████╗██║ ╚═╝ ██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝ ╚═╝.
启动一个LOM服务器
可以通过该方法快速地旋转一个LLM服务器openllm start
.例如,开始 Phi2 服务器,运行如下:
Options: -v, --version Show the version and exit. -h, --help Show this message and exit. Commands: build Package a given models into a BentoLLM. import Setup LLM interactively. models List all supported models. prune Remove all saved models, (and optionally bentos) built with OpenLLM locally. query Query a LLM interactively, from a terminal. start Start a LLMServer for any supported LLM. start-grpc Start a gRPC LLMServer for any supported LLM. Extensions: build-base-container Base image builder for BentoLLM. dive-bentos Dive into a BentoLLM. get-containerfile Return Containerfile of any given Bento. get-prompt Get the default prompt used by OpenLLM. list-bentos List available bentos built by OpenLLM. list-models This is equivalent to openllm models... playground OpenLLM Playground.
Start a LLM server
OpenLLM allows you to quickly spin up an LLM server using openllm start
. For example, to start a phi-2 server, run the following:
TRUST_REMOTE_CODE=True openllm start microsoft/phi-2
从这个服务器开始 http://0.0.0.0:3000/ .如果模型以前没有注册,则将其下载到本托姆本地模型商店。去查看你的本地模型,跑bentoml models list
.
如欲与服务器互动,你可浏览网页用户界面 http://0.0.0.0:3000/ 或用 curl
.你也可以使用该内置的pymbm客户端与服务器进行交互:
import openllm
client = openllm.client.HTTPClient('http://localhost:3000')
client.query('Explain to me the difference between "further" and "farther"')
或者,使用 openllm query
命令查询模型:
export OPENLLM_ENDPOINT=http://localhost:3000
openllm query 'Explain to me the difference between "further" and "farther"'
OpenLLM seamlessly supports many models and their variants. You can specify different variants of the model to be served. For example:
openllm start <model_id> --<options>
[!注意:[只要可以加载模型体系结构,就支持为任何支持的模型指定微调权重和量化权重。使用
openllm models
命令查看支持模型、其架构及其变体的完整列表。
[!如果你在CPU上测试开放机,你可能会想通过
DTYPE=float32
.默认情况下,该系统将设置模型dtype
到bfloat16
为了最好的表演。DTYPE=float32 openllm start microsoft/phi-2
这也将适用于老的GPS。如果你不支持
bfloat16
所以你也想DTYPE=float16
.🧩 Supported models
该模型目前支持下列模型。默认情况下,该模型不包含所有模型的依赖项。可以通过下面的说明安装额外的模型专用依赖关系。