03 第3周D14 端点验证
D14 端点验证(核心技能)
D14 端点验证(核心技能)
精讲(公司核心技能,全员必须掌握)。新人未来做的第一件真实业务活大概率就是:拿到一个上游 key,验证它能不能用、能用什么模型。对照公司技能
.agent/skills/llm-endpoint-probe/SKILL.md。
教学目标(学完能做什么)
- 能验证 key + base(有效性、真实性、是否可用)
- 能拉取模型列表,并辨别哪些模型真实可调用(可调 vs 列表有但不可调)
- 能做上游指纹溯源(判断 key/端点来自哪条上游线路)
- 能测并发 / 限流(RPM)边界,看懂 401/403/429/5xx 各种响应的含义
- 能产出一份标准交付:KEY / BASE / MODEL + 验证结论
前置要求
- D13(Claude API 调用)、D3(HTTP 状态码)
本模块在业务中的位置
- 公司的"进货质检"环节:上游 key 到手先验证,验证结论直接决定能不能卖、怎么定价。这是最容易出错也最值钱的技能,务必按公司 SKILL.md 的流程走,严禁把 key 泄露/误发。
内容分段
1. 验证链路的整体思路
拿到 KEY + BASE
→ 1. 连通性(base 通不通、TLS 对不对)
→ 2. 鉴权(key 有效?401 还是 200?)
→ 3. 模型(能列出哪些?真实可调哪些?)
→ 4. 行为(调用一次,看返回质量/usage/速率)
→ 5. 限流(RPM/并发边界)
→ 6. 交付(KEY/BASE/MODEL + 结论 + 溯源)2. 验证 key + base
# base 连通与 TLS
curl -v https://<base>/v1/messages 2>&1 | head -20
# 鉴权:不带 key 应 401;带错 key 应 401;带对 key 应非 401
curl -s https://<base>/v1/messages \
-H "x-api-key: 错误key" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"xxx","max_tokens":5,"messages":[{"role":"user","content":"hi"}]}'- 判读:401=key/base 配不上;非 401(200/400/404…)= 鉴权已过,问题在别处(比如模型名不对)。
3. 拉模型列表 & 辨可调用模型(本模块最容易翻车的地方)
- 部分端点支持
GET /v1/models拉列表;但列表里有的≠能调。 - 真正可调:发一个极小
max_tokens的请求,逐个试,看返回200还是404/400 model not found。 - 交付时只写"实测可调"的模型,列表货架与可售货必须分开标注。
curl -s https://<base>/v1/models \
-H "Authorization: Bearer <key>" | jq '.data[].id'4. 上游指纹溯源
- 目的:判断这个 key/端点背后是哪条上游线路(官方直连?中转?自建网关?),决定稳定性与合规风险。
- 手段(由浅入深):
- 域名/IP:解析 base 看指向(官方域名 vs 陌生 IP/端口)。
- TLS 证书:
openssl s_client看 issuer/subject(D3 学过)。 - 响应特征:Header(
server/via/x-*)、错误信息措辞、模型命名风格。 - 行为指纹:特定模型的可调性、usage 返回格式是否标准。
- 结论落到交付里:
疑似官方直连 / 疑似中转 / 疑似自建网关。
5. 并发 / 限流(RPM)边界
# 简单并发压测:同时发 N 个请求,数 429
seq 1 20 | xargs -P10 -I{} curl -s -o /dev/null -w "%{http_code}\n" \
https://<base>/v1/messages \
-H "x-api-key: <key>" -H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"<实测模型>","max_tokens":5,"messages":[{"role":"user","content":"hi"}]}' | sort | uniq -c- 429 + Retry-After:说明命中限流;429 比例越高,可卖 RPM 越低。
- 红线:压测只用于讲师批准的低成本端点,别把别人 key 打爆,也控制 token 成本。
6. 标准交付格式(出 KEY/BASE/MODEL 交付)
【端点验证交付】日期 / 验证人
- KEY:<脱敏显示,如 sk-****1234>
- BASE:<完整地址>
- 模型(实测可调):model-a / model-b
- 列表有但不可调:model-c(原因)
- 鉴权:200 通过 / 401 失败
- 指纹溯源:疑似官方直连(域名+证书匹配)
- RPM 实测:约 N req/s 后开始 429
- 结论:可用,建议定价档位/限流档位
- 备注:key 已脱敏,完整值线下交接- 安全红线:交付文档里 key 必须脱敏;完整 key 只走加密/线下交接,绝不进 Git、不进日志、不发公开渠道。
讲解节奏建议(约 90 分钟)
| 时段 | 内容 |
|---|---|
| 09:00-09:10 | 引入:这就是你入职后第一件真实业务活 |
| 09:10-09:35 | 验证链路总览 + 验 key/base |
| 09:35-10:00 | 拉模型 vs 实测可调(最容易翻车点) |
| 10:00-10:25 | 指纹溯源四步 |
| 10:25-10:45 | 并发/RPM 边界 |
| 10:45-11:30 | 学员实操:讲师发练习端点,走完整流程(对应作业) |
| 11:30-11:50 | 安全红线 + 常见误区 |
| 11:50-12:00 | 布置作业 |
常见误区汇总
| 误区 | 正确理解 |
|---|---|
| 列表里有模型就能卖 | 必须实测可调才可售,列表≠可调 |
| 带 key 返回 200 就是好用 | 还要测模型、限流、溯源、稳定性 |
| 401 就是 key 错了 | 也可能是 base 错/接口不匹配,按"端到端"排查 |
| key 写进交付文档 | 必须脱敏;完整 key 线下交接,进 Git 是事故 |
| 使劲并发压测 | 受控压测,别打爆上游、控成本 |
| 溯源没必要 | 指纹决定稳定性和合规风险,必须留档 |