模型 API 账号与 Key 安全配置手册

首次使用:W04-D01。Learning Gate(课堂学习验收要求) 可以使用 Replay/Mock;Portfolio Evidence Gate(作品集真实证据要求) 必须由学生本人完成规定的真实调用。

学生自行承担 LLM API 费用。真实调用默认优先使用 DeepSeek API,Provider Adapter 仍保持可替换;W05-W08 的真实调用按各周验收单执行。

付费、充值、创建 Key、提高限额和发送真实数据都是人审点;本手册不自动替学生执行。

1. 先选择课堂路线

路线适用Key 归属课堂要求
Replay / MockW04 基础主线无先完成代码、测试、重试、解析和安全日志
学生自有 DeepSeek APIW04-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(默认路线)

  1. 打开 DeepSeek 开放平台。
  2. 由学生本人注册/登录并完成平台要求的验证。
  3. 进入 API Keys 页面创建一枚课程专用 Key;不要复用生产或其他项目 Key。
  4. 只在自己的密码管理器或安全凭据存储中保存;平台若只显示一次,关闭前确认已安全保存。
  5. 查看账户可用模型、限额和当天价格。当前常规课堂模型使用 deepseek-v4-flash;复杂推理仅在任务和预算确有需要时使用 deepseek-v4-pro。模型名属于易变配置,上课当天仍需确认。

火山方舟或其他 Provider(非默认补救/比较路线)

  1. 打开 火山方舟控制台。
  2. 由学生本人登录,使用方舟大模型专用 API Key,不把传统云 Access Key 与方舟 Key 混用。
  3. 确认可用地域、模型/接入点 ID、配额和计费规则。
  4. 创建课程专用 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/403Key 是否属于当前平台、是否过期、模型/账号是否有权限不把 Key 发群里求助
404Base 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、截图、聊天或共享终端中:

  1. 立即在供应商控制台禁用/删除并重新生成,不要只删本地文件。
  2. 停止相关调用并检查用量。
  3. 按课程事故记录说明暴露范围和处理时间。
  4. Git 历史清理属于高风险操作,由教师单独指导;轮换 Key 仍是第一步。

8. 验收记录

路线:Replay/Mock / 学生自有 API / 教师课堂服务
Provider:
模型/接入点:
Key 是否只在安全位置与环境变量:是 / 否
输入是否虚构/脱敏:是 / 否
request_id(脱敏后):
usage:
latency:
真实费用已由学生确认:是 / 不涉及
下课后会话 Key 已清除:是 / 否

统一选择、模型和思考模式边界见:DeepSeek API 优先使用与课堂配置规范。官方资料:DeepSeek API 快速开始、DeepSeek 模型与价格、DeepSeek 思考模式、火山方舟文档。模型、价格和控制台界面上课前需重新核对。