話題のChatGPTをLaravelで動かしてみた

こんにちはコバヤシです。 昨今のAIブームも落ち着いてきた感がありますが、今更ながらChatGPTのAPIを試してみたいと思います。

APIキーの発行

OpenAI APIのウェブサイトにアクセスし、ログインをします。

platform.openai.com

右上の設定アイコンをクリックしてメニューを開き、「View API keys」をクリックします。

API keysの画面で「Create new secret key」のボタンを押してkeyを作成します。

必要であればKeyの名前を入力します。

表示されたキーの横にあるコピーをボタンを押して、キーを取得します。

支払い情報の登録

有料サービスの為、カードの登録が必要のようなので登録を行います。
サイドメニューの「Billing」> 「Payment methods」をクリックし、「Add payment method」からカードの登録を行います。

openai-php/laravelのインストール

APIを使用する準備が出来たので、実際にAPIを呼び出すプログラムを作成します。
今回はLaravelにopenai-php/laravelを入れてアクセスして見たいと思います。

composer require openai-php/laravel 

インストールが終わったら、以下のコマンドでconfigを作成します。

php artisan vendor:publish --provider="OpenAI\Laravel\ServiceProvider"

最後に.envにAPI KEYを記述します。

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxx

APIを呼び出す

今回は簡単に以下のように書いてみました。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use OpenAI\Laravel\Facades\OpenAI;

class IndexController extends Controller
{
    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;

    }
}

結果は、、、

You exceeded your current quota, please check your plan and billing details.

現在の割り当てを超えているので、プランと請求の詳細を確認しろということらしい。。 初めてのAPIの使用なので割当を超えているというのはないはず。。。

色々試したところ「Usage limits」で「Hard limit」と「Soft limit」を設定したらうまくいくことが判明。

設定後、APIにアクセスしたところ、以下が返ってきました。

ドラゴンクエストは、日本のゲームデザイナーである堀井雄二氏が1986年に発売したRPG(ロールプレイングゲーム)です。   
堀井氏は、当時エニックス(現:スクウェア・エニックス)という会社に勤めており、その頃はまだRPGというジャンルが一般的ではありませんでした。  
しかし、堀井氏は自身がファンとしても楽しめるゲームを作りたいという思いから、『ドラゴンクエスト』を制作しました。  
 ゲームの舞台は、中世ヨーロッパ風のファンタジー世界であり、主人公が仲間と共に冒険をするストーリーが展開されます。  
プレイヤーは主人公を操作し、敵との戦闘やアイテムの収集、ダンジョンの探索などを行います。 ドラゴンクエストは、その当時のテレビゲーム市場において大きな成功を収めました。  
その人気の理由としては、シンプルかつ操作がわかりやすいゲーム性、魅力的なキャラクターやモンスター、壮大なストーリーなどが挙げられます。  
また、音楽もシンフォニックなアレンジがされ、一つのドラマとしてゲームプレイを盛り上げています。   
シリーズはその後も続編やリメイク作品などが制作され、また映画やアニメなど他メディア展開も行われました。  
ドラゴンクエストシリーズは日本国内外で非常に人気があり、ゲーム史上最も有名なRPGの一つとして広く知られています。

うん。内容も問題ないようです。

まとめ

ChatGPTのAPIをさくっと試してみました。ChatGPT自体の設定で少し手こずったところもありましたが、APIの呼び出しはライブラリを使用した為簡単に出来ました。 実際の業務への導入では直接CahtGPTのAPIを使用せずにAzure OpenAI Serviceの利用を検討するなど色々考慮する部分も多いとは思いますが、気軽にAIサービスを構築できる手軽さを感じることが出来ました。
これからもChatGPTのAPIを試していきたいと思います。