Laravel9でChatGPTのAPIを利用する際に必要な設定を書いていきます。
1.PHPのバージョンを確認
$ php -v
PHP 8.2.9 (cli) (built: Aug 24 2023 20:33:12) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.9, Copyright (c) Zend Technologies
ChatGPTのAPIでは、PHP8.1.0以上が必須になります。
2.composer requireを実行
$ composer require openai-php/laravel
PHPのバージョンが足りないと、ここでエラーが出ます。
途中で
"Do you trust "php-http/discovery" to execute code and wish to enable it now? "
と聞かれることがありますが、yesを選択して大丈夫です。
3.configを作成
php artisan vendor:publish --provider="OpenAI\Laravel\ServiceProvider"
以上のコマンドで/config/openai.phpが作成されます。
4.APIキーを.envに追記
.env
OPENAI_API_KEY=sk-***
OpenAIのアカウントで取得したAPIキーをここに設定します。
当たり前ですが人に知られないようにしましょう。
ここまでで環境の設定は終了です。
5.動作を確認
適当に用意したControllerで以下の関数を記述し、実行させる
ChatGPTController.php
public function index()
{
$msg = [
['role' => 'system', 'content' => '日本語で答えて'],
['role' => 'user', 'content' => '今日の運勢を占って'],
];
$result = OpenAI::chat()->create([
'model' => 'gpt-3.5-turbo',
'messages' => $msg,
]);
echo $result->choices[0]->message->content . PHP_EOL;
}
それっぽい疎通ができていることが分かります。