项目介绍:Modelz LLM
Modelz LLM 是一个用于开放源码大型语言模型(LLMs)的推理服务器。该项目旨在通过兼容 OpenAI 的 API,使用户能够在本地或基于云的环境上使用这些模型,如 FastChat、LLaMA 和 ChatGLM。
主要功能
- OpenAI 兼容 API:Modelz LLM 提供 OpenAI 兼容的 API,因此用户可以使用 OpenAI Python SDK 或 LangChain 与模型进行交互。
- 自托管:用户可以在本地或云环境中轻松地部署 Modelz LLM。
- 开放源码 LLMs:该项目支持多种开放源码的 LLMs,例如 FastChat、LLaMA 和 ChatGLM。
- 云原生:我们提供不同 LLMs 的 Docker 映像,这些映像可以很方便地在 Kubernetes 或其他云环境中部署,例如 Modelz。
快速开始
安装步骤
用户可以通过以下指令安装 Modelz LLM:
pip install modelz-llm
# 或从源码安装
pip install git+https://github.com/tensorchord/modelz-llm.git[gpu]
运行自托管 API 服务器
在开始使用前,用户需要启动自托管的 API 服务器:
modelz-llm -m bigscience/bloomz-560m --device cpu
当前支持的模型如下:
模型名称 | Huggingface 模型 | Docker 映像 | 推荐 GPU |
---|---|---|---|
FastChat T5 | lmsys/fastchat-t5-3b-v1.0 | modelzai/llm-fastchat-t5-3b | Nvidia L4(24GB) |
Vicuna 7B Delta V1.1 | lmsys/vicuna-7b-delta-v1.1 | modelzai/llm-vicuna-7b | Nvidia A100(40GB) |
LLaMA 7B | decapoda-research/llama-7b-hf | modelzai/llm-llama-7b | Nvidia A100(40GB) |
ChatGLM 6B INT4 | THUDM/chatglm-6b-int4 | modelzai/llm-chatglm-6b-int4 | Nvidia T4(16GB) |
ChatGLM 6B | THUDM/chatglm-6b | modelzai/llm-chatglm-6b | Nvidia L4(24GB) |
Bloomz 560M | bigscience/bloomz-560m | modelzai/llm-bloomz-560m | CPU |
Bloomz 1.7B | bigscience/bloomz-1b7 | CPU | |
Bloomz 3B | bigscience/bloomz-3b | Nvidia L4(24GB) | |
Bloomz 7.1B | bigscience/bloomz-7b1 | Nvidia A100(40GB) |
使用 OpenAI Python SDK
用户可以使用 OpenAI 的 Python SDK 来与模型进行交互:
import openai
openai.api_base="http://localhost:8000"
openai.api_key="any"
# 创建聊天完成
chat_completion = openai.ChatCompletion.create(model="any", messages=[{"role": "user", "content": "Hello world"}])
与 Langchain 集成
用户也可以将 modelz-llm 和 Langchain 集成:
import openai
openai.api_base="http://localhost:8000"
openai.api_key="any"
from langchain.llms import OpenAI
llm = OpenAI()
llm.generate(prompts=["Could you please recommend some movies?"])
在 Modelz 上部署
用户还可以直接在 Modelz 上部署 modelz-llm:
支持的 API
Modelz LLM 支持以下 API 用于与开放源码的大型语言模型进行交互:
/completions
/chat/completions
/embeddings
/engines/<any>/embeddings
/v1/completions
/v1/chat/completions
/v1/embeddings
致谢
该项目受到以下开源项目的启发: