错误提示Unsupported value: 'messages[0].role' does not support 'system' with this model.

该修复仅针对 

1
o1-mini

 和 

1
o1-preview

 模型。如果使用其他模型(如 

1
gpt-3.5-turbo

),

1
system

 角色的消息不会被移除。

出错该提示明你使用的模型不支持 

1
system

 角色。某些模型可能只支持 

1
user

 和 

1
assistant

 角色,而不支持 

1
system

 角色。

要解决这个问题,你可以采取以下步骤:

  1. 检查模型是否支持 
    1
    system

     角色:首先确认你使用的模型是否支持 

    1
    system

     角色。如果不支持,你需要移除或替换 

    1
    system

     角色的消息。

  2. 过滤或替换 
    1
    system

     角色的消息:在发送请求之前,检查消息数组中的角色,并将 

    1
    system

     角色的消息替换为 

    1
    user

     或 

    1
    assistant

     角色,或者直接移除这些消息。

比如可增加 过滤或替换 system 角色的消息

   
    $filteredMessages = array_map(function($msg) {
        if ($msg['role'] === 'system') {
            $msg['role'] = 'user'; // 将 system 角色的消息替换为 user 角色
        }
        return $msg;
    }, $message);

    if (in_array(self::$model, ['o1-preview', 'o1-mini'])) {
        $post = [
            'messages' => $filteredMessages,
            'max_completion_tokens' => intval(self::$max_tokens),
            'model' => self::$model,
            'stream' => false
        ];
20250213190139751

错误提示Unsupported value: 'stream' does not support true with this model. Only the default (false) value is supported.

1
tream

 设置为 

1
false

你将 

1
stream

 设置为 

1
false

,这意味着 API 会返回完整的响应,而不是流式输出。如果 API 响应中没有返回预期的内容,可能是 API 本身没有返回有效数据,或者你的代码没有正确处理响应。

    if (in_array(self::$model, ['o1-preview', 'o1-mini'])) {
        $post = [
            'messages' => $filteredMessages,
            'max_completion_tokens' => intval(self::$max_tokens),
            'model' => self::$model,
            'stream' => false
        ];
20250213190214636

服务声明: 本网站除正版商用版块可商用外,其他所有发布的源码、软件和资料均为作者提供或网友推荐收集各大资源网站整理而来,仅供功能验证和学习研究使用,您必须在下载后24小时内删除。不得使用于非法商业用途,不得违反国家法律,否则后果自负!一切关于该资源商业行为与本站无关。如果您喜欢该程序,请支持购买正版源码,得到更好的正版服务。如有侵犯你的版权合法权益,请邮件或QQ:3089659733与我们联系处理删除(邮箱:ynzsy@qq.com),本站将立即更正。