错误码参考
本文档列出了 nexusflow API 可能返回的所有错误码,以及推荐的处理方式。
HTTP 状态码
业务错误码
当请求失败时,响应体中会包含详细的错误信息:
{
"error": {
"code": "insufficient_quota",
"message": "You have exceeded your quota. Please check your plan and billing details.",
"type": "invalid_request_error"
}
}错误处理最佳实践
建议在生产环境中实现指数退避重试机制,以优雅地处理临时性错误:
from openai import OpenAI
import time
client = OpenAI(
api_key="sk-air-your-key",
base_url="https://nexusflow.hk/v1",
)
def call_with_retry(messages, max_retries=3):
"""带重试机制的 API 调用"""
for attempt in range(max_retries):
try:
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=messages,
)
return response
except Exception as e:
error_code = getattr(e, 'status_code', None)
# 可重试的错误
if error_code in [429, 500, 502, 503, 504]:
wait_time = (2 ** attempt) + 1 # 指数退避
print(f"Error {error_code}, retrying in {wait_time}s...")
time.sleep(wait_time)
continue
# 不可重试的错误
raise e
raise Exception("Max retries exceeded")
# 使用示例
try:
response = call_with_retry([
{"role": "user", "content": "Hello!"}
])
print(response.choices[0].message.content)
except Exception as e:
print(f"Failed: {e}")注意事项
- 可重试错误:429、500、502、503、504 通常是临时性问题,建议使用指数退避重试
- 不可重试错误:400、401、403、404、422 通常需要修改请求后才能成功
- 记录日志:建议记录请求 ID(响应头中的 X-Request-ID)以便排查问题
- 监控告警:建议对 5xx 错误设置监控告警,及时发现服务异常