Laravel10 OpenAI APIのレスポンスをjson形式で受け取る方法

サンプルコード

use OpenAI\Laravel\Facades\OpenAI;
  ・
  ・
  ・
$question = "
日本一高い山をjson形式で回答してください:
{
'name': '山の名前',
'elevation': '標高'
}";

$response = OpenAI::chat()->create([
    'model' => 'gpt-4o-mini',
    'messages' => [
        ["role" => "system", "content" => $question]
    ],
]);
dd($response);

結果

思うような結果が得られない場合は、プロンプトとカラムの説明に詳細な指示を与えることで望む回答を出力してくれる。

        $question = "
        日本一高い山を名前と標高の形式で教えてください。標高はセンチメートル(cm)で回答してください。回答は以下のJSONフォーマットに従ってください:
        {
        'name': '山の名前',
        'elevation': '標高(cm単位)'
        }";
OpenAI API json_modeレスポンス

Json形式で受け取ることにより、その後の処理が非常に楽になった。
しかし、個人的にはstructured outputsの方が良い選択のような気がする。
structured outputsよりjson_modeの方が優れている点はあるのだろうか?

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です