AIBuilderに構造化出力のような機能が追加されたので試してみた。
JSON出力とは
JSON出力(構造化出力)は、ざっくりいうと「LLMの回答を、指定したJSON形式のデータに指定する」こと。
今までは以下のようなプロンプトで出力を指定していたけど、これだと出力の安定度がいまいちだった。
出力は以下のJSON形式で生成すること。 # output json schema { "type" : "object", "properties" : 以下略 }
そこで本家のOpenAIやAzure OpenAIのGPTモデルには「構造化出力」(旧JSONモード)が追加されたんだけど、この構造化出力に当たる機能がAI Builderにも搭載された。
ということで早速遊んでみた。
JSON出力の構築
例えばこんなメールを受信したときに、「候補の日時」をAIで抽出したいとする。


まずは「GPTでプロンプトを使用してテキストを作成する」アクションを選択して、[新しいカスタムプロンプト]を選択、


いい感じのプロンプトを設定。


そしたら「出力」アイコンを選んで[JSON] -> [編集]をクリックして、


出力したいJSONの例を入力して、[適用]→[カスタムプロンプトを保存]する。
※出力のJSONはスキーマでの指定も可能。

※出力のJSONはスキーマでの指定も可能。

最後にPower Automateに戻って、Inputに先ほどの文字列を入れれば完成。


フローを実行すると、こんな感じで応答を「指定したJSON」で返してくれる。


JSON出力の良いところ
JSONで出力させる利点は「GPTで生成した結果をデータとして扱いやすい」こと。
例えば今回の例でいうと、GPTでの生成結果と、Outlookの「イベントの作成」を組み合わせることで、


生成した値を「開始時刻」「終了時刻」に簡単に設定することができて、


GPTを組み合わせたフローで簡単に予定を追加することができる。


ということで非常に便利なJSON出力でした。