模型 API 与部署方案
选择大模型不仅是选择"哪个模型",还要选择"怎么用它"。本章全面对比主流 API 服务和本地部署方案,帮助你根据场景做出最优的技术决策。
一句话理解
选择大模型不仅是选择"哪个模型",还要选择"怎么用它"。本章全面对比主流 API 服务和本地部署方案,帮助你根据场景做出最优的技术决策。
阅读前置
了解大语言模型基本概念
本文关注
API 服务对比、API 调用的标准接口、本地部署方案
所在知识层
生态格局 · 主流大模型全景
文章导航
点击图中节点可定位到对应正文。
核心主题关系与流向
引言
选择大模型不仅是选择"哪个模型",还要选择"怎么用它"。本章全面对比主流 API 服务和本地部署方案,帮助你根据场景做出最优的技术决策。
1. API 服务对比
1.1 主流 API 平台
| 平台 | 提供商 | 主要模型 |
|---|---|---|
| OpenAI API | OpenAI | GPT-4o, o1/o3, GPT-4o mini |
| Anthropic API | Anthropic | Claude 3.5 Sonnet/Haiku |
| Google AI / Vertex AI | Gemini Pro/Flash/Ultra | |
| Azure OpenAI | Microsoft | GPT-4o, o1(企业级) |
| AWS Bedrock | Amazon | Claude, LLaMA, Titan |
| 阿里云百炼 | 阿里 | Qwen 系列 |
| DeepSeek API | DeepSeek | DeepSeek V3/R1 |
| 硅基流动 | 硅基流动 | 多模型聚合 |
| Together AI | Together | 开源模型托管 |
| Fireworks AI | Fireworks | 开源模型优化推理 |
1.2 定价对比(2025 年初参考价)
| 模型 | 输入($/1M tokens) | 输出($/1M tokens) | 上下文 |
|---|---|---|---|
| GPT-4o | $2.50 | $10.00 | 128K |
| GPT-4o mini | $0.15 | $0.60 | 128K |
| o1 | $15.00 | $60.00 | 200K |
| o1-mini | $3.00 | $12.00 | 128K |
| Claude 3.5 Sonnet | $3.00 | $15.00 | 200K |
| Claude 3.5 Haiku | $0.80 | $4.00 | 200K |
| Gemini 1.5 Pro | $1.25 | $5.00 | 2M |
| Gemini 1.5 Flash | $0.075 | $0.30 | 1M |
| DeepSeek V3 | $0.27 | $1.10 | 64K |
| DeepSeek R1 | $0.55 | $2.19 | 64K |
注:价格持续变化,请以各平台官网为准。
1.3 API 选择决策树
根据原图的箭头、并列、分层与循环关系选择对应图形;可展开核对原文结构。
查看原文结构
→ 追求最强能力、不计成本 → GPT-4o / o3
→ 追求安全和写作质量 → Claude 3.5 Sonnet
→ 追求超长文档处理 → Gemini 1.5 Pro (2M 上下文)
→ 追求性价比 → DeepSeek V3 / GPT-4o mini / Gemini Flash
→ 追求推理能力 → o1/o3 / DeepSeek R1
→ 需要数据不出境 → 国产 API 或本地部署
→ 需要私有部署 → 开源模型本地部署2. API 调用的标准接口
2.1 OpenAI 兼容 API 格式
大多数平台都兼容 OpenAI 的 API 格式,这已成为事实标准:
PYTHON
import openai
# OpenAI 官方
client = openai.OpenAI(api_key="sk-xxx")
# DeepSeek(兼容 OpenAI 格式)
client = openai.OpenAI(
api_key="sk-xxx",
base_url="https://api.deepseek.com/v1"
)
# 调用方式完全一致
response = client.chat.completions.create(
model="deepseek-chat", # 或 "gpt-4o"
messages=[
{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "解释什么是大模型"}
],
temperature=0.7,
max_tokens=2000
)2.2 关键参数说明
| 参数 | 含义 | 建议值 |
|---|---|---|
| temperature | 控制输出随机性(0=确定性,2=最随机) | 代码: 0, 创意: 0.8-1.2 |
| top_p | 核采样,只从概率前 p% 的 token 中选择 | 通常 0.9-1.0 |
| max_tokens | 最大输出 token 数 | 根据需求设置 |
| stop | 停止生成的标记 | 按需设置 |
| stream | 是否流式输出 | 生产环境建议 True |
2.3 流式输出(Streaming)
PYTHON
# 流式输出:逐 token 返回,用户体验更好
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "写一首诗"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)3. 本地部署方案
3.1 Ollama(最易用)
BASH
# 安装:https://ollama.com
# 一行命令运行
ollama run llama3.1:8b
ollama run qwen2.5:7b
ollama run deepseek-r1:7b
# 提供 OpenAI 兼容 API
# 默认端口:http://localhost:11434/v1适用场景: 个人学习、小规模测试、本地原型开发
3.2 vLLM(服务端首选)
PYTHON
# 安装
pip install vllm
# 启动服务
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--tensor-parallel-size 4 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9
# 提供 OpenAI 兼容 API
# 特点:PagedAttention + 连续批处理 = 高吞吐量适用场景: 生产环境、高并发、需要极致性能
3.3 llama.cpp(CPU/端侧首选)
BASH
# 编译
cmake -B build
cmake --build build --config Release
# 运行(GGUF 格式模型)
./build/bin/llama-server \
-m qwen2.5-7b-instruct-q4_k_m.gguf \
-c 8192 \
--port 8080
# 特点:
# - 纯 CPU 推理(也支持 GPU 加速)
# - GGUF 量化格式,内存占用极小
# - 支持 Apple Silicon Metal 加速适用场景: 无 GPU 环境、Mac 本地、嵌入式设备
3.4 其他部署工具
| 工具 | 特点 | 适用场景 |
|---|---|---|
| LMDeploy | 支持多种国产模型 | Qwen/InternLM 部署 |
| SGLang | 结构化生成优化 | 需要 JSON/正则输出 |
| TensorRT-LLM | NVIDIA 极致优化 | NVIDIA GPU 专用 |
| LocalAI | Docker 化部署 | 快速搭建 |
| text-generation-webui | Web UI | 可视化交互 |
4. API vs 本地部署决策
4.1 对比
| 维度 | API 服务 | 本地部署 |
|---|---|---|
| 初始成本 | 低(按量付费) | 高(需要 GPU 硬件) |
| 运维成本 | 无 | 需要运维团队 |
| 数据隐私 | 数据发送给第三方 | 数据完全本地 |
| 延迟 | 受网络影响 | 内网延迟极低 |
| 模型选择 | 受限于提供商 | 任意开源模型 |
| 可扩展性 | 自动扩展 | 需要手动扩展 |
| 定制能力 | 无法修改模型 | 可以微调 |
| 适合规模 | 小到中等 | 中到大 |
4.2 成本平衡点
根据原图的箭头、并列、分层与循环关系选择对应图形;可展开核对原文结构。
查看原文结构
API 成本(DeepSeek V3):
日均 100 万 tokens → $0.27/天 → $8.1/月
日均 1 亿 tokens → $27/天 → $810/月根据原图的箭头、并列、分层与循环关系选择对应图形;可展开核对原文结构。
查看原文结构
本地部署成本(2x A100 80GB):
云服务器:~$8/小时 → $5,760/月
自有硬件:2x A100 ≈ $30,000 + 电费 ≈ 7个月回本根据原图的箭头、并列、分层与循环关系选择对应图形;可展开核对原文结构。
查看原文结构
平衡点:
日均 < 5000 万 tokens → API 更划算
日均 > 5000 万 tokens → 本地部署更划算
(具体数字因模型、地区、硬件而异)5. 企业级部署架构
5.1 典型架构
根据原图的箭头、并列、分层与循环关系选择对应图形;可展开核对原文结构。
查看原文结构
┌─ 应用层 ─────────────────────────────────┐
│ Web App / Mobile App / 内部系统 │
└──────────────┬───────────────────────────┘
↓
┌─ 网关层 ─────────────────────────────────┐
│ API Gateway(认证/限流/路由/日志) │
└──────────────┬───────────────────────────┘
↓
┌─ 模型服务层 ─────────────────────────────┐
│ 模型路由器 → 选择合适的模型 │
│ ├── 简单任务 → 小模型(7B) │
│ ├── 复杂任务 → 大模型(70B) │
│ └── 推理任务 → 推理模型(R1) │
└──────────────┬───────────────────────────┘
↓
┌─ 推理引擎层 ─────────────────────────────┐
│ vLLM 集群(多实例负载均衡) │
│ ├── GPU 节点 1: LLaMA 3 70B │
│ ├── GPU 节点 2: Qwen 2.5 72B │
│ └── GPU 节点 3: DeepSeek R1 │
└──────────────┬───────────────────────────┘
↓
┌─ 数据层 ─────────────────────────────────┐
│ 向量数据库(RAG) + 对话历史 + 日志 │
└──────────────────────────────────────────┘5.2 高可用与弹性伸缩
- 负载均衡:多个推理实例分担流量
- 自动扩缩容:根据 GPU 利用率和队列长度自动增减实例
- 故障转移:实例故障时自动切换到健康实例
- 灰度发布:新模型版本逐步替换旧版本
6. 本章小结
| 场景 | 推荐方案 |
|---|---|
| 快速原型/个人使用 | API + Ollama |
| 中小规模生产 | API 服务(DeepSeek/GPT-4o mini) |
| 大规模生产 | 本地部署 vLLM 集群 |
| 数据安全敏感 | 本地部署开源模型 |
| 端侧/离线 | Ollama + llama.cpp |
| 企业级 | 混合架构(API + 本地部署) |
相关章节
- 开源模型(LLaMA / Mistral / Qwen / DeepSeek) — 本地部署的主要对象
- 推理优化与部署 — 部署背后的底层推理优化
- MCP 协议详解 — 模型如何接入工具生态
延伸阅读
- vLLM: https://github.com/vllm-project/vllm
- Ollama: https://ollama.com
- llama.cpp: https://github.com/ggerganov/llama.cpp
- LMDeploy: https://github.com/InternLM/lmdeploy