2023年大注目のChatGPTのAPIが解放されました。
人工知能を用いた自然な対話を実現することを目的として開発されたモデルは今後かなり注目されていくことでしょう。
今回はAPIを利用してPHPで動かす方法を紹介します。
手順は以下の通りになります。
1.OpenAIのアカウント取得
2.APIキーの取得
3.PHPでAPIを利用
APIを利用するには?(準備)
OpenAIアカウントの開設
①OpenAI APIへ遷移
「Get started」をクリックして、ユーザー登録を完了させます。
APIキーの発行
アカウントを作成後、OpenAPI-keysにアクセスして「+ Create new secret Key」をクリックして下さい。
APIキーが発行されます。
あとで利用するので保存必須です。
PHPでAPIを利用(実装)
JavaScriptのFetch APIを利用してPHP(ChatGPTの処理ファイル)をコールバックして作成しています。
■javascriptのコード例
sendButton.addEventListener('click', () => {
const userInputValue = userInput.value.trim(); // テキストボックスに入力された文字列
if (userInputValue === '') return;
addChatBubble(userInputValue, 'user');
fetch('../../api/api_chatGPT.php', { // リクエスト先のPHPファイルを指定
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
prompt: userInputValue // テキストボックスに入力された文字列を格納
})
})
.then(response => response.json())
.then(data => {
const chatGPTResponse = data; // ChatGPTでAIが回答した内容を格納
console.log(chatGPTResponse);
});
■PHPのコード例
$input_json = file_get_contents('php://input');
$post = json_decode( $input_json, true );
$req_question = $post['prompt'];
$result = array();
// APIキー
$apiKey = '【生成したAPIキー】';
//openAI APIエンドポイント
$endpoint = 'https://api.openai.com/v1/chat/completions';
$headers = array(
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
);
// リクエストのペイロード
$data = array(
'model' => 'gpt-3.5-turbo',
'messages' => [
[
"role" => "system",
"content" => "日本語で応答してください"
],
[
"role" => "user",
"content" => $req_question
]
]
);
// cURLリクエストを初期化
$ch = curl_init();
// cURLオプションを設定
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// APIにリクエストを送信
$response = curl_exec($ch);
// cURLリクエストを閉じる
curl_close($ch);
// 応答を解析
$result = json_decode($response, true);
// 生成されたテキストを取得
$text = $result['choices'][0]['message']['content'];
echo json_encode($text, JSON_PRETTY_PRINT);
完成イメージ
こちらが完成イメージです。
対話形式のチャットボットのようなUIにしてます。
OpenAIのAPIは有料です。
1000トークンあたり0.002ドル(約0.27円)です。
ちなみに・・・トークンとは?
文字(Character)と単語(Word)の間の単位を表します。
API料金は、このトークン数に応じて課金されるため、トークンの理解は非常に重要です。
まとめ
簡単にChatGPTのAPIをPHPを用いて利用することが出来ます。
ChatGPTのAPIが公開されたことで今後様々なアプリケーションにChatGPTが活用されそうです。
弊社では、様々なAPIを利用してSNS分析ツール「GENba」を開発しております。
対象のAPIは以下です。
・Instagram graph API
・Twitter API
・TikTok API
・Open AI API
最新の技術を駆使し、弊社オリジナルの機能を開発しながら、日々アップグレードしております。
気になる方はこちらまでお問合せください。
▼GENbaに関する問い合わせ先はこちら
2009年にIT業界に就職、開発者を志す。マッチングアプリ、ソーシャルゲーム、顧客管理システム開発を経て、ソーシャルマーケティングのマーケターを経験後、SNS管理ツール「GENba」の開発者として運用まで担っている。
2019年、株式会社toにジョイン。