随着Deepseek-R1的爆火,市面上出现了许多 当地部署deepseek的教程,但是看了一圈发现都是用ollama部署模型。ollama框架固然上手简单,容易部署,但是其对于高并发的处理不敷美满,大部门模型都是量化后的版本,多多少少会影响使用。因此,在企业级的模型部署上必要寻找其他的推理框架。本篇文章就是记录了 近来工作中真实的模型部署与前端部署流程。
一 大模型部署
1.1 推荐框架:Xinference / GPUstack
1.1.1 Xinference :
官网:接待来到 Xinference! — Xinference
github : GitHub - xorbitsai/inference: Replace OpenAI GPT with another LLM in your app by changing a single line of code. Xinference gives you the freedom to use any LLM you need. With Xinference, you're empowered to run inference with any open-source language models, speech recognition models, and multimodal models, whether in the cloud, on-premises, or even on your laptop.
个人认为是用过最好用的框架,没有之一!docker部署简单,界面操纵容易。缺点是要求CUDA>=12.4,且不支持国产硬件。
1.1.2 GPUstack :
官网:GPUStack.ai
github: GitHub - gpustack/gpustack: Manage GPU clusters for running AI models
界面操纵容易,部署也较为简单,支持多个cuda版本,且适配了国产npu和rocm,非常适合国产企业部署模型。同时可以将多个服务器组成集群,布更大的模型(满血版deepseek-r1 必要两台16卡A100)
由于笔者的工作必要用到国产的硬件,因此选择了GPUstack,本文也记录GPUstack的部署流程。
1.2 部署方式:
1.2.1 docker部署(推荐)
1.2.1.1 CUDA部署命令:
docker run -d --name gpustack \
--restart=unless-stopped \
--gpus all \
--network=host \
--ipc=host \
-v gpustack-data:/var/lib/gpustack \
-v {模型当地路径}:/app/models \
gpustack/gpustack
如果出现端口冲突,可调解端口号:
docker run -d --name gpustack \
--restart=unless-stopped \
--gpus all \
-p 80:80 \
-p 10150:10150 \
-p 40000-41024:40000-41024 \
-p 50000-51024:50000-51024 \
--ipc=host \
-v gpustack-data:/var/lib/gpustack \
-v {模型当地路径}:/app/models \
gpustack/gpustack --worker-ip your_host_ip
1.2.1.2 Amd ROCm:
docker run -d --name gpustack \
--restart=unless-stopped \
-p 80:80 \
--ipc=host \
--group-add=video \
--security-opt seccomp=unconfined \
--device /dev/kfd \
--device /dev/dri \
-v gpustack-data:/var/lib/gpustack \
gpustack/gpustack:latest-rocm
1.2.1.3 Ascend CANN ( 貌似只能910B)
docker run -d --name gpustack \
--restart=unless-stopped \
-e ASCEND_VISIBLE_DEVICES=0 \
-p 80:80 \
--ipc=host \
-v gpustack-data:/var/lib/gpustack \
gpustack/gpustack:latest-npu
1.2.2 源码部署
Linux/Macos:
curl -sfL https://get.gpustack.ai | sh -s -
Windowns:
Invoke-Expression (Invoke-WebRequest -Uri "https://get.gpustack.ai" -UseBasicParsing).Content
1.3 部署模型
输入:
docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password
获取初始暗码,需记住,一会有效
访问http://localhost:80 进行登录(根据你的端口进行调解)
初始用户名为 admin 初始暗码为刚刚获取的字符串
登录后会看到如下界面:
此时点击左侧的模型,进行部署:
推荐当地部署或modelscope下载部署
1.3.1 modelscope下载部署步调:
等待下载完成即可
1.3.2 当地部署:
模型显示正在runing即部署完成:
比方我的显示:
0cc86760222f
172.17.0.2:40158
GPU 序号: [1,2]
后端: vllm
后续部署前端界面必要这个端口号
1.4 获取API密钥
左侧 API密钥——新建API密钥——生存
此时会得到一个类似 gpustack_*********** 的密钥,注意生存,今后不会再出现
至此模型部署完成
二 前端界面部署
前端界面使用 open-webui 的开源项目
github : https://github.com/open-webui/open-webui
官网: |