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

