# H02 云端模型、本地模型、网页端模型和API的区别

适用：全部教材，第3章起

---

## 四种模型使用方式

| 方式 | 运行位置 | 谁来管理 | 费用 | 数据去向 |
|---|---|---|---|---|
| **本地模型** | 你自己的电脑 | 你（或课程帮你装好） | 免费 | 不离开你的电脑 |
| **云端API** | 学校或公司的服务器 | 管理员 | 学校/课程承担 | 发送到服务器 |
| **网页端模型** | 服务商的服务器 | 服务商 | 免费或按量 | 发送到服务商 |
| **离线模拟（mock）** | 你的电脑 | 课程提供 | 免费 | 不发送任何数据 |

## 本地模型（推荐，主路径）

**用什么**：Ollama + Qwen2.5 系列模型

**优势**：
- 免费，不需要充值或购买 token
- 不需要网络，断网也能用
- 数据不离开你的电脑
- 可以反复实验，不用担心费用

**限制**：
- 需要一定的内存（7B 模型至少 8GB）
- 速度取决于你的电脑配置
- 某些高级能力（视觉、工具调用）需要特定模型

**配置方法**：见 `QWEN_CODE_SETUP.md`

## 云端API（备选）

**用什么**：学校提供的 Qwen 兼容 API 服务

**优势**：
- 不需要高配置电脑
- 模型能力通常更强
- 适合本地机器跑不动的情况

**限制**：
- 需要网络
- 密钥必须从环境变量读取，不能写入代码
- 发送的内容会离开你的电脑

**安全规则**：
- API 密钥只从环境变量读取
- 不发送人脸、证件、个人数据等敏感内容
- 密钥不写入 Notebook、截图或提交包

## 网页端模型（辅助）

**用什么**：Qwen、DeepSeek 等网页聊天界面

**适合**：
- 讨论概念、解释错误、比较方案
- 第1-2章还没有配置本地环境时
- 快速问答，不需要代码调用

**不适合**：
- 自动化的代码调用（网页端不能被程序直接调用）
- 处理敏感数据（内容发送到服务商）
- 需要可复现的实验（网页端输出可能随版本变化）

## 离线模拟 mock（兜底）

**用什么**：课程提供的预录输出或模拟程序

**适合**：
- 断网、模型服务故障、账号不可用
- 第一次学习流程，不关注模型实际表现
- 统一验收，消除模型随机性

**限制**：
- 输出是固定的，不能反映真实模型的行为
- 不能用于评估模型在真实场景的表现

## 怎样选择

```
你的电脑能运行 Ollama 吗？
├── 能 → 使用本地模型（主路径）
└── 不能 → 学校提供了云端 API 吗？
    ├── 是 → 使用云端 API
    └── 否 → 使用离线 mock + 网页端讨论
```

**核心原则：不因工具或网络问题卡住学习。** 三条路径都能完成学习任务，区别只在于体验的丰富程度。

## 能力检查清单

连通模型后，分别检查以下能力（不是所有能力都需要本地运行）：

| 能力 | 用途 | 本地模型 | 离线降级 |
|---|---|---|---|
| `chat` | 文本对话、代码生成 | ✅ 7B 即可 | 预录输出 |
| `embedding` | 文本向量化 | 需额外模型 | 预计算向量 |
| `vision` | 图像理解 | 需 VL 模型 | 录制输出 |
| `tool_call` | 工具调用 | 7B 支持 | 模拟提供者 |
