PHP CURL Open Ai 移除 POST 数据中的引号

以下是我的 PHP Curl 脚本,用于向 Open AI 发送 POST 请求,目前一切正常。

我想能够从 POST 数据中设置值,像这样。

 $getOpenAITemperature = $_POST[OpenAITemperature];  $getmaxtokens = $_POST[OpenAIMaximumLength];  $getTopp = $_POST[OpenAITopP];`

但当我这样做时,POST 值会被添加引号,导致脚本停止工作。

像这样。

 $postData = [  'model' => $getOpenAIModel,  'prompt' => $getRequest,  'temperature' => "0.24",  'max_tokens => "250",  'top_p' => "1",

但为了正常工作,它需要看起来像这样。

 $postData = [   'model' => $getOpenAIModel,   'prompt' => $getRequest,   'temperature' => 0.24,   'max_tokens => 250,   'top_p' => 1,

如何移除数字周围的引号?模型和提示的引号没问题,只需要处理数字的引号。

*** 下面的脚本工作正常 ***

  $getOpenAITemperature = 0.5;  $getmax_tokens = 250;  $gettop_p = 1;  $OPENAI_API_KEY = "sk-123";  $getOpenAIModel = "text-davinci-003";  $getRequest "My Question";  $ch = curl_init();  $headers  = [        'Accept: application/json',        'Content-Type: application/json',        'Authorization: Bearer '.$OPENAI_API_KEY.''    ]; $postData = [   'model' => $getOpenAIModel,   'prompt' => $getRequest,   'temperature' => $getOpenAITemperature,   'max_tokens' => $getTopp,   'top_p' => $getmaxtokens,   'best_of' => 2,   'frequency_penalty' => 0.0,   'presence_penalty' => 0.0,    'stop' => '["\n"]',  ];  curl_setopt($ch, CURLOPT_URL, 'https://api.openai.com/v1/completions');  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);  curl_setopt($ch, CURLOPT_POST, 1);  curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));   $result = curl_exec($ch);`

我尝试过很多方法,如 PHP 的 trim() 和 str_replace,但都没有效果。


回答:

你可以将字符串转换为 int 或 float,像这样:

$postData['temperature'] = (float) $postData['temperature'];$postData['max_tokens'] = (int) $postData['max_tokens'];

查看 PHP 文档了解类型转换https://www.php.net/manual/en/language.types.type-juggling.php#language.types.typecasting

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注