🏠 为什么要本地部署模型?

私有化部署大语言模型有三大核心优势:数据不出企业内网、零 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"

💡 最佳实践

  1. 模型选择 - 内网部署推荐 Qwen2.5 系列(中文优化),国际业务选 Llama 3.3
  2. GPU 分配 - vLLM 支持 tensor parallelism,多卡部署提升吞吐量
  3. 混合部署 - 敏感数据用本地模型,通用任务用云端 GPT-4o,OpenClaw 自动路由
  4. 量化策略 - 显存不足时使用 AWQ/GPTQ 量化,14B 模型最低只需 8GB 显存
  5. 健康检查 - 配置 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 中文能力相对较弱

🔗 相关教程