技術資料

PHPからOpenAI APIを使ってみる—cURLでチャット機能を試す

2023.04.02

error この記事は最終更新日から1年以上が経過しています。

とりあえず、PHPからOpenAIのAPIを叩いてみる。

 'gpt-3.5-turbo',
	'messages' => array(
		array(
			'role' => 'user',
			'content' => 'こんにちは。自己紹介をお願いします。',
		),
	),
	'temperature' => 0.7,
);
$json_data = json_encode($data);

// APIのURLを指定する
$url = 'https://api.openai.com/v1/chat/completions';

// ヘッダを指定する
$api_key = 'ここにOpenAI APIのキーを入れる';
$headers = array(
    'Content-Type: application/json',
    "Authorization: Bearer {$api_key}"
);

// cURLセッションを初期化する
$ch = curl_init($url);

// cURLオプションを設定する
curl_setopt($ch, CURLOPT_POST, true); // POSTメソッドを使用する
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); // POSTするデータを設定する
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // ヘッダを設定する
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_execの戻り値を文字列で取得する

// cURLセッションを実行する
$response = curl_exec($ch);

// cURLセッションを終了する
curl_close($ch);

// APIのレスポンスを表示する
echo $response;

?>

curlを使って上記のようにリクエストを作成する。chatGPTにおける、チャットの作成みたいな感じか。

レスポンスは以下の通り。

{
	"id":"chatcmpl-70wpWaQHnL1A8E27C8EXEUp8An7dj",
	"object":"chat.completion",
	"created":1680460498,
	"model":"gpt-3.5-turbo-0301",
	"usage":{
		"prompt_tokens":23,
		"completion_tokens":92,
		"total_tokens":115
	},
	"choices":[
		{
			"message":{
				"role":"assistant",
				"content":"はじめまして、私はAIアシスタントのGPT-3です。自然言語処理の技術を用いて、人工的に会話をすることができます。専門知識や情報の提供、質問に答えることができます。よろしくお願いします。"
			},
			"finish_reason":"stop",
			"index":0
		}
	]
}
id
completion-idとのこと。チャットのidってことかな?
usage : prompt_tokens
こちらが送ったテキストのトークン数
usage : completion_tokens
GPTからの返信テキストのトークン数
usage : total_tokens
合計トークン数(API利用料に影響)
※GPT3.5は1000トークンで$0.002 なので1ドル課金発生には50万トークン必要。上記のようなやり取りなら、5,000回で1ドルくらいか。
※参考: OpenAI API価格リスト
choices: message: role
「system」「user」「assistant」がある(のか?)
「assistant」はGPTからのレスポンスを表す。
choices: finish_reason
「stop」はGPTからの返信が最後まで出力されたことを表す。
「n」パラメータを送ることで、チャットを終了させず継続したやり取りが実現できる(らしい)。

次回はもう少し深堀りしてみよう。

GPTのfunction callingを活用した関数呼び出し入門

2023.11.23

OpenAI APIのfunction calling機能を使えば、GPTに特定の関数を呼び出させることで、複雑なタスクの自動化が可能になります。本記事では、PHPを用いた基本的な関数指定の方法やレスポンス処理のフローを詳しく解説。日記投稿を例に、APIの設定から応答データの再利用まで実践的なスクリプトを紹介します。

OpenAI API PHP

OpenAI画像生成APIをPHPで試してみる

2023.04.14

OpenAIの画像生成APIをPHPで利用する方法を解説します。基本的なリクエスト方法から、APIレスポンスの扱いまでをシンプルなサンプルコードとともに紹介。

OpenAI API PHP

PHPとOpenAI APIで簡単なチャットシステムのコードを書いてみた

2023.04.13

PHPとOpenAI APIを使ってチャットボットを作成し、ユーザーとAIが対話できる基本的なプログラムを紹介します。サーバーに保存したチャット履歴を基に、APIから取得したレスポンスをデータベースに記録し、チャット形式で対話を進めていくサンプルコードを用意しました。

MySQL OpenAI API PHP

PHPで扱う日付と時刻の基礎:DateTimeImmutableの活用例

2024.12.07

PHPで日付や時刻を操作する際、DateTimeImmutableクラスを使用することで、データの安全性と効率的な処理が実現します。本記事では、基本的な使い方から日付の加減算、フォーマット指定、時刻比較まで、実践的な例を通じて解説します。

PHP

阿部辰也へのお仕事の依頼・お問い合わせ

お名前 *必須
会社名
メールアドレス *必須
電話番号
URL
お問い合わせのきっかけ
お問い合わせの内容 *必須
個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP