我正在尝试使用 OpenAi 的 Ada 语言处理器来总结一段文字。 当我尝试使用他们的 playground 时,该功能起作用了,我得到了一个有意义且可供人类使用的摘要。
这是来自 playground 的 cURL:
curl https://api.openai.com/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "text-ada-001",
"prompt": "Please write a one paragraph professional synopsis:\n\nSome text",
"temperature": 0,
"max_tokens": 60,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}'
当我使用此 cURL 并将其转换为 PHP 代码时,它停止工作,或者更好的说法是它可以工作,但它返回完全无意义的内容,与 playground 的结果完全不同。
PHP代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.openai.com/v1/completions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$postFields = '{
"model": "text-ada-001",
"prompt": "Please write a one paragraph professional synopsis: ' . $text . '",
"temperature": 0,
"max_tokens": 500,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}';
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization: Bearer ' . $api_key;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
return $result;
现在,我尝试使用像这样的 json 代码,并编写一个 PHP 数组并将其转换为 json,结果相同。我也尝试过使用 library但它也返回了与以前相同的废话。我说的是废话,因为它返回的文本不是可以阅读并说“嘿,这是专业概要”的东西。我将举一个我在其中一次迭代中得到的句子的例子:
'这不漂亮,不,我心想,哦,看,这不是共和国的 child 会知道这些事情之一。哦,这是一所限制性学校”。
我可以向您保证,我正在处理的文本中没有提及共和党人或 child 。
我的问题是,我做错了什么吗? OpenAi 在他们的 playground 和代码中的工作方式是否不同?
最佳答案
Troubleshooting discrepancies between Playground vs. the OpenAI API:
- 将
温度
参数设置为0
。如果温度
参数设置在0
,模型可能每次都会产生不同的结果 - 这是预期的行为。 - 检查您的提示是否完全相同。即使是细微的差异(例如额外的空格或换行符)也可能导致不同的输出。
- 确保您在两种情况下使用相同的参数。例如,模型参数设置为
davinci
和text-davinci-002
即使使用相同的提示也会产生不同的完成,因为text-davinci-002
是一种更新且功能更强大的指令遵循模型。 - 尝试将模型从
text-ada-001
更改为text-davinci-003
,因为它是最强大的 GPT-3 模型。 可能与型号有关。
关于php - OpenAI GPT-3 API : Why am I getting different completions on Playground vs. API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75106599/