蹭个热度,写个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 "您的请求包含敏感词汇,请重新输入。";
} 转载请注明:PHP开发日志 >> 胡言乱语 » PHP接入chatGpt API