
适合读者
- 准备上线大模型功能的后端工程师
- 需要提升稳定性的技术负责人
这篇文章解决什么问题?
单次 API 调用失败会直接影响用户流程,缺少可观测和降级策略。
核心概念解释
- 超时
- 指数退避
- 限流
- 熔断
- 降级
实战步骤
- 封装统一调用函数
- 设置超时和最大重试次数
- 记录失败原因
- 在无 Key 或失败时返回 mock 提示
Python 代码示例
本文配套 demo 会生成在:
cd examples/llm-guides/004_llm_api_error_retry
python demo.py
示例代码遵循两个原则:
- 从
OPENAI_API_KEY读取密钥,不在代码里写死。 - 没有 API Key 时自动进入 mock 模式,方便先理解流程。
核心调用方式可以简化成下面这样:
import os
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
print("未配置 OPENAI_API_KEY,进入 mock 模式。")
else:
# 真实项目中在这里初始化 SDK 客户端并发起请求。
print("已读取 OPENAI_API_KEY,可以调用模型。")
常见坑
- 只跑通 Demo 就直接发布,缺少错误处理、日志和人工审核。
- 把 API Key、真实路径、账号或业务数据写进文章和代码。
- 没有区分 mock 示例和真实线上环境,导致读者复制后无法复现。
- 引用 API 或框架能力时没有核对官方文档,版本变化后容易误导读者。
总结
- 这篇文章围绕「大模型使用指南 04:API 调用失败时如何做重试、限流和降级?」解决一个具体工程问题:单次 API 调用失败会直接影响用户流程,缺少可观测和降级策略。
- 实践时优先保证可复现、可回滚、可人工审核,不要只追求一次性生成效果。
- 涉及模型能力、API 参数和第三方框架时,发布前需要重新核对官方文档。
CSDN 标签
大模型、API、Python、稳定性、后端
公众号摘要
文章用工程化视角拆解大模型 API 失败处理,让示例代码更接近真实生产环境。
知乎标题变体
- 大模型 API 失败时应该直接报错吗?
- 如何给 LLM 调用加上重试和降级?
- 大模型应用上线前要补哪些稳定性措施?
参考资料与延伸阅读
- OpenAI 官方文档:以你实际使用的模型、SDK 和账号权限为准。
- Python 官方文档:环境变量、虚拟环境和异常处理部分。
- 相关框架官方文档:LangChain、LlamaIndex、Haystack、向量数据库等按文章主题选择。