gpt4 book ai didi

openai-api - 使用PHP访问ChatGPT API

转载 作者:行者123 更新时间:2023-12-02 05:48:30 54 4
gpt4 key购买 nike

我正在编写一个简单的 PHP 脚本,没有依赖项来访问 ChatGPT API,但它抛出了一个我不明白的错误:

这是到目前为止的脚本:

    $apiKey = "Your-API-Key";
$url = 'https://api.openai.com/v1/chat/completions';

$headers = array(
"Authorization: Bearer {$apiKey}",
"OpenAI-Organization: YOUR-ORG-STRING",
"Content-Type: application/json"
);

// Define messages
$messages = array();
$messages["role"] = "user";
$messages["content"] = "Hello future overlord!";

// Define data
$data = array();
$data["model"] = "gpt-3.5-turbo";
$data["messages"] = $messages;
$data["max_tokens"] = 50;

// init curl
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
} else {
echo $result;
}

curl_close($curl);

这会从 API 返回一个错误:

{"model":"gpt-3.5-turbo","messages":{"role":"user","content":"Hello future overlord!"},"max_tokens":50}{ "error": { "message": "{'role': 'user', 'content': 'Hello future overlord!'} is not of type 'array' - 'messages'", "type": "invalid_request_error", "param": null, "code": null } }

据我所知,我将消息参数作为数组发送。这哪里出了问题?这是 json_encode 的问题吗?为什么 API 不认为这是一个数组?

提前致谢!

最佳答案

啊...我看到了这个问题...如果其他人有同样的问题,请在此处留下此答案:

有两个不同的参数,“message”和“messages”。我没有注意到错误消息中的单数/复数。

更正的代码在这里:

// Define messages
$messages = array();
$message = array();
$message["role"] = "user";
$message["content"] = "Hello future overlord!";
$messages[] = $message;

// Define data
$data = array();
$data["model"] = "gpt-3.5-turbo";
$data["messages"] = $messages;
$data["max_tokens"] = 50;

感谢楼上各位的评论。

关于openai-api - 使用PHP访问ChatGPT API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75780617/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com