PHPでChatGPTでAPIを叩いてみたいけど・・・・面白くしたい方へ。
ChatGPTのブラウザ画面のように一文字出てくるサンプルです。
ChatGPT3.5のAPIのキーを取得して、試してみてください。
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); function send_prompt($prompt = '') { $API_KEY = '*************************************************';//ここにキーを入れてね。 if (!$prompt) { return; } $headers = array( 'Content-Type: application/json', 'Authorization: Bearer ' . $API_KEY ); $data = array( 'model' => 'text-davinci-003', 'prompt' => $prompt, "max_tokens" => 500, "temperature" => 1, "top_p" => 1, "frequency_penalty" => 0.0, "presence_penalty" => 0.6, "stop" => array(".", "!", "?") // 終了文字を調整します ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api.openai.com/v1/completions'); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $response_data = json_decode($response, true); return trim($response_data['choices'][0]['text']); } $prompt = 'こんにちは、質問していいですか?';//ここに質問を書いてね $chat_text = send_prompt($prompt); echo ' <script> document.addEventListener("DOMContentLoaded", function () { const text = \'こんにちは、私はChatGPTです。'.$chat_text.'\';//ここは回答です、アレンジしてね const outputElement = document.getElementById(\'output\'); const typingDelay = 200; // ミリ秒単位でのタイピングの遅延 function typeText(index) { if (index < text.length) { outputElement.innerHTML += text.charAt(index); setTimeout(() => typeText(index + 1), typingDelay); } } typeText(0); }); </script> <div id="output"></div> '; ?>