1. 项目概述
最近在帮朋友公司搭建内部AI开发环境时,遇到个有意思的需求:他们想要在局域网内部署一套能支持多种大模型的服务平台,要求既能保证数据安全,又要方便开发团队调用。经过几轮方案对比,最终选择了Ubuntu Server + Ollama + LiteLLM + Claude Code这套组合方案。今天就把完整实施过程整理出来,特别适合需要在内网环境搭建AI服务的中小团队参考。
这套方案有几个突出优势:首先,Ollama作为本地模型管理工具,可以轻松部署各类开源大模型;其次,LiteLLM提供的统一API接口,让开发团队可以用相同方式调用不同模型;最后,Claude Code的加入使得代码生成和补全能力得到质的提升。整个系统完全运行在局域网内,既满足了数据不出内网的安全要求,又提供了接近云端大模型的使用体验。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与系统配置
2.1 硬件选型建议
根据实际使用经验,推荐以下硬件配置:
- CPU:至少16核(如AMD EPYC 7B12或Intel Xeon Silver 4310)
- 内存:128GB起步(运行7B模型约需20GB,70B模型需要140GB+)
- 存储:1TB NVMe SSD(模型文件体积庞大,建议预留足够空间)
- GPU:可选配(如NVIDIA A10G或RTX 4090,能显著提升推理速度)
重要提示:如果预算有限,可先不配置GPU,纯CPU环境也能运行,只是推理速度会慢3-5倍。
2.2 Ubuntu Server安装
推荐使用24.04 LTS版本,安装时注意:
- 选择"最小化安装"模式,减少不必要的软件包
- 分区方案建议:
- /boot:1GB
- swap:内存的1.5倍(如128GB内存则分配192GB swap)
- /:剩余全部空间
- 安装完成后立即执行:
bash复制sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git python3-pip docker.io
2.3 网络与安全配置
由于是内网环境,需要特别关注:
- 配置静态IP(示例):
bash复制sudo nano /etc/netplan/00-installer-config.yaml
内容调整为:
yaml复制network:
ethernets:
ens33:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
version: 2
- 防火墙设置:
bash复制sudo ufw allow 22/tcp
sudo ufw allow 8000/tcp # LiteLLM默认端口
sudo ufw enable
3. 核心组件安装与配置
3.1 Ollama部署实践
3.1.1 安装与加速技巧
官方安装命令很简单:
bash复制curl -fsSL https://ollama.com/install.sh | sh
但国内用户常遇到下载慢的问题,解决方法:
- 使用国内镜像源:
bash复制OLLAMA_HOST=mirror.ghproxy.com curl -fsSL https://ollama.com/install.sh | sh
- 安装完成后修改配置:
bash复制mkdir -p ~/.ollama
echo 'OLLAMA_HOST=mirror.ghproxy.com' >> ~/.ollama/env
3.1.2 模型管理与优化
常用操作命令:
- 拉取模型:
ollama pull llama3 - 运行模型:
ollama run llama3 - 查看已安装模型:
ollama list
内存优化技巧:
bash复制# 限制模型使用的CPU线程数
OLLAMA_NUM_THREADS=8 ollama run llama3
# 启用GPU加速(如有N卡)
sudo docker exec -it ollama nvidia-smi # 验证GPU识别
3.2 LiteLLM配置详解
3.2.1 安装与基本配置
安装命令:
bash复制pip install litellm
创建配置文件config.yaml:
yaml复制model_list:
- model_name: llama3-local
litellm_params:
model: ollama/llama3
api_base: http://localhost:11434
- model_name: claude-code
litellm_params:
model: claude-code
api_key: "your_api_key" # 如果是付费版
启动代理服务:
bash复制litellm --config config.yaml --port 8000
3.2.2 高级功能实现
- 负载均衡配置:
yaml复制model_list:
- model_name: llama3-cluster
litellm_params:
model: ollama/llama3
api_base:
- http://192.168.1.100:11434
- http://192.168.1.101:11434
- 用量监控:
bash复制# 安装监控组件
pip install prometheus-client
# 启动带监控的服务
litellm --config config.yaml --port 8000 --telemetry
3.3 Claude Code集成方案
3.3.1 安装与配置
官方推荐安装方式:
bash复制curl -fsSL https://claude-code.ai/install.sh | sh
常见问题解决:
- 遇到"deepseek-v4-flash is not recognized"错误时:
bash复制# 编辑模型兼容配置
nano ~/.claude-code/models/compatibility.json
# 添加以下内容
{
"deepseek-v4-flash": "llama3"
}
3.3.2 VS Code插件配置
- 安装官方插件:在VS Code中搜索"Claude Code"
- 配置settings.json:
json复制{
"claude-code.endpoint": "http://localhost:8000",
"claude-code.model": "claude-code",
"claude-code.autoTrigger": true
}
4. 系统优化与维护
4.1 性能调优实战
- Ollama启动参数优化:
bash复制# 编辑服务配置文件
sudo nano /etc/systemd/system/ollama.service
# 添加以下参数
ExecStart=/usr/bin/ollama serve --num-threads 16 --max-ram 64G
- LiteLLM缓存配置:
yaml复制# 在config.yaml中添加
caching:
type: "redis"
host: "localhost"
port: 6379
4.2 监控与日志管理
推荐使用Grafana+Prometheus监控方案:
- 安装监控组件:
bash复制sudo apt install -y prometheus grafana
docker run -d -p 6379:6379 redis
- 配置数据源:
bash复制# 编辑Prometheus配置
sudo nano /etc/prometheus/prometheus.yml
# 添加以下内容
scrape_configs:
- job_name: 'litellm'
static_configs:
- targets: ['localhost:8000']
4.3 备份与恢复策略
- 模型备份脚本:
bash复制#!/bin/bash
# 备份Ollama模型
tar -czvf ollama_models_$(date +%F).tar.gz ~/.ollama/models
# 备份Claude Code配置
tar -czvf claude_config_$(date +%F).tar.gz ~/.claude-code
- 自动化备份方案:
bash复制# 添加cron任务
crontab -e
# 每周日凌晨3点执行备份
0 3 * * 0 /path/to/backup_script.sh
5. 常见问题排错指南
5.1 安装阶段问题
- Ollama下载慢:
bash复制# 临时换源解决方案
export OLLAMA_HOST=mirror.ghproxy.com
ollama pull llama3
- 端口冲突处理:
bash复制# 查看端口占用
sudo netstat -tulnp | grep 11434
# 修改Ollama端口
OLLAMA_HOST=0.0.0.0:11435 ollama serve
5.2 运行时报错
- "CUDA out of memory":
bash复制# 降低batch size
ollama run llama3 --num_ctx 2048
- "Model not found":
bash复制# 检查模型列表
ollama list
# 重新拉取模型
ollama pull llama3
5.3 性能问题排查
- 推理速度慢:
bash复制# 查看系统资源使用
htop
# 检查GPU使用情况(如有)
nvidia-smi
- API响应超时:
bash复制# 测试网络延迟
ping 192.168.1.100
# 检查服务日志
journalctl -u ollama -f
这套方案在我们实际生产环境中已经稳定运行了3个月,支持了15人左右的开发团队日常使用。最大的收获是发现Ollama的模型热加载功能特别实用,可以在不中断服务的情况下切换模型版本。另外建议定期清理不再使用的模型版本,否则磁盘空间会增长得很快。
