本地模型
Gateway 支持集成本地运行的 LLM(大语言模型),实现离线推理、数据不出境和低延迟响应。
为什么使用本地模型
| 优势 | 说明 |
|---|---|
| 数据隐私 | 所有数据在本地处理,不经过第三方 |
| 离线可用 | 无需互联网连接 |
| 低延迟 | 无网络往返延迟 |
| 零成本 | 无 API 调用费用(仅硬件成本) |
| 合规 | 满足数据不出境等合规要求 |
混合模式
本地模型可以与云端模型共存。例如日常开发使用本地模型(零成本),复杂任务使用云端模型(高质量)。
Ollama 集成
Ollama 是最简单的本地模型运行方案。
安装 Ollama
bash
brew install ollamabash
curl -fsSL https://ollama.com/install.sh | shbash
# 从 https://ollama.com/download 下载安装程序
winget install Ollama.Ollama下载模型
bash
# 下载模型
ollama pull llama3
ollama pull codellama
ollama pull qwen2
# 查看已下载的模型
ollama list配置 Gateway
json5
{
"channels": [
{
"name": "local-ollama",
"provider": "ollama",
"baseUrl": "http://localhost:11434",
"models": ["llama3", "codellama", "qwen2"]
}
],
"models": {
"routing": {
"llama3": "local-ollama",
"codellama": "local-ollama"
}
}
}bash
# 启动 Ollama 服务
ollama serve
# 启动 Gateway
openclaw gatewayvLLM 集成
vLLM 提供高性能推理引擎,适合 GPU 服务器部署。
安装 vLLM
bash
pip install vllm启动 vLLM 服务
bash
# 启动 OpenAI 兼容 API
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Meta-Llama-3-8B-Instruct \
--port 8000配置 Gateway
json5
{
"channels": [
{
"name": "local-vllm",
"provider": "openai", // vLLM 兼容 OpenAI API
"baseUrl": "http://localhost:8000/v1",
"apiKey": "not-needed", // vLLM 本地不需要 API Key
"models": ["meta-llama/Meta-Llama-3-8B-Instruct"]
}
]
}OpenAI 兼容
vLLM 提供 OpenAI 兼容的 API 接口,因此在 Gateway 中将其配置为 "provider": "openai" 并指定本地 baseUrl 即可。
硬件要求
内存需求估算
| 模型大小 | RAM / VRAM 需求 | 适用硬件 |
|---|---|---|
| 1B-3B | 2-4 GB | 笔记本/轻量服务器 |
| 7B-8B | 4-8 GB | 消费级 GPU / Apple Silicon |
| 13B | 8-16 GB | 中端 GPU |
| 34B | 20-40 GB | 高端 GPU |
| 70B | 40-80 GB | 多 GPU 或 A100 |
推荐配置
text
CPU: Apple M1/M2 或 Intel i7+
RAM: 16 GB+
GPU: 不需要(CPU 推理)
推荐模型: llama3 (8B), qwen2 (7B)text
CPU: 任意现代 CPU
RAM: 32 GB+
GPU: NVIDIA RTX 3080+ (10 GB VRAM)
推荐模型: llama3 (8B), codellama (34B)text
CPU: 服务器级 CPU
RAM: 64 GB+
GPU: NVIDIA A100 / H100
推荐模型: llama3 (70B)性能优化
Ollama 性能调优
bash
# 设置 GPU 层数(越高越快,但需要更多 VRAM)
OLLAMA_NUM_GPU=999 ollama serve
# 设置并发数
OLLAMA_MAX_LOADED_MODELS=2 ollama serveGateway 侧优化
json5
{
"channels": [
{
"name": "local-ollama",
"provider": "ollama",
"baseUrl": "http://localhost:11434",
"maxConcurrency": 2, // 本地模型并发通常受限
"timeout": 300000 // 本地推理可能较慢,增加超时
}
]
}并发限制
本地模型的并发能力受硬件限制。建议 maxConcurrency 不超过 GPU 数量。过多并发会导致内存溢出(OOM)。
混合路由策略
本地模型 + 云端模型的混合配置:
json5
{
"channels": [
{
"name": "local",
"provider": "ollama",
"baseUrl": "http://localhost:11434",
"models": ["llama3", "codellama"]
},
{
"name": "cloud",
"provider": "openai",
"apiKey": "${OPENAI_API_KEY}",
"models": ["gpt-4o"]
}
],
"models": {
"default": "llama3", // 默认使用本地模型
"fallback": ["gpt-4o"] // 本地不可用时回退到云端
}
}🇨🇳 本地部署避免数据出境
对于中国大陆用户,使用本地模型可以确保数据不出境,满足数据安全合规要求:
json5
{
"channels": [
{
"name": "local-qwen",
"provider": "ollama",
"baseUrl": "http://localhost:11434",
"models": ["qwen2", "qwen2.5-coder"]
},
{
"name": "local-chatglm",
"provider": "ollama",
"baseUrl": "http://localhost:11434",
"models": ["chatglm4"]
}
],
"models": {
"default": "qwen2"
}
}国产模型推荐
- Qwen2 — 通义千问,综合能力优秀
- ChatGLM — 智谱 AI,中文对话能力强
- DeepSeek — 深度求索,代码能力突出
故障排查
| 问题 | 排查步骤 |
|---|---|
| 连接失败 | 确认 Ollama/vLLM 服务已启动 |
| 响应很慢 | 检查 GPU 使用率,考虑更小的模型 |
| OOM 崩溃 | 减小模型或增加 VRAM/RAM |
| 模型未找到 | ollama list 确认模型已下载 |
