API实践第一篇:三个配置解决大部分调用问题无标题】 📅 2026/7/18 23:21:31 三个配置解决大部分调用问题Python调AI接口总超时改了三个地方没再报过错写了个接AI的项目踩了一堆坑。超时、429、流式中断查日志发现不是平台问题是自己客户端配置没搞对。记录一下。一、超时超时设太短是最常见的坑。设30秒长文本生成跑不完就断。改120秒。设长不代表每次都等那么久只是给长任务留余地。模型10秒出结果10秒就拿到了。pythonfrom openai import OpenAIimport httpxclient OpenAI(base_urlhttps://api.openstarry.com/v1, api_keysk-xxx, timeouthttpx.Timeout(connect10.0, read120.0))场景 读超时短问答 30秒一般对话 60秒代码生成/长文 120秒超长文本 300秒二、流式不开 stream等全部生成完才返回屏幕空白好几秒。加上 streamTrue第一个字出来就感觉在响应。实际耗时没变体感差很多。pythonstream client.chat.completions.create(modelglm-5.2, messages[{role: user, content: 介绍一下量子计算}], streamTrue)for chunk in stream:if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end, flushTrue)对话场景开批处理可以关。三、重试429和5xx可以重试4xx重试没用。pythonimport timeimport randomdef chat_with_retry(messages, max_retries3):retryable {429, 500, 502, 503, 504} for attempt in range(max_retries 1): try: return client.chat.completions.create( modelglm-5.2, messagesmessages ) except Exception as e: status getattr(e, status_code, None) if status in retryable and attempt max_retries: wait (2 ** attempt) random.uniform(0, 1) time.sleep(wait) else: raise退避间隔1s → 2s → 4s。加随机抖动避免重试风暴。最多三次。我用的APIOpenStarry国内的聚合服务。兼容OpenAI换base_url和key就行。总结超时设长、开流式、加重试。这三件事搞定大部分调用问题就没了。