s.ServerError: 500 None. {'error': {'message': 'upstream error: do request faile...

2026年03月08日 14:33 状态: processing

🚨 错误信息

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. 原因分析


  • 根本原因:调用Google GenAI API时上游服务请求失败,触发服务器500内部错误

  • 发生位置:API底层请求通信环节(对应请求ID:20260308063115548094508F6xFE8sL

  • 上下文:服务端无法完成对上游依赖的请求,导致返回do_request_failed错误
  • 3. 解决方案


    python
    import time
    from google.genai import Client
    from google.genai.errors import ServerError

    def 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 Status Dashboard](https://status.cloud.google.com/)实时关注GenAI服务可用性
  • ---
    :若重试无效,需检查网络连接或联系Google Cloud支持(提供请求ID)。