Memo

メモ > 技術 > サービス: ChatGPT > APIからの利用

APIからの利用
ChatGPTをPHPで使ってみました - NAGAOKA STATION https://nstjp.com/web/1050.html OpenAIのAPI利用の料金を解説!文章生成AIと画像生成AIの費用を説明 | AutoWorker〜Google Apps Script(GAS)とSikuliで始める業務改善入門 https://auto-worker.com/blog/?p=7005 一定以上の利用量に達すると利用できなくなり、課金が必要になるようなので注意。 少し試す程度なら問題は無さそう。 ■APIの正式提供 APIは2023年3月2日に提供が開始されたらしい。 後に書いている「APIキーの発行」「プログラムの作成」はもっと前に書いたものだが、これとは異なるのか。 ChatGPT、API提供開始 - Impress Watch https://www.watch.impress.co.jp/docs/news/1482689.html ChatGPT API の使い方|npaka|note https://note.com/npaka/n/n0dd2b226e8ae ChatGPT APIを使ったLineBotの作り方を、人格の与え方まで完全解説【プログラミング不要】|ChatGPT 研究所 https://chatgpt-lab.com/n/n55257c082a9d 新たな革命の幕開け。ChatGPT API の使い方(Python) と料金を紹介。|ChatGPT 研究所 https://chatgpt-lab.com/n/nda0de0be1774 と思ったが、以下に「もともとテキスト生成用に以下のcompletionsエンドポイントがありましたが」と書かれている。 テキスト生成だけ先行して提供されていたみたい。 OpenAIからChatGPTとWhisperに関するAPIがリリースされたのでドキュメントを読み解いてみた | DevelopersIO https://dev.classmethod.jp/articles/release-openai-apis-chatgpt-and-whisper/ ■APIキーの発行 以下にアクセスする。 Account API Keys - OpenAI API https://beta.openai.com/account/api-keys 「+ Create new secret key」ボタンを押す。 ダイアログにAPIキーが表示されるので控えておく。 (このキーは再表示できず、キーを紛失した場合は新しいキーを発行する必要があるとのこと。) ■プログラムの作成 ※2023年3月2日に正式にAPIが提供開始されたので、エンドポイントなどは改めて確認したい。 以下のようにすると、質問に対する回答が表示される。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ChatGPT APIサンプル</title> </head> <body> <h1>ChatGPT APIサンプル</h1> <?php // OpenAIのAPI Keyを取得( https://beta.openai.com/account/api-keys ) define('OPEN_API_KEY', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'); // ChatGPTに投稿するメッセージ define('CHAT_TEXT', 'Javaの有名なフレームワークについて教えてください。'); // リクエストを送信 $header = array( 'Authorization: Bearer ' . OPEN_API_KEY, 'Content-type: application/json', ); $params = json_encode(array( 'prompt' => CHAT_TEXT, 'model' => 'text-davinci-003', 'temperature' => 0.5, 'max_tokens' => 4000, 'top_p' => 1.0, 'frequency_penalty' => 0.8, 'presence_penalty' => 0.0 )); $curl = curl_init('https://api.openai.com/v1/completions'); $options = array( CURLOPT_POST => true, CURLOPT_HTTPHEADER => $header, CURLOPT_POSTFIELDS => $params, CURLOPT_RETURNTRANSFER => true, ); curl_setopt_array($curl, $options); $response = curl_exec($curl); $httpcode = curl_getinfo($curl, CURLINFO_RESPONSE_CODE); if ($httpcode != 200) { exit('エラーが発生しました。'); } echo '<h2>質問</h2>'; echo '<p>' . CHAT_TEXT . '</p>'; echo '<h2>回答</h2>'; $json_array = json_decode($response, true); $choices = $json_array['choices']; foreach ($choices as $v) { $text = trim($v['text']); $text = preg_replace("/\r?\n/i", "\r", $text); $text = preg_replace("/\r/i", "\n", $text); echo '<p>' . nl2br(htmlspecialchars($text, ENT_QUOTES)) . '</p>'; } ?> </body> </html>
■メモ 会話の継続について触れられている。 上記とは言語も呼び出し方も違うかもしれないが参考までにメモ。 ChatGPT APIを使ってAIキャラクターを作ってみる! - Qiita https://qiita.com/sakasegawa/items/db2cff79bd14faf2c8e0

Advertisement