纯cpu部署vllm运行大模型并对接openwebui
1、在github上拉取vllm的信息,有dockerfile文件 可以直接打包镜像
git clone https://github.com/vllm-project/vllm.git
无法git就直接进去手动下载上传到机器并解压
https://github.com/vllm-project/vllm
dockerfile的文件名称为Dockerfile.cpu
docker build -t 名字 -f 指定文件 .
2、或者直接拉我打包好的镜像
docker push crpi-bqw6jlj8rfo7p9nr.cn-hangzhou.personal.cr.aliyuncs.com/zjinimages/vllm-cpu:latest
3、拉取大模型,可以进入魔塔社区拉取需要的镜像
https://modelscope.cn/models
具体查看官方文档
https://modelscope.cn/docs/intro/quickstart
pip install modelscope
modelscope download --model="Qwen/Qwen2.5-0.5B-Instruct" --local_dir ./model-dir
4、部署vllm并运行大模型
docker run \
-v /home/aimodels/:/home/llm_deploy \
-p 8888:8000 \
--ipc=host \
-d \
--name vllm_deepseek_qwen7b \
vllm-cpu:latest \
--model /home/llm_deploy/DeepSeek-R1-Distill-Qwen-7B \
--tensor-parallel-size 2 \
--max_model_len 60000
-v /home/aimodels/:/home/llm_deploy
将宿主机的 /home/aimodels/目录挂载到容器内的 /home/llm_deploy 目录。这样容器可以访问宿主机上的文件
-p 8888:8000
将容器内部的 8000 端口映射到宿主机的 8888 端口,方便从宿主机访问容器内的服务
--ipc=host
允许容器访问宿主机的共享内存,这对于 PyTorch 等框架在多进程推理时共享数据非常重要
--tensor-parallel-size 2
设置张量并行的大小为 2,用于分布式推理
--max_model_len 30000
设置模型的最大长度为 30000
5、部署完成后测试
curl http://localhost:8888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "/home/llm_deploy/DeepSeek-R1-Distill-Qwen-7B",
"messages": [
{"role": "user", "content": "你是谁?"}
]
}'
6、对接openwebui
别的具体信息可以查看open-webui的github的README文件
https://github.com/open-webui/open-webui/blob/main/README.md
docker run -d -p 3000:8080 --name open-webui \
-e OPENAI_API_BASE_URL=http://vllm-server:8000/v1 \
ghcr.io/open-webui/open-webui:main
http://vllm-server:8000/v1
vllm-server是你部署vllm的机器ip
登录openwebui
http://ip:3000