技术教程 技术教程 关注:136 内容:40

php使用curl调用chatgpt api的详细代码

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 当前位置: 萌次元 > 技术教程 > 正文
    • 技术教程
    • 首先是chatgpt的介绍:

      ChatGPT是一种由OpenAI训练的大型语言模型。

      php使用curl调用chatgpt api的详细代码

       以下是使用PHP的cURL库调用ChatGPT API的简单示例:

      <?php
      if (isset($_GET['q'])) {
          die(chatGPT($_GET['q']));
      }
      
      function chatGPT($q)
      {
          // 设置chatGPT的接口URL
          $api_url = 'https://api.openai.com/v1/completions';
          // 设置访问令牌
          $access_token = '这里填写你的api秘钥';
          // 设置请求的参数
          $data = array(
              'prompt' => $q, // 要向chatGPT发送的问题
              'model' => 'text-davinci-003', // 使用的模型名称
              'max_tokens' => 4000, // chatGPT返回的最大文本长度
          );
          // 使用curl发送请求
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_URL, $api_url);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          curl_setopt(
              $ch,
              CURLOPT_HTTPHEADER,
              array(
                  'Content-Type: application/json',
                  'Authorization: Bearer ' . $access_token,
              )
          );
          curl_setopt($ch, CURLOPT_POST, true);
      	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
          curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
          $response = curl_exec($ch);
          $response_data = json_decode($response, true);
          if (curl_errno($ch)) {
              $error_message = curl_error($ch);
              return 'CURL Error: ' . $error_message;
          } else if ($response_data['id']) {
              // 获取chatGPT返回的答案
              $answer = $response_data['choices'][0]['text'];
              return $answer;
              // 处理答案
          } else {
              // 处理错误
              return 'API Error: ' . $response_data['error'];
          }
      }

      请注意,此示例需要您替换为您的OpenAI API密钥。

      这样你就可以访问你的php文件,url加上?q=你的问题就可以得到答案啦!

      请登录之后再进行评论

      登录
    • 返回顶部
    • 实时动态
    • 偏好设置
    • 到底部
    • 帖子间隔 侧栏位置: