":{"message":"","type":"rix_api_error","param":"","code":"bad_response_status_co...

2026年01月22日 19:08 状态: processing

🚨 错误信息

Exception: LLM call failed: {"error":{"message":"","type":"rix_api_error","param":"","code":"bad_response_status_code"}}

🤖 AI解决方案

错误翻译

原文:Exception: LLM call failed: {"error":{"message":"","type":"rix_api_error","param":"","code":"bad_response_status_code"}}
译文:异常:调用LLM失败:{"error":{"message":"","type":"rix_api_error","param":"","code":"bad_response_status_code"}}

原因分析
这是一个调用外部AI服务(LLM API)时发生的网络或服务端错误。核心原因是API返回了异常的HTTP状态码(bad_response_status_code),通常指4xx(客户端错误)或5xx(服务器端错误),而错误信息(message)为空,导致调用失败。

具体上下文是您的代码尝试与一个名为 rix 的AI服务API进行通信,但对方的服务器返回了一个错误的响应状态码,且未提供有效的错误详情。

解决方案
您需要增强代码的错误处理逻辑,捕获并详细记录API响应信息,以便准确定位问题。

python

假设您使用的是类似requests的库进行API调用


import requests
import logging

配置日志


logging.basicConfig(level=logging.INFO)

def call_llm_api(api_url, payload, headers):
try:
response = requests.post(api_url, json=payload, headers=headers, timeout=30)
# 1. 明确检查HTTP状态码
response.raise_for_status() # 如果状态码是4xx/5xx,将抛出HTTPError异常
# 2. 尝试解析响应体
return response.json()
except requests.exceptions.HTTPError as http_err:
# 这是关键:捕获HTTP状态码错误,并打印完整的响应信息
logging.error(f"HTTP错误发生!状态码:{response.status_code}")
logging.error(f"响应头:{response.headers}")
logging.error(f"响应正文:{response.text}") # 这里可能包含服务端的具体错误信息
# 根据状态码进行更精细的错误处理
if response.status_code == 401:
raise Exception("认证失败,请检查API密钥。")
elif response.status_code == 429:
raise Exception("请求过于频繁,请稍后重试。")
elif response.status_code >= 500:
raise Exception("服务端内部错误,请联系服务提供商。")
else:
raise Exception(f"未知API错误。状态码:{response.status_code}, 响应:{response.text}")
except requests.exceptions.RequestException as req_err:
# 处理网络连接、超时等错误
logging.error(f"请求过程发生错误:{req_err}")
raise Exception(f"网络请求失败:{req_err}")
except ValueError as json_err:
# 处理响应不是有效JSON的情况
logging.error(f"解析JSON响应失败:{json_err}")
logging.error(f"原始响应文本:{response.text}")
raise Exception("API返回了无效的JSON格式响应。")

立即排查步骤:

  • 检查API终端和密钥:确认 api_url、API密钥或令牌是否正确无误,且未过期。

  • 查看服务状态:访问 rix AI服务的官方状态页面,确认服务是否正常运行。

  • 检查请求格式:确认您发送的 payloadheaders 完全符合该API的文档要求。
  • 预防措施

  • 实现健壮的重试机制:对于5xx错误或网络超时,可以使用指数退避策略进行有限次数的重试。

  • 使用API客户端库与监控:如果服务方提供了官方的SDK,优先使用。同时,集成像 SentryOpenTelemetry 这样的应用性能监控(APM)工具,记录所有外部调用的成功率、延迟和错误详情。