":{"message":"Role must be in [user, assistant].","type":"rix_api_error","param"...
🚨 错误信息
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 参数值不合法,只允许是 user 或 assistant。
解决方案:
将 role 参数的值修改为 user 或 assistant。
例如,如果您的代码中是这样调用的:
# 错误示例
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值,减少手动输入错误的可能性。