模型 API 账号与 Key 安全配置手册
首次使用:W04-D01。Learning Gate(课堂学习验收要求) 可以使用 Replay/Mock;Portfolio Evidence Gate(作品集真实证据要求) 必须由学生本人完成规定的真实调用。
学生自行承担 LLM API 费用。真实调用默认优先使用 DeepSeek API,Provider Adapter 仍保持可替换;W05-W08 的真实调用按各周验收单执行。
付费、充值、创建 Key、提高限额和发送真实数据都是人审点;本手册不自动替学生执行。
1. 先选择课堂路线
| 路线 | 适用 | Key 归属 | 课堂要求 |
|---|---|---|---|
| Replay / Mock | W04 基础主线 | 无 | 先完成代码、测试、重试、解析和安全日志 |
| 学生自有 DeepSeek API | W04-W08 Portfolio Gate 默认主路径 | 学生本人 | 本人确认账号、模型、调用次数和预算;教师不收 Key |
| 其他已批准 Provider | 兼容性比较或 DeepSeek 异常补救 | 学生本人 | 不与 DeepSeek 并列为默认路线;仍走统一 Adapter 和真实证据门 |
| 教师 Replay/Fixture | 全周 Learning Fallback | 无真实 Key | 保证学习机制,但不得标为真实 Portfolio Evidence |
没有 Key 不影响当天继续学习。Replay/Mock 证据不能写成真实服务已通过;反过来,一次真实 API 成功也不能代替本地测试。学生应记录 Provider、Model、usage、预计/实际费用与调用目的,禁止无意义批量调用。
2. 创建账号和 API Key
DeepSeek(默认路线)
- 打开 DeepSeek 开放平台。
- 由学生本人注册/登录并完成平台要求的验证。
- 进入 API Keys 页面创建一枚课程专用 Key;不要复用生产或其他项目 Key。
- 只在自己的密码管理器或安全凭据存储中保存;平台若只显示一次,关闭前确认已安全保存。
- 查看账户可用模型、限额和当天价格。当前常规课堂模型使用
deepseek-v4-flash;复杂推理仅在任务和预算确有需要时使用deepseek-v4-pro。模型名属于易变配置,上课当天仍需确认。
火山方舟或其他 Provider(非默认补救/比较路线)
- 打开 火山方舟控制台。
- 由学生本人登录,使用方舟大模型专用 API Key,不把传统云 Access Key 与方舟 Key 混用。
- 确认可用地域、模型/接入点 ID、配额和计费规则。
- 创建课程专用 Key 并安全保存。
界面名称可能变化,以官方文档和控制台为准。若平台要求实名、充值或付费,学生先停下自行决定;教师不得把充值作为未提前说明的强制课堂动作。
3. 在当前 PowerShell 会话临时配置
DeepSeek:
$env:DEEPSEEK_API_KEY = "由学生本人粘贴,不投屏"
$env:DEEPSEEK_MODEL = "deepseek-v4-flash"
$env:DEEPSEEK_BASE_URL = "https://api.deepseek.com"火山方舟:
$env:ARK_API_KEY = "由学生本人粘贴,不投屏"
$env:DOUBAO_MODEL_ID = "学生账号真实可用的模型或接入点 ID"
$env:ARK_BASE_URL = "https://ark.cn-beijing.volces.com/api/v3"只检查“是否设置”和长度,不输出内容:
if ($env:DEEPSEEK_API_KEY) { "DEEPSEEK_API_KEY 已设置,长度=$($env:DEEPSEEK_API_KEY.Length)" } else { "未设置" }
if ($env:ARK_API_KEY) { "ARK_API_KEY 已设置,长度=$($env:ARK_API_KEY.Length)" } else { "未设置" }终端窗口关闭后,这种会话变量会消失,适合课堂。不要把 Key 写进 PowerShell 历史演示截图、命令文件、README 或 .env.example。
4. 调用前做安全检查
git status
git diff
git diff --staged人工确认:
- 发送的是课程提供的虚构/脱敏数据,不是真实简历、客户资料或企业内部文档。
- 日志不会保存 Authorization 头、Key、完整 Prompt 或不必要的个人数据。
.env已加入.gitignore;.env.example只有空值/占位符。- 模型名、Base URL、超时、最大重试和成本上限都明确。
- 本次真实调用已经由学生本人确认可能产生费用。
5. 先做最小、低成本的真实验收
先运行本地测试:
python -m pytest -q再按 W04 课件和代码仓 README 中已经验证的 smoke 入口,使用一条短的虚构电商客服输入,例如“500 元以内,想找通勤耳机”。不要在公共手册中发明一条仓库里不存在的命令;实际命令必须能在当周 Student Starter 中运行。
默认先使用 DeepSeek。火山方舟或其他 Provider 只在兼容性实验或补救路线中使用课程 Adapter 已实现的参数和学生账号真实模型 ID,不在手册硬写一个可能无权限的 ID。
记录:
- provider、模型名、时间;
- HTTP 成功/失败状态;
- 服务端或客户端 request_id;
- usage、延迟和估算成本;
- 输入来源是虚构教学数据;
- 未保存 Key。
6. 错误分类
| 现象 | 先检查 | 不要做 |
|---|---|---|
| 401/403 | Key 是否属于当前平台、是否过期、模型/账号是否有权限 | 不把 Key 发群里求助 |
| 404 | Base URL、接口路径、模型/接入点 ID | 不通过不断充值猜问题 |
| 429 | 配额、并发和限流;按课程有限退避 | 不写无限重试 |
| 5xx | 服务状态、request_id、有限重试 | 不把平台失败改写成业务成功 |
| 超时/DNS/TLS | 网络、代理、证书、超时 | 不关闭 TLS 校验 |
| 账单异常 | 立即停止调用、查看平台记录、撤销 Key | 不继续批量重跑 |
错误截图和求助信息只能展示已脱敏的 request_id、状态码和错误类型;不要展示 Authorization 请求头。
7. 下课后清理
清除当前会话变量:
Remove-Item Env:DEEPSEEK_API_KEY -ErrorAction SilentlyContinue
Remove-Item Env:ARK_API_KEY -ErrorAction SilentlyContinue如果 Key 曾出现在代码、Git、截图、聊天或共享终端中:
- 立即在供应商控制台禁用/删除并重新生成,不要只删本地文件。
- 停止相关调用并检查用量。
- 按课程事故记录说明暴露范围和处理时间。
- Git 历史清理属于高风险操作,由教师单独指导;轮换 Key 仍是第一步。
8. 验收记录
路线:Replay/Mock / 学生自有 API / 教师课堂服务
Provider:
模型/接入点:
Key 是否只在安全位置与环境变量:是 / 否
输入是否虚构/脱敏:是 / 否
request_id(脱敏后):
usage:
latency:
真实费用已由学生确认:是 / 不涉及
下课后会话 Key 已清除:是 / 否统一选择、模型和思考模式边界见:DeepSeek API 优先使用与课堂配置规范。官方资料:DeepSeek API 快速开始、DeepSeek 模型与价格、DeepSeek 思考模式、火山方舟文档。模型、价格和控制台界面上课前需重新核对。