针对表 cd_openkey:
remark 变为url###model###corp 例:https://api.moonshot.cn###moonshot-v1-8k###kimi
'Authorization: Bearer ' . self::getOpenKey(1)['openkey'],//zjszjs
...
/**
* 从数据库获取key ,新的,zjszjs
* 根据keyid从数据库获取对应的key,若不存在则返回最小id的key
*/
public static function getOpenKey2($keyid)
{
// 直接根据传入的keyid查找记录
$record = Openkey::find($keyid);
// 如果找不到对应记录,获取最小id的记录
if (!$record) {
$minId = Openkey::min('openkey_id');
$record = Openkey::find($minId);
}
return $record;
}
$mml = Chat::getOpenKey2(1);//zjszjs
$mml_ok = $mml; //"openkey"
// 按 "###" 分割字符串
$parts = explode("###", $mml["remark"]);
// 确保分割后至少有 3 部分
if (count($parts) >= 3) {
$mml_ok["url"] = $parts[0]; // "https://api.moonshot.cn"
$mml_ok["model"] = $parts[1]; // "moonshot-v1-8k"
$mml_ok["corp"] = $parts[2]; // "kimi"
} else {
// 如果格式不对,可以设置默认值或抛出错误
$mml_ok["url"] = "";
$mml_ok["model"] = "";
$mml_ok["corp"] = "";
}
....
$data = [
"model" => $mml_ok["model"], //zjszjs
"stream" => true,
"messages" => $messages,
"temperature" => 0.7,
"max_tokens" => 4096
];
$contents = [];
$content = "";
$openai_api_id = "";
try {
$url = 'https://api.openai.com/v1/chat/completions';
if ($this->config['proxy_type'] == 1 && $this->config['proxy_server'] != '') {
$url = $this->config['proxy_server'] . '/v1/chat/completions';
}
$url = $mml_ok["url"]. '/v1/chat/completions';//zjszjs
store 加配置
gpt连不上,可能是应为 温度>1了
cd_message 表的content字段要改为utf8mb4... ,不然存储颜文字错误。