=Custom API error (500 Internal Server Error): {"error":{"message":"","type":"ri...

2026年03月22日 16:38 processing

错误信息

Provider call failed, retrying provider="custom:https://www.dmxapi.cn/v1" model="qwen3.5-122b-a10b" attempt=2 backoff_ms=1000 reason="retryable" error=Custom API error (500 Internal Server Error): {"error":{"message":"","type":"rix_api_error","param":"","code":"bad_response_status_code"}}

AI 解决方案

报错分析报告

1.错误翻译


原文:Custom API error (500 Internal Server Error): {"error":{"message":"","type":"rix_api_error","param":"","code":"bad_response_status_code"}}
译文:自定义API错误(500内部服务器错误):{"error":{"message":"","type":"rix_api_error","param":"","code":"bad_response_status_code"}}

2.原因分析


  • 根本原因:调用自定义API(https://www.dmxapi.cn/v1)时返回500内部服务器错误,错误类型为rix_api_error,状态码无效(bad_response_status_code)。

  • 具体位置provider="custom:https://www.dmxapi.cn/v1"的模型调用(model="qwen3.5-122b-a10b")。

  • 上下文:第2次重试(attempt=2),退避时间1秒(backoff_ms=1000),标记为可重试错误(reason="retryable")。
  • 3. 解决方案


    步骤1:验证API可用性
    curl测试端点(替换为实际请求参数):
    curl -X POST https://www.dmxapi.cn/v1 \
      -H "Content-Type: application/json" \
      -d '{"model": "qwen3.5-122b-a10b", "prompt": "test"}'
    

    步骤2:优化调用代码(以Python为例)

    import requests
    import time
    
    def call_dmxapi(url, model, max_retries=3):
        for attempt in range(max_retries):
            try:
                resp = requests.post(
                    url,
                    json={"model": model},
                    timeout=10
                )
                resp.raise_for_status()  # 抛出HTTP错误(如500)
                return resp.json()
            except requests.exceptions.HTTPError as e:
                if e.response.status_code == 500 and attempt < max_retries - 1:
                    backoff = 1000 * (2 ** attempt)  # 指数退避
                    time.sleep(backoff / 1000)
                    continue
                raise Exception(f"API失败: {e.response.text}")
            except Exception as e:
                raise Exception(f"未知错误: {str(e)}")
    
    # 使用示例
    try:
        result = call_dmxapi("https://www.dmxapi.cn/v1", "qwen3.5-122b-a10b")
    except Exception as e:
        print(f"错误: {e}")
    

    4. 预防措施


  • 前置验证:用Postman/curl测试API端点和模型参数的有效性,避免无效调用。

  • 完善日志:记录完整的API响应(包括headers/body),便于定位message为空的隐藏错误。
  • 推荐工具

  • Postman(API功能测试)、curl(命令行快速验证)、Sentry(错误监控)。
  • ---
    若需进一步分析,请补充API响应的完整日志调用代码片段