":{"message":"Role must be in [user, assistant].","type":"rix_api_error","param"...

2025年10月29日 21:20 响应: 8.18秒 状态: success

🚨 错误信息

400: {"error":{"message":"Role must be in [user, assistant].","type":"rix_api_error","param":"","code":"invalid_parameter_error"}}

🤖 AI解决方案

{
  "error": {
    "message": "Role 必须是 [user, assistant] 中的一个。",
    "type": "rix_api_error",
    "param": "",
    "code": "invalid_parameter_error"
  }
}

原因分析:
API调用的 role 参数值不合法,只允许是 userassistant

解决方案:
role 参数的值修改为 userassistant

例如,如果您的代码中是这样调用的:

# 错误示例
response = dmxapi.Completion.create(
  model="model-name",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "invalid_role", "content": "Hello!"} # 这里是错误的
  ]
)

请修改为:

# 正确示例
response = dmxapi.Completion.create(
  model="model-name",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"} # 修改为 'user'
  ]
)

预防措施:

  • 在调用API前,对传入的 role 参数值进行校验,确保其在允许的枚举值内。

  • 使用常量或枚举来定义合法的 role 值,减少手动输入错误的可能性。