随着开源大模型的爆发式增长,在本地与服务端高效部署 AI 大模型已成为开发者的核心技能。本文将从本地运行、API 服务化、Docker 容器封装三个维度,给出完整的生产级部署方案。
整体架构概览
| 阶段 | 推荐方案 | 适用场景 |
|---|---|---|
| 模型选择 | llama.cpp / vLLM / Ollama | 根据资源灵活切换 |
| 部署方式 | 本地直接运行 / API 服务化 / Docker 封装 | 调试 / 高并发 / 标准化交付 |
| 技术栈 | FastAPI + vLLM / TGI | 轻量高性能 |
| 编排 | docker-compose / K8s | 多服务协同 |
模型选型与技术栈
对于 2026 年的主流方案,建议根据场景选择:
- 本地推理:首选 llama.cpp 或 Ollama,适合个人开发与低资源环境。
- GPU 推理:vLLM 或 TGI 能提供更好的高并发与低延迟体验。
- API 框架:FastAPI 是轻量且高性能的选择。
- 容器化:Docker 配合 NVIDIA Container Toolkit 实现标准化部署。
本地运行大模型
环境准备
首先搭建独立的虚拟环境,避免依赖冲突。注意 CUDA 版本需与 PyTorch 匹配。
# 创建独立虚拟环境
python -m venv llm-env
source llm-env/bin/activate # Linux/macOS
# llm-env\Scripts\activate # Windows
# 安装核心依赖(CUDA 12.4)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install transformers accelerate sentencepiece
使用 Transformers 加载模型
这里以 Qwen2.5 为例,利用 device_map="auto" 自动分配显存,适合快速验证。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Qwen/Qwen2.5-72B-Instruct-GPTQ-Int4"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype=torch.float16,
trust_remote_code=True,
)
def chat(prompt: , max_new_tokens: = ) -> :
messages = [{: , : prompt}]
input_ids = tokenizer.apply_chat_template(
messages, return_tensors=).to(model.device)
torch.no_grad():
outputs = model.generate(
input_ids,
max_new_tokens=max_new_tokens,
temperature=,
top_p=,
do_sample=,
)
response = tokenizer.decode(
outputs[][input_ids.shape[-]:], skip_special_tokens=
)
response
__name__ == :
result = chat()
(result)


