1105|{"Code":1105,"Message":"The system is busy, please try again later."}, time...

2026年06月26日 16:00 31.64 秒 success

错误信息

Xunfei request failed with Sid: cht000dcec6@dx19f02e91749b894652 code: 10012, msg: EngineInternalError:1105|{"Code":1105,"Message":"The system is busy, please try again later."}, timeStamp:15:50:59.216

AI 解决方案

🔍 错误翻译

原文:EngineInternalError:1105|{"Code":1105,"Message":"The system is busy, please try again later."}
译文:引擎内部错误:1105|{"Code":1105,"Message":"系统繁忙,请稍后再试。"}

🎯 原因分析


  • 根本原因:这是讯飞API服务端返回的错误,非您的代码问题。错误码 1105 明确表示服务端系统资源繁忙或临时过载,无法处理您的请求。

  • 具体分析:该错误发生在讯飞的内部引擎中(EngineInternalError)。当其服务器在处理您的请求时,遇到队列排队、资源不足或临时故障,便会返回此类“系统繁忙”的响应。这通常与服务器瞬时负载、维护或资源调度有关。
  • 💡 解决方案


    核心策略:实现重试机制。 由于是服务端临时性问题,最有效的解决方案是让您的客户端代码在收到此错误后,等待一小段时间后自动重试。

    import time
    import requests
    
    def call_xunfei_api(max_retries=3, initial_delay=1):
        for attempt in range(max_retries):
            try:
                # 您的原始API调用代码
                response = requests.post("您的讯飞API地址", headers=headers, json=payload)
                response.raise_for_status()  # 检查HTTP错误
                result = response.json()
    
                # 检查讯飞业务错误码
                if result.get("Code") == 1105:
                    print(f"系统繁忙,第{attempt + 1}次重试...")
                    # 指数退避:等待时间 = initial_delay * (2 ** attempt)
                    time.sleep(initial_delay * (2 ** attempt))
                    continue  # 继续下一次循环重试
                else:
                    # 成功或其他业务错误,直接返回结果
                    return result
    
            except requests.exceptions.RequestException as e:
                print(f"网络请求异常: {e}")
                # 同样可以进行重试或直接抛出
                raise e
    
        # 所有重试用尽
        raise Exception("讯飞API请求失败,已达到最大重试次数。")
    

    🛡️ 预防措施


  • 健壮性设计:在调用任何第三方API时,都应预料到网络波动或服务端临时故障。为关键API调用实现带指数退避的自动重试机制是行业最佳实践。

  • 超时设置:为您的HTTP请求设置合理的连接和读取超时(例如 timeout=10),避免因服务端长时间无响应而导致客户端线程阻塞。

  • 监控与降级:对于关键业务,可以考虑监控此错误码的频率。如果长时间持续发生,可能需要触发告警,并设计降级方案(如使用缓存数据或提示用户稍后手动重试)。