PHP接入chatGpt API

蹭个热度,写个chatGPT API PHP接入

$query = "Hello, ChatGPT!";  // 查询内容
$api_key = "your_api_key";   // API Key

// 准备请求数据
$data = array(
   'query' => $query,
);

// 发送HTTP请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.chatgpt.com/v1/gpt3");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
   'API-KEY: '.$api_key,
));
$response = curl_exec($ch);
curl_close($ch);

// 处理API响应
if ($response === false) {
   echo "API请求失败!";
} else {
   // 将API响应转换为PHP数组
   $result = json_decode($response, true);
   if ($result && isset($result["success"]) && $result["success"] == true) {
       // 处理API成功响应的数据
       $data = $result["data"];
       // 保存对话历史记录
       saveDialogue($query, $data["text"]);
       // 检查敏感词汇
       if (checkSensitiveWords($data["text"])) {
           // 如果检测到敏感词汇,做出相应处理
           handleSensitiveWords($data["text"]);
       } else {
           // 输出生成的对话文本
           echo $data["text"];
       }
   } else {
       // 处理API响应错误信息
       $error = $result["error"]["message"];
       echo "API请求错误:".$error;
   }
}

// 保存对话历史记录
function saveDialogue($query, $response) {
   // TODO: 保存对话历史记录
   $file = fopen("dialogue_history.txt", "a");
   fwrite($file, "Query:".$query."\tResponse:".$response."\n");
   fclose($file);
}

// 检查敏感词汇
function checkSensitiveWords($text) {
   // TODO: 检查敏感词汇
   if (strpos($text, "敏感词汇") !== false) {
       return true;
   } else {
       return false;
   }
}

// 处理敏感词汇
function handleSensitiveWords($text) {
   // TODO: 处理敏感词汇
   echo "您的请求包含敏感词汇,请重新输入。";
}