一、基于容器创建
进入节点后先启动容器,在容器中进行后续的操作(只需要执行一次就好,只要容器存在,下次直接进入就行)
docker run -it --device=/dev/dri --device=/dev/htcd --group-add video --name openwebui-vllm-deepseek --network=host --security-opt seccomp=unconfined --security-opt apparmor=unconfined --shm-size 100gb --ulimit memlock=-1 -v /gpfs_ssd/models/DeepSeek-R1-Distill-Llama-70B:/models/DeepSeek-R1-Distill-Llama-70B vllm:hpcc2.27.0.9-torch2.1-py310-ubuntu20.04-amd64 /bin/bash
--name openwebui-vllm-deepseek:容器名称,可随意更改,不与其他容器重复即可
/gpfs_ssd/models/DeepSeek-R1-Distill-Llama-70B:/models/DeepSeek-R1-Distill-Llama-70B:本地模型地址:容器模型地址
vllm:hpcc2.27.0.9-torch2.1-py310-ubuntu20.04-amd64:所基于启动的镜像
其他都是默认选项,一般情况下不推荐更改
创建容器后,以后执行以下命令即可,如果遇到容器关闭,先启动容器(docker start openwebui-vllm-deepseek),在执行以下命令进入,如果想关闭容器(docker stop openwebui-vllm-deepseek)
docker exec -it openwebui-vllm-deepseek bash
进入容器后,四卡启动ds
CUDA_VISIBLE_DEVICES=0,1,2,3 vllm serve /models/DeepSeek-R1-Distill-Llama-70B/ --port 8000 --device cuda --tensor-parallel-size 4 --gpu-memory-utilization 0.95 --max_model_len 8784
CUDA_VISIBLE_DEVICES=0,1,2,3:设置使用的GPU,可在0~7内选择,70B需要四卡
/models/DeepSeek-R1-Distill-Llama-70B/:本地模型的位置,注意这个值和后续API要保持一致
--port 8000:对外暴露的端口,默认8000,可按照自己的需求更改
--tensor-parallel-size 4:指定张量并行的大小,因为这次是4卡启动所以为4
--gpu-memory-utilization 0.95:GPU显存的最大利用率,0.95代表不会超过95%
--max_model_len 8784:指定模型可以处理的最大序列长度,不需要太长,够用即可
# # 等待这条命令运行完毕,即表示API启动完毕,可按照以下的形式通过postman进行验证(显示以下内容表示成功启动)
INFO: Started server process [15]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
注意:post后面的地址要更换为当前服务器的ip,比如当前是10.252.17.35,就用这个替换202.120.92.104,端口默认8000,如果更改就按照更改的来
二、postman调用
注意:model的值要与vllm serve所启动的模型地址一样,不然会被拒绝请求。
三、OpenWebUI部署
单独创建conda环境运行openwebui
conda create -n owu python=3.11 -y
conda activate owu --enable-reasoning
pip install open-webui -i http://mirrors.aliyun.com/pypi/simple
启动前设置好变量
export HF_ENDPOINT=https://hf-mirror.com
export ENABLE_OLLAMA_API=False
export OPENAI_API_BASE_URL=http://127.0.0.1:8000/v1
export RAG_EMBEDDING_MODEL=/workspace/all-MiniLM-L6-v2/
export DEFAULT_MODELS="/models/DeepSeek-R1-Distill-Llama-70B/"
启动即可
open-webui serve