大模型本地部署方案
本地部署大模型(LLM)的方法很多,不同方案在易用性、性能、资源占用和可定制性之间各有侧重。如果目标是学习 AI、搭建个人知识库、开发 AI 应用或者在个人服务器上运行模型,可以按照下面的分类来理解。
一、整体方案对比
| 方案 | 难度 | 推荐指数 | 适合人群 |
|---|---|---|---|
| Ollama | ⭐ | ⭐⭐⭐⭐⭐ | 新手、开发者 |
| LM Studio | ⭐ | ⭐⭐⭐⭐⭐ | 想要图形界面 |
| vLLM | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 高性能推理、API 服务 |
| llama.cpp | ⭐⭐ | ⭐⭐⭐⭐ | CPU 或低显存环境 |
| Hugging Face Transformers | ⭐⭐⭐ | ⭐⭐⭐⭐ | Python 开发 |
| Text Generation Inference (TGI) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 企业部署 |
| Kubernetes + 推理服务 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 运维、生产环境 |
二、Ollama(最推荐入门)
Ollama 是目前最流行的本地大模型运行工具。
特点:
-
一条命令即可运行模型
-
自动下载模型
-
提供 OpenAI 兼容 API
-
支持 macOS、Linux、Windows
-
社区模型丰富
例如:
ollama run qwen3
或者:
ollama run llama3.1
查看本地模型:
ollama list
启动 API:
ollama serve
然后就可以通过 HTTP 调用:
http://localhost:11434/api/chat
适合:
-
个人博客 AI 助手
-
Obsidian 知识库问答
-
VS Code AI 插件
-
Open WebUI
优点:
-
安装简单
-
模型管理方便
-
API 易于集成
缺点:
- 自定义能力不如 vLLM。
三、LM Studio(零代码)
如果完全不想写命令,可以使用 LM Studio。
功能:
-
图形界面下载模型
-
聊天界面
-
OpenAI API 兼容
-
模型管理
-
GPU 自动配置
适合:
-
Windows 用户
-
AI 初学者
-
演示和体验
四、vLLM(生产环境首选)
如果要部署 API 服务,vLLM 是目前最热门的方案之一。
特点:
-
GPU 利用率高
-
支持连续批处理(Continuous Batching)
-
支持张量并行
-
OpenAI API 兼容
-
吞吐量高
安装:
pip install vllm
启动:
vllm serve Qwen/Qwen3-8B
API:
POST /v1/chat/completions
适合:
-
AI 平台
-
企业内部模型
-
多用户调用
-
高并发推理
五、llama.cpp(CPU 神器)
如果没有 NVIDIA GPU,可以选择 llama.cpp。
特点:
-
CPU 可运行
-
支持 Apple Silicon
-
支持量化模型(GGUF)
-
占用内存低
例如:
./llama-cli \
-m qwen3.gguf
支持:
-
Qwen
-
Llama
-
Mistral
-
Gemma
-
DeepSeek 等
适合:
-
老电脑
-
Mini PC
-
树莓派(小模型)
-
NAS
六、Transformers(开发者最常用)
如果要写 Python 程序,通常直接使用 Hugging Face Transformers。
示例:
from transformers import AutoModelForCausalLM
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-7B")
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-7B"
)
优点:
-
最灵活
-
与 PyTorch 深度集成
-
微调方便
缺点:
-
配置较复杂
-
推理性能不如 vLLM
七、Text Generation Inference(TGI)
这是 Hugging Face 官方的推理服务。
特点:
-
Docker 部署
-
REST API
-
多 GPU
-
流式输出
-
Prometheus 指标
适合:
-
企业服务
-
Kubernetes
-
大规模推理
八、Docker 部署
几乎所有推理框架都支持 Docker。
例如:
Docker
│
├── Ollama
├── Open WebUI
├── vLLM
├── Redis
└── PostgreSQL
使用 Docker Compose 可以快速搭建完整环境。
九、Kubernetes 部署
如果你学习 Kubernetes 运维,这部分尤其值得了解。
常见架构:
Ingress
│
┌───────┴───────┐
│ │
API Service WebUI
│
Kubernetes Service
│
vLLM Deployment
│
GPU Node
可以结合:
-
NVIDIA GPU Operator
-
KServe
-
Istio
-
Prometheus
-
Grafana
实现:
-
自动扩缩容
-
灰度发布
-
GPU 调度
-
多模型管理
十、知识库(RAG)方案
如果目标是让模型回答文档,可以采用 RAG(Retrieval-Augmented Generation,检索增强生成)。
典型架构:
PDF/Markdown
│
文档切分
│
Embedding
│
向量数据库
│
检索
│
大模型回答
常见组件:
| 功能 | 推荐 |
|---|---|
| Embedding | bge-m3、Qwen3 Embedding |
| 向量数据库 | Milvus、Qdrant、Chroma |
| 编排框架 | LangChain、LlamaIndex |
十一、Open WebUI
很多人会把 Ollama 与 Open WebUI 搭配。
架构:
浏览器
│
Open WebUI
│
Ollama API
│
Qwen3
特点:
-
类似 ChatGPT 的界面
-
多模型切换
-
文件上传
-
RAG
-
多用户
十二、如何选择模型格式
不同推理框架支持的模型格式有所不同:
| 格式 | 使用场景 |
|---|---|
| GGUF | llama.cpp、Ollama(部分) |
| Safetensors | Transformers、vLLM |
| GPTQ | 量化推理 |
| AWQ | GPU 量化 |
| FP16/BF16 | 高精度 GPU 推理 |
如果使用 vLLM,通常选择 Hugging Face 上的 Safetensors 模型;如果使用 llama.cpp,则选择 GGUF 模型。
十三、结合AI 运维学习方向
根据我们之前的交流,你目前主要关注 Kubernetes 运维、Python 学习,也在维护个人博客和 Obsidian 知识库。从这个角度,建议你按下面的路线学习:
-
第一阶段:Ollama
-
学会下载和运行模型
-
熟悉 OpenAI 兼容 API
-
用 Python 调用模型
-
-
第二阶段:Open WebUI + RAG
-
给 Obsidian 知识库增加问答能力
-
学习 Embedding 和向量数据库的基本概念
-
-
第三阶段:vLLM
-
学习高性能推理
-
部署 OpenAI API 服务
-
了解 GPU 显存管理和推理优化
-
-
第四阶段:Kubernetes
-
使用 Deployment、Service、Ingress 部署 vLLM
-
配置 GPU 调度
-
接入 Prometheus、Grafana 监控
-
学习 KServe 或 Ray Serve 等更完整的推理平台
-
这条路线既能帮助你掌握本地大模型的实际应用,也能与你正在学习的 Kubernetes 和 Python 技能形成良结合。
