LLM API 开发:把大模型接入智能客服|课后复习

失败分类与有界重试

复盘:只读临时错误才进入有限重试,参数/权限错误停止;每次用剩余总时间,取消后不提交迟到结果。面试用一个写操作结果未知的例子解释为何先查幂等状态。

配套讲解:失败分类与有界重试。

业务与技术一起复盘

用实战中的解答与反例检查:用户只问一次,为什么可能收费多次?HTTP成功为什么不代表业务正确? 复习时先自己讲一遍原因,再打开记录核对。面试回答要讲清方案取舍、失败处理和复验,把课堂数据和真实业务成果分清楚。

SDK调用复盘

先用同一消息比较HTTP(超文本传输协议)和SDK(软件开发工具包),再完成自己的Provider(服务提供方)适配;今天不提前复制后续意图提取或整条客服流程。

对照OpenAI SDK 调用 DeepSeek 与 HTTP 对照中的故障表,用自己的运行记录回答:谁发请求、哪里计时、usage(用量)缺失如何处理、谁决定重试、谁做业务校验。补做正常与失败反例,解释迁移后是否保持原有结果。

课程名称:LLM API 开发:把大模型接入智能客服|项目任务:商城客服模型接入层|编号:W04-D01

Provider 调用与 Evidence 分层

看图复述:配置进入 Adapter(适配器),Adapter 归一化响应;Replay(回放) 与真实调用走相同业务接口,但进入不同 Evidence(验证证据) Gate(验收门槛)。

先把模型运行的位置讲清楚

对照模型调用全景图,从商城页面讲到客服后端、适配器、SDK、远端模型服务,再指出硬件位于哪一侧。SDK 不等于模型,远端服务内部细节也不能从一次 API 响应推断出来。

面试追问:“客户已有服务器,为什么仍可能无法私有部署?”回答至少包括模型/运行环境兼容、资源、服务与运维;今天只完成 API 接入,不能宣称部署了推理引擎。

预防误判:调用前确认端点与模块职责;发现本机没有模型权重时先检查是否本来就在调远端,不盲目安装 GPU 栈。客服失败后分别运行原订单接口和客服错误路径,确认商城核心功能未被绑定到模型服务。

今天的主线

  • 模型推理是概率生成,API(应用程序接口) 200 不等于业务事实正确;
  • 真实调用默认 DeepSeek,Adapter 隔离供应商字段,但不消除 Capability/语义差异;
  • Key 只来自环境变量,日志只保留最小脱敏证据;
  • 401/402/400/422 停止修配置,429/网络/5xx 才允许有限重试;
  • Replay 保证学习可继续,学生你真实的调用才可能进入 Portfolio(作品集) Evidence。

风险怎么防、怎么发现、怎么处理、怎么复验

风险提前预防怎样发现怎样处理怎样复验
Key 入 Git.env + .gitignoregit diff --cached撤销/轮换并清理检查 Git 与 Provider 用量
无限重试冻结上限和错误表日志尝试次数持续增长停止、分类、转 Replay故障 Fixture(固定测试数据或测试装置) 达到终点
Replay 冒充真实固定 Evidence 字段request_id 以 replay- 开头改回 Replay/Pending报告和 artifact(交付产物) 一致
输出被当事实后续 Schema/API 门只有自然语言无事实来源不进入业务执行D03/D04 再验证

自测

  1. 为什么 Provider Adapter 不能让两个模型完全等价?
  2. 402 和 429 的重试策略为何不同?
  3. 教师真实 request_id 能证明你的个人能力吗?
  4. 设计一条不保存完整消息也能定位失败的日志。

面试考点与面试题

考点:Provider Adapter、环境变量、错误分类、有限重试、Token/上下文、真实与 Replay 证据。

  1. 为什么 401 不应自动重试,而 429 可以有限重试?
  2. Adapter 怎样降低切换成本,又为什么不能抹平模型差异?
  3. HTTP 200、结构正确和业务事实正确分别由什么证明?
  4. 怎样设计不泄露 Key 的模型调用日志?

留给 D02

保留统一 ChatRequest/ChatResult、错误表、独立 Replay 和 Evidence 状态。D02 固定 Provider、模型、temperature(温度参数) 与输入,只改变 Prompt(提示词) 的一个主要变量。

自测题

  1. 不看课件,你能用自己的话解释今天引入的新机制解决了什么问题吗?
  2. 你能指出一条正常路径和一条失败路径,并说出对应证据吗?
  3. 面试官追问“为什么不能只看运行成功”,你会怎样回答?

下节课(D02)要带上的成果

  • 一份你自己跑记录;
  • 一条失败案例及修复前后证据;
  • 一个仍需在 D02 继续验证的问题。

和下次课的衔接:D02 从这些事实出发继续开发,不重新假设今天已经掌握。

行业实践复盘

面试追问:相同系统提示词重复发送,缓存命中是否等于复用了上次答案?

结合课堂讲解:缓存命中以后,模型是不是不用回答了,用一个业务反例说明适用条件、收益与代价,并区分你已经验证的能力和仅做过选型研究的方案。

配套学习资料