场景方案
本地 AI 推理机器
用 Debian 搭建本地 AI 推理主机,覆盖 GPU 驱动、模型目录、Ollama、llama.cpp、容器、资源监控和局域网访问边界。
本地 AI 推理机器适合把 Debian 主机用于运行大语言模型、嵌入模型、语音转写或图像生成服务。目标是把驱动、模型文件、推理服务、资源监控和访问边界一起规划好,避免把实验环境变成不可维护的系统。
适合谁
- 想在本地运行模型,减少外部 API 依赖的个人或团队
- 需要 GPU 加速推理、批量嵌入或离线实验的开发者
- 已经有工作站或服务器,想单独整理模型目录和服务边界的用户
推荐硬件
| 部件 | 建议 |
|---|---|
| CPU | 6 核以上更适合并发和预处理 |
| 内存 | 16 GB 起步,运行较大模型建议 32 GB+ |
| 显存 | 8 GB 可做轻量模型,16 GB+ 更适合中等模型 |
| 磁盘 | 1 TB SSD 更舒适,模型目录增长很快 |
| 网络 | 局域网服务建议有线网络,公网访问必须单独做鉴权和限流 |
安装路径
- 安装 Debian stable,先确认内核、固件和 GPU 是否正常识别。
- 按 硬件与驱动 处理显卡、固件和笔记本散热问题。
- 为模型文件、缓存和服务数据规划独立目录。
- 选择运行方式:原生二进制、Python 虚拟环境、容器或专用推理服务。
- 只在局域网内开放 API;需要公网访问时先加反向代理、鉴权和日志。
基础软件包
sudo apt update
sudo apt install git git-lfs build-essential cmake pkg-config python3 python3-venv \
python3-pip ffmpeg jq htop nvtop如果没有 NVIDIA GPU,nvtop 仍可用于部分 AMD / Intel 设备;具体能力取决于驱动和内核支持。
GPU 与驱动
先确认硬件:
lspci -nn | grep -Ei 'vga|3d|display'NVIDIA 用户先阅读 NVIDIA 驱动。不要同时混用多个来源的驱动、CUDA 包和内核模块。桌面笔记本还应阅读 笔记本兼容,确认散热、电源模式和外接显示器路径。
模型目录
建议把模型和服务数据从用户家目录中分离:
sudo install -d -m 2775 -o root -g users /srv/ai
sudo install -d -m 2775 -o root -g users /srv/ai/models
sudo install -d -m 2775 -o root -g users /srv/ai/cache目录建议:
/srv/ai/
models/
cache/
services/
logs/模型文件体积很大,备份时优先备份清单、下载来源和自定义配置;真正无法重新获取的模型再进入备份集。
运行方式
| 方式 | 适合情况 | 注意事项 |
|---|---|---|
| Ollama | 快速运行常见 LLM 和本地 API | 使用官方包或容器前先确认来源和更新策略 |
| llama.cpp | 可控、轻量、适合 GGUF 模型 | 编译选项和 GPU 后端要与硬件匹配 |
| Python 虚拟环境 | 自定义脚本、嵌入、实验 | 每个项目独立 venv,不污染系统 Python |
| 容器 | 隔离服务和依赖 | GPU 透传、数据卷、端口绑定需要单独验证 |
不要把远程安装脚本直接交给 shell 执行。下载、校验、阅读脚本后再决定是否安装。
服务边界
推理 API 默认只绑定本机或局域网:
127.0.0.1 只给本机使用
192.168.x.x 给局域网受信任设备使用
0.0.0.0 仅在反向代理和鉴权都准备好后使用如果需要给局域网访问,先设置防火墙只允许可信网段访问对应端口。
资源监控
常用检查:
free -h
df -h /srv/ai
systemctl --failed
journalctl -p warning -n 100NVIDIA 用户:
nvidia-smi如果 nvidia-smi 不可用,先回到驱动安装和内核模块排查,不要继续堆叠上层推理服务。
备份策略
优先备份:
- 推理服务配置
- 自定义提示词、工作流和模型清单
- 业务数据、向量库或嵌入索引
- 无法重新获取的模型文件
可以不备份:
- 可重新下载的公开模型
- 构建缓存
- 临时转换文件
常见问题
| 问题 | 优先检查 |
|---|---|
| GPU 没被识别 | lspci、驱动来源、内核模块、Secure Boot |
| 推理速度很慢 | 是否走 CPU、模型量化、显存占用、上下文长度 |
| 服务无法访问 | 监听地址、防火墙、反向代理、服务日志 |
| 磁盘很快写满 | 模型重复下载、缓存目录、日志和转换中间文件 |
| 更新后服务损坏 | 驱动和 CUDA 来源混用、Python 环境污染、容器标签漂移 |