+
95
-

回答

增加stream=true

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.openai.com/v1/chat/completions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$messages = [["role" => "system",
"content" => "你是一个AI助手chatai"]];

$messages[] = ["role" => "user",
"content" => "你好"];
$_postobj = array("model" => "gpt-3.5-turbo",
"messages" => $messages,
"max_tokens" => 100,
"temperature" => 0.1,
// "top_p" => 1,
"n" => 1,
"stream" => true
);


curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($_postobj, JSON_UNESCAPED_UNICODE));
$certificate = "/data/wwwroot/default/asset/cacert.pem";
curl_setopt($ch, CURLOPT_CAINFO, $certificate);
curl_setopt($ch, CURLOPT_CAPATH, $certificate);
// curl_setopt($ch, CURLOPT_SSLVERSION, 3);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);

// Set the API key as an HTTP header
$headers = array();
$headers[] = "Content-Type: application/json";
$headers[] = "Authorization: Bearer APIkey";

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($curl, $data) {
// 这里就是流式输出了,自己解析文本吧
echo $data;


return strlen($data);
});

// Send the request and parse the response
$response = curl_exec($ch);


if (curl_errno($ch)) {
// If there was an error executing the cURL request, print it out

curl_close($ch);

} else {
// Otherwise, print the response from the GPT-3 API
curl_close($ch);

}


网友回复

我知道答案,我要回答