住宅机器闲置显卡部署多模型中转服务
家里有张 GTX 1060 或者 RTX 2060 闲置吃灰?
想同时跑 Qwen、LLaMA 等多个模型做测试,又不想每次手动切换端口?
本文教你利用这张显卡搭建一个统一的多模型推理中转服务——所有模型都暴露在同一个 API 地址下,按需路由。
零基础也能照着做,不需要专业运维经验。
第一步:检查硬件与安装基础软件
首先确认你的显卡:NVIDIA 显卡至少 4GB 显存才能流畅跑 7B 量化模型。
确保已安装最新驱动(NVIDIA 官网下载)和 CUDA 12.1 以上。
Windows 用户建议用 WSL2 或直接使用 Ubuntu 系统。
然后安装 Python 3.10+ 和 pip:
# Ubuntu
sudo apt update && sudo apt install python3 python3-pip -y
python3 --version
Windows 用户去官网下载安装包,安装时勾选“Add Python to PATH”。
接着安装 Docker(可选,建议用 Docker 方式部署 LiteLLM,省去环境问题):
# Ubuntu
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
# 重新登录终端生效
Windows 用户安装 Docker Desktop 并打开 WSL2 集成。
第二步:用 ollama 部署本地模型
ollama 是目前最友好的本地模型运行工具,支持 GPU 加速。
安装 ollama:
curl -fsSL https://ollama.com/install.sh | sh
# 验证
ollama --version
拉取模型(以 Qwen2.5-7B-Instruct 和 Llama-3.2-3B 为例):
ollama pull qwen2.5:7b
ollama pull llama3.2:3b
拉取完成后分别测试能否正常对话:
ollama run qwen2.5:7b "你好"
看到回复说明模型运行正常。
注意:如果显存不足,优先选择 3B 或 1.5B 模型,或使用量化版本(如 qwen2.5:7b-q4)。
第三步:部署 LiteLLM Proxy 实现多模型中转
LiteLLM 是一个开源项目,能提供兼容 OpenAI API 的统一接口,并自动把请求转发给不同的本地模型(如 ollama 运行的模型)。
创建配置文件 config.yaml:
model_list:
- model_name: qwen2.5
litellm_params:
model: ollama/qwen2.5:7b
api_base: http://localhost:11434
- model_name: llama3.2
litellm_params:
model: ollama/llama3.2:3b
api_base: http://localhost:11434
用 Docker 启动 LiteLLM Proxy:
docker run -d \
-v $(pwd)/config.yaml:/app/config.yaml \
-p 4000:4000 \
ghcr.io/berriai/litellm:main-latest \
--config /app/config.yaml --port 4000
如果不想用 Docker,也可以直接用 pip 安装并运行:
pip install 'litellm[proxy]'
litellm --config config.yaml --port 4000
启动后服务监听在 4000 端口。
第四步:测试统一 API 接口
打开新终端,用 curl 测试调用 Qwen2.5:
curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen2.5",
"messages": [{"role": "user", "content": "你好"}]
}'
换成 model 为 "llama3.2" 即可调用 Llama。
返回正常 JSON 说明中转服务搭建成功。
你也可以直接用 Python 请求:
import openai
client = openai.OpenAI(base_url="http://localhost:4000/v1", api_key="dummy")
response = client.chat.completions.create(model="qwen2.5", messages=[{"role": "user", "content": "测试"}])
print(response.choices[0].message.content)
现在只需记住一个 base_url 就能用所有本地模型。
常见问题与避坑说明
Q:启动 LiteLLM 时提示端口占用? 改参数 --port 4001,或先停掉占用进程。
Q:显存不够同时跑多个模型? 在 config.yaml 中只配一个模型,用完一个再启动另一个;
或者购买更大显存的显卡。
Q:模型加载失败或很慢? 检查 ollama 是否正在运行(ollama serve),以及显卡驱动是否正常(nvidia-smi 查看 GPU 是否被使用)。
Q:Windows 下 Docker 启动卡住? 确保 Docker Desktop 已切换 WSL2 后端,并在 Windows 终端内执行 curl 测试。
效果验证与后续优化
执行完第四步的 curl 测试,看到返回内容即成功。
你可以在任何支持 OpenAI API 的客户端(如 Open WebUI、NextChat)中填入 http://<你电脑IP>:4000/v1,就能同时切换不同模型。
优化建议:若需要公网访问,用 Nginx 反向代理并添加 HTTPS;
若想支持更多模型,继续 ollama pull 后更新 config.yaml 并重启容器。
如果你正想利用闲置显卡搭建多模型中转服务,按本文步骤走一遍,半小时就能拥有一个统一 API 的本地推理集群。
遇到其他问题欢迎在评论区留言,我会继续补充排错方案。