s.ServerError: 500 None. {'error': {'message': 'upstream error: do request faile...
🚨 错误信息
google.genai.errors.ServerError: 500 None. {'error': {'message': 'upstream error: do request failed (request id: 20260308063115548094508F6xFE8sL)', 'type': 'rix_api_error', 'param': '', 'code': 'do_request_failed'}}
🤖 AI解决方案
报错分析报告
1.错误翻译
原文:upstream error: do request failed (request id: 20260308063115548094508F6xFE8sL)
译文:上游错误:请求执行失败(请求ID:20260308063115548094508F6xFE8sL)
2. 原因分析
20260308063115548094508F6xFE8sL) do_request_failed错误3. 解决方案
python
import time
from google.genai import Client
from google.genai.errors import ServerErrordef safe_genai_call(api_key: str, prompt: str, max_retries=3, base_delay=2):
"""带指数退避重试的GenAI API调用"""
client = Client(api_key=api_key)
for attempt in range(max_retries):
try:
return client.models.generate_content(
model="gemini-1.5-flash",
contents=prompt
)
except ServerError as e:
if "do_request_failed" in str(e) and attempt < max_retries - 1:
delay = base_delay (2 * attempt) # 指数退避
print(f"⚠️ 第{attempt+1}次失败,{delay}s后重试...")
time.sleep(delay)
continue
raise # 超过重试次数则抛出原异常
raise RuntimeError("所有重试均失败")
4.️ 预防措施
ServerError类错误添加指数退避重试(如上述代码),应对 transient 上游故障 ---
注:若重试无效,需检查网络连接或联系Google Cloud支持(提供请求ID)。