You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP Curl调用OpenAI API仅返回元数据数组,无Prompt响应

PHP Curl调用OpenAI API仅返回元数据无响应的问题解决

问题情况

使用PHP Curl请求OpenAI的v1/completions接口时,仅得到Curl请求的元数据数组,没有针对Prompt的实际响应内容。已查阅OpenAI官方指南但未找到解决方法,推测是简单错误导致。

代码问题分析

从提供的代码和返回数据来看,主要存在两个问题:

  • 错误输出了Curl请求的元数据(通过curl_getinfo()获取的信息),而非OpenAI API返回的响应内容
  • max_tokens设置为7,数值过小,无法容纳针对提问的有效回答内容

解决方案

  1. 确保获取并输出的是curl_exec()返回的API响应,而非curl_getinfo()的元数据
  2. 调整max_tokens参数至合理值(比如200),保证能返回完整回答
  3. 添加基础错误处理,排查请求是否失败或响应解析异常

修正后的代码

$Url            = "https://api.openai.com/v1/completions";
$OpenAIModel    = "text-davinci-003";
$Headers  = [
    'Accept: application/json',
    'Content-Type: application/json',
    'Authorization: Bearer ' . $ApiKey
];

$Messages = "What is the capital of France and how many people live there?";

$Data = array(
    'model' => $OpenAIModel,
    'prompt' => $Messages,
    'max_tokens' => 200, // 调整为足够返回完整回答的数值
    'temperature' => 0.5,
    'top_p' => 1,
    'best_of' => 2,
    'frequency_penalty' => 0.0,
    'presence_penalty' => 0.0,
);

$Ch = curl_init();
curl_setopt($Ch, CURLOPT_URL, $Url);
curl_setopt($Ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($Ch, CURLOPT_HTTPHEADER, $Headers);
curl_setopt($Ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($Ch, CURLOPT_POST, 1);
curl_setopt($Ch, CURLOPT_POSTFIELDS, json_encode($Data)); 

$Response = curl_exec($Ch);

// 添加错误处理
if(curl_errno($Ch)){
    echo 'Curl错误: ' . curl_error($Ch);
} else {
    // 解析JSON响应
    $responseData = json_decode($Response, true);
    if(json_last_error() === JSON_ERROR_NONE){
        // 输出API返回的实际响应内容
        var_dump($responseData);
        // 直接提取回答内容
        if(isset($responseData['choices'][0]['text'])){
            echo '回答内容: ' . trim($responseData['choices'][0]['text']);
        }
    } else {
        echo 'JSON解析失败';
    }
}

// 关闭Curl资源
curl_close($Ch);

验证说明

修正后,执行代码会输出OpenAI API返回的包含回答内容的JSON数据,而非Curl的元信息。调整后的max_tokens能确保返回足够长度的回答,覆盖提问中的两个问题(首都和人口)。

内容的提问来源于stack exchange,提问作者Chris E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 16:45:24