Tip

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

構造化出力

はじめに

特定のアプリケーションシナリオでは、LLMモデルにJSON形式で構造化されたコンテンツを応答させたいことがあります。これは、「構造化出力」を設定することで実現可能です。

設定について

  • JSON Schema - ユーザーは、JSON Schema を設定することで、モデル応答の期待される構造を定義できます。
  • 名前 (Name) - オプション。JSON Schemaが表すオブジェクトをモデルがよりよく理解できるようにするために使用します。
  • 説明 (Description) - オプション。JSON Schemaの用途をモデルがよりよく理解できるようにするために使用します。
  • Strict - モデルがJSON Schemaの構造に厳密に従って応答を生成するよう要求します。現在、OpenAIの一部の新しいモデルのみがこのパラメータをサポートしています。有効にする前に、お使いのモデルが互換性があるかご確認ください。

構造化コンテンツの生成方法

モデルが構造化コンテンツを生成する方法は、使用するモデルとそのResponse formatの設定によって異なります。

  1. Response formatがtextのみをサポートするモデル

    • 呼び出し時、ノードはJSON Schemaに基づいてJSON形式のコンテンツを生成するToolsをバインドし、モデルがこのToolsを呼び出すことで構造化された応答を生成するように誘導します。
  2. Response formatがJSONモード (json_object) をサポートするモデル

    • 呼び出し時にJSONモードを選択した場合、ユーザーはPrompt内でモデルにJSON形式で返すよう明示的に指示し、応答フィールドの説明を提供する必要があります。
    • このモードでは、JSON Schemaはモデルが返すJSON文字列を解析し、それをターゲットのJSONオブジェクトに変換するためにのみ使用されます。
  3. Response formatがJSON Schema (json_schema) をサポートするモデル

    • JSON Schemaは、モデルのターゲット応答構造を直接指定するために使用されます。
    • オプションのStrictパラメータは、モデルがJSON Schemaに厳密に従って応答を生成するよう要求します。
  4. Ollamaローカルモデル

    • JSON Schemaが設定されている場合、呼び出し時、ノードはそれをformatパラメータとしてモデルに渡します。

構造化出力結果の利用

モデル応答の構造化コンテンツは、ノードの「Structured content」フィールドにJSONオブジェクトとして保存され、後続のノードで利用できます。