PHP ChatGPT API 예제
페이지 정보
본문
첨부해 드린 gpt-form.php 와 gpt-run.php 를 웹서버의 동일한 폴더에 업로드 합니다.
gpt-run.php 의 api_key 에 openai api key 를 발행하여 입력합니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ChatGPT Form</title>
</head>
<body>
<form action="gpt-run.php" method="post">
<div>
<div><label for="prompt">prompt:</label></div>
<textarea id="prompt" name="prompt" cols="40" rows="3" required><?php echo $_POST['prompt']; ?></textarea>
</div>
<div><?php echo $_POST['response']; ?></div>
<div>
<input type="submit" value="Submit">
</div>
</form>
<script>
document.getElementById("prompt").select();
// document.getElementById("prompt").focus();
</script>
</body>
</html>
<?php
$api_key = "affdsfsfssfdfsddffdsdsfsdsdfdfs";
function translate($content, $source='ko', $target='en') {
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL,'https://www.googleapis.com/language/translate/v2');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
$data = array('key' => "API Key",
'q' => $content,
'source' => $source,
'target' => $target);
curl_setopt($handle, CURLOPT_POSTFIELDS, preg_replace('/%5B(?:[0-9]|[1-9][0-9]+)%5D=/', '=', http_build_query($data)));
curl_setopt($handle,CURLOPT_HTTPHEADER,array('X-HTTP-Method-Override: GET'));
$response = curl_exec($handle);
$responseDecoded = json_decode($response, true);
$responseCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
curl_close($handle);
return $responseDecoded['data']['translations'][0]['translatedText'];
}
function ko2en($content) {
return translate($content, 'ko', 'en');
}
function en2ko($content) {
return translate($content, 'en', 'ko');
}
$url = "https://api.openai.com/v1/completions";
// "What is the capital of France?"
$prompt = filter_var($_POST["prompt"], FILTER_SANITIZE_STRING);;
$data = array(
"model" => "text-davinci-003",
"prompt" => $prompt,
"max_tokens" => 3000,
"temperature" => 0.5,
);
$data_string = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Authorization: Bearer $api_key",
"Content-Length: " . strlen($data_string))
);
$output = curl_exec($ch);
curl_close($ch);
// print_r($output);
$output_json = json_decode($output, true);
$response = $output_json["choices"][0]["text"];
// echo $response;
?>
<form method="post" id="gpt-run" action="gpt-form.php" onsubmit="return true;" style="display:none;">
<textarea id="response" name="response"><?php echo trim($response); ?></textarea>
<textarea id="prompt" name="prompt"><?php echo $prompt; ?></textarea>
<input type="submit" value="Submit">
</form>
<script>
document.getElementById("gpt-run").submit();
</script>
추천
0
비추천
0
- 이전글 PHP $GLOBALS PHP 슈퍼 전역 변수 23.08.05
- 다음글 mysql port 알아내는 query 23.07.19
첨부파일
첨부파일
2
- 1
- 2

