ChatGPT(GPT-4o)APIをPHPで実装するシンプルなコード

コード
<?php	

// API KEY(https://platform.openai.com/api-keys)から取得
$api_key = "xxxxxxxxxxxxxxxxxxxxxx";

// メッセージ(POSTで送る)
$user_message = "こんにちは。";

// 設定(役割、人格などを指定する)
$system_set = "経営コンサルタントとして返答してください。関西弁で返答してください。";

// 使用するモデル gpt-4-0125-preview, gpt-3.5-turbo 等
$model_name = "gpt-4o";

// 新しいユーザーメッセージを履歴に追加(設定:system、自分の質問:user、aiの回答:assistant)
// 会話を続ける場合は、session やデータベースを用いる
$message_history[] = ['role' => 'user', 'content' => $system_set];
$message_history[] = ['role' => 'user', 'content' => $user_message];


// cURLセッションを初期化
$ch = curl_init('https://api.openai.com/v1/chat/completions');

// リクエストのJSON本体を構成
$data = [
	'model' => $model_name,
	'messages' => $message_history,
];

// cURLオプションを設定
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, [
	'Content-Type: application/json',
	'Authorization: Bearer ' . $api_key
]);

// リクエストを実行し、レスポンスを取得
$response = curl_exec($ch);
curl_close($ch);

// レスポンスをデコード
$responseData = json_decode($response, true);

// 返答を出力
echo $responseData['choices'][0]['message']['content'];

?>

GPT-4o のAPI について

GPT-4 Turbo よりも安価で高速。従来と比較して、速度は2倍、料金は半額です。これまでGPT-4 TurboのAPIを使っていたのであれば、GPT-4oのAPIへの変更は必須です。

利用までの手順

1 OpenAIのアカウント取得

OpenAIの公式ウェブサイトにアクセスし、アカウントを作成します。

2 APIキーの取得

アカウントにログインした後、APIキーを生成する必要があります。これは、APIを利用するための認証キーとなります。

3 PHPでAPIを利用

PHPからOpenAIのAPIを呼び出すためには、HTTPリクエストを送信するためのコードが必要です。cURLなどのライブラリを使用すると便利です。

API利用料金

Model Input Output
gpt-4o $5.00 / 1M tokens $15.00 / 1M tokens
gpt-4-turbo $10.00 / 1M tokens $30.00 / 1M tokens

1M(100万)トークンは、日本語の文字数に換算すると約50万文字程度になります。

トークンの数は言語によって異なり、英語の場合、1トークンは約4文字に相当しますが、日本語は漢字やひらがな、カタカナの複雑さから、1トークンが1~3文字に相当することが多いです。

一般的には、日本語の1トークンは約2文字とされています。このため、1Mトークンは約50万文字と推定されます。