为什么本地部署?#
| 理由 | 说明 |
|---|
| 隐私 | 数据不出服务器,符合合规要求 |
| 成本 | 高频调用时比 API 便宜 10-100 倍 |
| 延迟 | 本地推理延迟 < 50ms(API 通常 200-500ms) |
| 可控 | 模型版本、参数完全自主 |
硬件需求#
按模型规模选 GPU#
| 模型 | 参数量 | FP16 显存 | INT4 显存 | 推荐 GPU |
|---|
| 7B | 70 亿 | 14 GB | 5 GB | RTX 4090 / A10 |
| 14B | 140 亿 | 28 GB | 10 GB | A10 / A100 40G |
| 72B | 720 亿 | 144 GB | 40 GB | A100 80G × 2 |
| 235B | 2350 亿 | 470 GB | 130 GB | A100 80G × 6 |
Windows 环境方案#
| 方案 | 工具 | 适合 | 说明 |
|---|
| LM Studio | 图形界面 | 个人 | 一键下载运行,最简单 |
| Ollama | 命令行 | 开发 | 自动量化,API 兼容 |
| vLLM (WSL2) | 服务端 | 生产 | 高吞吐,需 WSL2 |
| llama.cpp | 命令行 | 极客 | 轻量,支持 Vulkan |
方案一:Ollama 本地部署(最简单)#
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows: 下载 https://ollama.com/download/OllamaSetup.exe
运行模型#
# 运行 Qwen3 7B(自动下载+量化)
ollama run qwen3:7b
# 运行 72B(需要 48GB+ 显存)
ollama run qwen3:72b
# 查看已下载模型
ollama list
# API 服务(默认 11434 端口)
curl http://localhost:11434/api/chat -d '{
"model": "qwen3:7b",
"messages": [{"role": "user", "content": "你好"}]
}'
OpenAI 兼容 API#
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 任意值即可
)
response = client.chat.completions.create(
model="qwen3:7b",
messages=[{"role": "user", "content": "解释 MCP 协议"}]
)
print(response.choices[0].message.content)
方案二:vLLM 生产级部署#
启动服务#
# 单 GPU
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3-72B \
--quantization awq \
--max-model-len 32768 \
--gpu-memory-utilization 0.9 \
--port 8000
# 多 GPU 张量并行
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3-235B \
--tensor-parallel-size 4 \
--max-model-len 65536 \
--port 8000
关键参数#
| 参数 | 说明 | 推荐值 |
|---|
--quantization | 量化方式 | awq / gptq / fp8 |
--max-model-len | 最大上下文 | 32768 |
--gpu-memory-utilization | GPU 显存利用率 | 0.85-0.95 |
--tensor-parallel-size | 张量并行数 | GPU 数量 |
--enable-prefix-caching | 前缀缓存 | 开启(加速重复 Prompt) |
性能测试#
# 吞吐量测试
python -m vllm.entrypoints.openai.api_server --model ... &
# 使用 benchmark 工具
benchmark_serving.py \
--backend vllm \
--base-url http://localhost:8000 \
--model Qwen/Qwen3-72B \
--num-prompts 1000 \
--request-rate 10
方案三:LM Studio(Windows 桌面)#
- 下载安装 LM Studio
- 搜索模型(如
Qwen3 7B GGUF) - 选择量化版本(推荐 Q4_K_M)
- 下载 → 加载 → 对话
优势:图形界面,无需命令行,支持 Vulkan 后端
搭配 Agent 框架#
# 本地模型 + LangChain Agent
from langchain_openai import ChatOpenAI
from langchain.agents import create_react_agent
# 指向本地服务
llm = ChatOpenAI(
base_url="http://localhost:8000/v1", # vLLM 或 Ollama
api_key="dummy",
model="Qwen/Qwen3-72B",
temperature=0
)
# 创建 Agent
agent = create_react_agent(llm, tools=[])
result = agent.invoke({"input": "帮我分析今天的天气数据"})
成本对比#
场景:日均 10 万次 API 调用#
| 方案 | 月成本 | 延迟 |
|---|
| GPT-4o API | ~$6,000 | 300ms |
| Claude 4 API | ~$7,500 | 250ms |
| 本地 Qwen3-72B (A100×2) | ~$2,000(租金) | 40ms |
| 本地 Qwen3-7B (RTX 4090) | ~$300(电费) | 20ms |
结论:高频调用场景,本地部署 3-6 个月即可回本。
常见问题#
| 问题 | 解决方案 |
|---|
| 显存不足 | 降低量化精度 (FP16→INT8→INT4) |
| 速度慢 | 启用 prefix caching + 增加 batch size |
| 中文质量差 | 优先选 Qwen / DeepSeek(中文优化) |
| 并发低 | 用 vLLM 替代 Ollama |
| Windows 兼容 | 用 Ollama 或 LM Studio |
本地部署不再是「大厂专利」。一台 RTX 4090 + Qwen3 7B 就能跑出不错的 Agent。在硅基 AGI 的探索中,私有化部署是数据安全和技术自主的基石。
加入讨论#
这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。
碳基与硅基的智慧碰撞,认知差异创造无限可能。