Skip to content

Latest commit

 

History

History
157 lines (93 loc) · 5.98 KB

SCRIPT.md

File metadata and controls

157 lines (93 loc) · 5.98 KB

环境配置

使用 docker 或者本地环境两种方式之一,推荐使用 docker

docker

构建镜像

docker build -f docker/Dockerfile -t llm-api:pytorch .

本地环境

安装依赖

pip install torch>=2.3.0
pip install -r requirements.txt

启动模型

环境变量含义

  • MODEL_NAME: 模型名称,如 chatglm4qwen2llama3

  • PROMPT_NAME: 使用的对话模板名称,如果不指定,则将根据 tokenizer 找到对应的模板

  • MODEL_PATH: 开源大模型的文件所在路径

  • EMBEDDING_NAME(可选项): 嵌入模型的文件所在路径,推荐使用 moka-ai/m3e-base 或者 BAAI/bge-large-zh

  • CONTEXT_LEN(可选项): 上下文长度,默认为 2048

  • LOAD_IN_8BIT(可选项): 使用模型 8bit 量化

  • LOAD_IN_4BIT(可选项): 使用模型 4bit 量化

  • TASKS(可选项): llm 表示启动对话大模型,rag 表示启动文档文档相关接口,比如embeddingrerank

启动方式

选择下面两种方式之一启动模型接口服务

docker启动

  1. docker run

不同模型只需要将 .env.example 文件内容复制到 .env 文件中

cp .env.example .env

然后修改 .env 文件中的环境变量

docker run -it -d --gpus all --ipc=host -p 7891:8000 --name=llm-api \
    --ulimit memlock=-1 --ulimit stack=67108864 \
    -v `pwd`:/workspace \
    llm-api:pytorch \
    python api/server.py
  1. docker compose
docker-compose up -d

本地启动

同样的,将 .env.example 文件内容复制到 .env 文件中

cp .env.example .env

然后修改 .env 文件中的环境变量

cp api/server.py .
python server.py

环境变量修改参考

QWEN系列

模型 环境变量示例
qwen MODEL_NAME=qwenMODEL_PATH=Qwen/Qwen-7B-ChatPROMPT_NAME=qwenDEVICE_MAP=cuda:0
qwen1.5 MODEL_NAME=qwen2MODEL_PATH=Qwen/Qwen1.5-7B-ChatPROMPT_NAME=qwen2DEVICE_MAP=cuda:0
qwen2 MODEL_NAME=qwen2MODEL_PATH=Qwen/Qwen2-7B-InstructPROMPT_NAME=qwen2DEVICE_MAP=cuda:0

GLM系列

模型 环境变量示例
chatglm MODEL_NAME=chatglmMODEL_PATH=THUDM/chatglm-6bPROMPT_NAME=chatglmDEVICE_MAP=cuda:0
chatglm2 MODEL_NAME=chatglm2MODEL_PATH=THUDM/chatglm2-6bPROMPT_NAME=chatglm2DEVICE_MAP=cuda:0
chatglm3 MODEL_NAME=chatglm3MODEL_PATH=THUDM/chatglm3-6bPROMPT_NAME=chatglm3DEVICE_MAP=cuda:0
glm4-chat MODEL_NAME=chatglm4MODEL_PATH=THUDM/glm-4-9b-chatPROMPT_NAME=chatglm4DEVICE_MAP=cuda:0
glm-4v MODEL_NAME=glm-4vMODEL_PATH=THUDM/glm-4v-9bPROMPT_NAME=glm-4vDEVICE_MAP=autoDTYPE=bfloat16

BAICHUAN系列

模型 环境变量示例
baichuan MODEL_NAME=baichuanMODEL_PATH=baichuan-inc/Baichuan-13B-ChatPROMPT_NAME=baichuanDEVICE_MAP=auto
baichuan2 MODEL_NAME=baichuan2MODEL_PATH=baichuan-inc/Baichuan2-13B-ChatPROMPT_NAME=baichuan2DEVICE_MAP=auto

INTERNLM系列

模型 环境变量示例
internlm MODEL_NAME=internlmMODEL_PATH=internlm/internlm-chat-7bPROMPT_NAME=internlmDEVICE_MAP=cuda:0
internlm2 MODEL_NAME=internlm2MODEL_PATH=internlm/internlm2-chat-20bPROMPT_NAME=internlm2DEVICE_MAP=auto

Yi系列

模型 环境变量示例
yi MODEL_NAME=yiMODEL_PATH=01-ai/Yi-34B-ChatPROMPT_NAME=yiDEVICE_MAP=auto
yi1.5 MODEL_NAME=yi1.5MODEL_PATH=01-ai/Yi1.5-9B-ChatPROMPT_NAME=yiDEVICE_MAP=cuda:0

DEEPSEEK系列

模型 环境变量示例
deepseek-coder MODEL_NAME=deepseek-coderMODEL_PATH=deepseek-ai/deepseek-coder-33b-instructPROMPT_NAME=deepseek-coderDEVICE_MAP=auto
deepseek-chat MODEL_NAME=deepseekMODEL_PATH=deepseek-ai/deepseek-llm-67b-chatPROMPT_NAME=deepseekDEVICE_MAP=auto

LLAMA系列

模型 环境变量示例
llama2 MODEL_NAME=llama2MODEL_PATH=meta-llama/Llama-2-7b-chat-hfPROMPT_NAME=llama2DEVICE_MAP=cuda:0
llama3 MODEL_NAME=llama3MODEL_PATH=meta-llama/Meta-Llama-3-8B-InstructPROMPT_NAME=llama3DEVICE_MAP=cuda:0