🏠 为什么要本地部署模型?
私有化部署大语言模型有三大核心优势:数据不出企业内网、零 API 费用、可定制微调。OpenClaw 通过标准 OpenAI 兼容接口,无需修改任何代码即可接入各类本地模型服务。
🔒 数据安全
敏感数据不离开本地,满足合规要求
💰 零成本
无 API 调用费用,适合高频使用场景
⚡ 低延迟
内网推理,响应速度不受公网影响
🛠️ 可定制
支持微调、量化、自定义系统提示
🚀 方案一:Ollama 快速接入
Ollama 是最简单的本地模型部署方案,适合快速原型验证。
1. 安装 Ollama
# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
# 启动 Ollama 服务(默认监听 11434 端口)
ollama serve
2. 下载模型
# 下载 Llama 3.3 8B(推荐起步)
ollama pull llama3.3:8b
# 或下载其他模型
ollama pull qwen2.5:14b # 中文能力更强
ollama pull mistral:7b # 推理速度快
ollama pull codellama:13b # 代码生成专用
3. 配置 OpenClaw
# gateway.yaml
models:
- name: local-llama
provider: openai-compatible
base_url: "http://localhost:11434/v1"
model: "llama3.3:8b"
api_key: "ollama" # Ollama 不需要真实 key
max_tokens: 8192
temperature: 0.7
default_model: local-llama
⚡ 方案二:vLLM 高性能推理
vLLM 是生产级推理引擎,支持 PagedAttention,吞吐量远超 Ollama,适合企业部署。
1. 安装 vLLM
# 需要 CUDA 环境
pip install vllm
# 或使用 Docker
docker run --gpus all \
-p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:latest \
--model Qwen/Qwen2.5-14B-Instruct
2. 启动 vLLM 服务
# 启动 OpenAI 兼容 API 服务
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-14B-Instruct \
--port 8000 \
--gpu-memory-utilization 0.9
3. 配置 OpenClaw 连接 vLLM
# gateway.yaml
models:
- name: vllm-qwen
provider: openai-compatible
base_url: "http://localhost:8000/v1"
model: "Qwen/Qwen2.5-14B-Instruct"
api_key: "EMPTY"
max_tokens: 16384
# 多模型路由
- name: vllm-codellama
provider: openai-compatible
base_url: "http://localhost:8001/v1"
model: "codellama/CodeLlama-13b-Instruct-hf"
api_key: "EMPTY"
💡 最佳实践
- 模型选择 - 内网部署推荐 Qwen2.5 系列(中文优化),国际业务选 Llama 3.3
- GPU 分配 - vLLM 支持 tensor parallelism,多卡部署提升吞吐量
- 混合部署 - 敏感数据用本地模型,通用任务用云端 GPT-4o,OpenClaw 自动路由
- 量化策略 - 显存不足时使用 AWQ/GPTQ 量化,14B 模型最低只需 8GB 显存
- 健康检查 - 配置 OpenClaw 的
health_check监控本地服务状态
📝 代码示例
混合路由配置
# gateway.yaml - 自动选择最优模型
routing:
rules:
- pattern: ".*敏感数据.*|.*内部文档.*"
model: local-llama
- pattern: ".*代码生成.*|.*编程.*"
model: vllm-codellama
- pattern: ".*"
model: gpt-4o # 兜底模型
Agent 中使用本地模型
# 启动指定使用本地模型的 Agent
openclaw agent create \
--name "private-agent" \
--model local-llama \
--system-prompt "你是一个处理内部文档的助手,数据不外传"
# 或者通过 session 动态切换
session_status(model="local-llama")
⚠️ 注意事项
已知限制:
- 本地模型的函数调用能力弱于云端模型,建议配合
tool-calling降级策略 - vLLM 首次加载模型较慢(约 30-60 秒),建议在 Gateway 启动时预热
- Ollama 的并发性能有限,高并发场景推荐 vLLM
- 中文场景建议优先选择 Qwen2.5 系列,Llama 中文能力相对较弱