プロンプトの出力を変更する
既定では、プロンプトは応答としてテキストを生成します。 テキストは多くのユースケースで便利です。 ただし、応答に個別に識別する必要がある複数の要素がある場合、テキスト オプションが制限される可能性があります。
JSON 出力を使用するメリット
JSON 出力を使用すると、テキストではなくプロンプト応答用の JSON 構造を生成できます。 JSON を使用すると、Power Automate または Power Apps 内の複数の要素を含む応答をより簡単に処理できます。
以下は、JSON 出力で可能になるユースケースの例です:
- プロジェクト スケジュールや製品情報などの構造化されたコンテンツを表示します。
- 請求書、注文書、配送フォームなどのテキストからデータを抽出します。
- 電子メールや Dataverse データなどのテキストソースからオブジェクト属性を特定します。
- テキストから複数のカテゴリまたは感情を取得します。
JSON 出力によるプロンプトの作成
このセクションでは、出力として JSON を選択し、JSON 形式を編集する方法について説明します。
出力として JSON を選択する
プロンプト応答の表示方法を変更するには、次の手順に従います:
プロンプト設定 見出しのすぐ下のパネルで、 出力>JSONを選択します。
左下で、プロンプトのテスト を選択して、プロンプトの応答が JSON でどのようにレンダリングされるかを確認します。
JSON 形式を編集する
既定では、形式は 自動検出です。 この形式では、プロンプトをテストするたびに、プロンプトに関連付けられた形式がテスト時に検出された形式で更新されます。 この形式は、プロンプトの指示を繰り返し実行し、応答形式がどのように変化するかを知りたい場合に便利です。
JSON の例を更新すると、形式は カスタム になり、プロンプトを再度テストしても更新されません。 この形式は、プロンプトの調整によって形式が影響を受けないようにしたい場合や、特定の形式に従う必要がある場合に便利です。
自動検出に戻るを選択すると、自動検出モードに戻ることができます。
プロンプトをテストして保存するには、次の手順に従います:
新しく変更した例を確認するには、適用する を選択します。
新しい形式でプロンプトの応答がどのように表示されるかを確認するには、プロンプトのテストを選択します。
変更が完了したら、カスタム プロンプトを保存 を選択します。
この手順をスキップすると、変更内容は失われます。
プロンプトを保存すると、最新の 自動検出された 形式または定義された カスタム 形式がロックされます。 つまり、Power Automate または Power Appsでプロンプトを使用する場合、保存された形式が使用され、変化しません。
いつでも、</> を選択して、JSON の例から生成された JSON スキーマを確認できます。 現在、このスキーマを変更することはできません。
Power Automate で JSON 出力のプロンプトを使用します
Power Automate フローにGPT で作成されたテキストアクションを追加すると、レスポンスを解析する複雑なロジックを追加しなくても、すべての JSON フィールドを動的な値として使用できます。
次の例は、この記事の JSON 出力でプロンプトを作成する で説明されているプロンプトを使用して、電子メールで受信した請求書を処理する方法を示しています。
新しいメールを受信した場合 というトリガーでフローを作成します。
詳細については、トリガーの使用を開始する をご覧ください。
特定のメールだけを処理する必要がある場合は、必ずフィルターを設定してください。
アクション 画像または PDF ドキュメント内のテキストを認識 を使用して添付ファイルのテキストを抽出します。
デザイナーでフローを作成および変更する方法の詳細については、クラウド フロー デザイナーについて理解するを参照してください。
前述のアクションはページのテーブル内の行のテーブルを返すため、すべての行を一意の変数に集計する方が便利です。
変数を初期化し、画像または PDF 文書内のテキストを認識するアクションのテキストの動的値をこの変数に追加します。
以下の手順でフローを完成させてください:
- ご利用のフローで、プロンプトを使用して GPT によるテキストを作成する を選択します。
- パラメータータブのプロンプトフィールドで、出力としてJSON を使用したプロンプトを選択します。
- 作成した請求書変数をプロンプト入力に追加します。
次の手順により、プロンプトを使用してテキストから抽出された複数の値を簡単かつ安全に使用できます。
フロー内で、メールを送信する を選択します。
パラメーター タブで、プロンプトによって抽出された要素を含む電子メールを JSON 出力で送信します。
よくあるご質問
JSONを生成できませんでした
プロンプトのテスト中に次のエラーが発生する場合があります: JSON を生成できませんでした。プロンプトの指示を編集して、もう一度お試しください。
このエラーは、モデルが JSON 出力をメタデータ情報で囲んでいるために、必要な JSON 形式の検証が正常に行われないことが原因である可能性があります。 問題を解決するには、プロンプトに次の指示を追加してみてください: 出力を JSON として表示する。
自動検出モードでは JSON は返されません
自動検出モードを有効にして テスト プロンプト を選択した後は、JSON が返されない可能性があります。 プロンプトの指示が、JSON を返すシステム指示と矛盾している可能性があります。 プロンプトの指示を変更して再度テストすることで解決できる可能性があります。
プロンプト実行時に JSON 形式が更新されない
自動検出モードで検出された最新の JSON 形式、またはカスタム モードで定義された最新の JSON 形式が、プロンプト保存時に記録されます。 この記録された JSON フォーマットは、プロンプトの実行時に適用され、プロンプトへの動的入力が変更されている場合でも、応答フォーマットの一貫性を保証します。
制限
- JSON スキーマを変更することはできません。
- フィールド キーのない JSON 形式の定義はサポートされていません。
例:["abc", "def"]
はサポートされていませんが、[{"Field1": "abc"}, {"Field1": "def"}]
はサポートされています。