随着开源大模型的爆发式增长,在本地与服务端部署 AI 大模型已成为开发者的核心技能。本文将从本地运行、API 服务化、Docker 容器封装三个维度,给出完整的生产级部署方案。
一、整体架构概览
本文涵盖开发调试、团队协作及生产交付的全流程,包括模型选择与下载、部署方式(本地直接运行、API 服务化、Docker 容器封装)、推理引擎(llama.cpp / vLLM / Ollama)、API 框架(FastAPI)以及性能调优与监控运维。
二、模型选型与技术栈(2026 主流方案)
| 维度 | 推荐方案 | 适用场景 |
|---|---|---|
| 本地推理 | llama.cpp / Ollama | 个人开发、低资源环境 |
| GPU 推理 | vLLM / TGI | 高并发、低延迟 |
| API 框架 | FastAPI | 轻量、高性能 |
| 容器化 | Docker + NVIDIA Container Toolkit | 标准化部署 |
| 编排 | docker-compose / K8s | 多服务协同 |
三、方案一:本地运行大模型
3.1 环境准备
# 创建独立虚拟环境
python -m venv llm-env
source llm-env/bin/activate # Linux/macOS
# llm-env\Scripts\activate # Windows
# 安装核心依赖
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install transformers accelerate sentencepiece
3.2 使用 transformers 加载模型
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: str, max_new_tokens: int = 512) -> str:
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)


