次の方法で共有


セマンティック カーネル プロンプトの YAML スキーマ リファレンス

セマンティック カーネル プロンプトの YAML スキーマ リファレンスは、サポートされているすべての YAML 構文とその使用可能なオプションを一覧表示する YAML プロンプトの詳細なリファレンスです。

定義

名前

この構成を使用してプロンプト関数を作成するときに既定で使用する関数名。 名前が null または空の場合、関数の作成時にランダムな名前が動的に生成されます。

形容

この構成を使用してプロンプト関数を作成するときに既定で使用する関数の説明。

template_format

セマンティック カーネル テンプレート形式の識別子。 セマンティック カーネルでは、次のテンプレート形式がサポートされます。

  1. セマンティック カーネル - 組み込みのセマンティック カーネル形式。
  2. ハンドルバー - ハンドルバーのテンプレート形式。
  3. 液体 - 液体テンプレート形式

テンプレート

プロンプトを定義するプロンプト テンプレート文字列。

入力変数

プロンプト テンプレートで使用される入力変数のコレクション。 各入力変数には、次のプロパティがあります。

  1. name - 変数の名前。
  2. description - 変数の説明。
  3. default - 変数の省略可能な既定値。
  4. is_required - 変数が必須と見なされるかどうか (省略可能ではありません)。 既定値は trueです。
  5. json_schema - この変数を記述する省略可能な JSON スキーマ。
  6. allow_dangerously_set_content - 変数値を潜在的な危険なコンテンツとして処理するかどうかを示すブール値。 既定値は falseです。 詳細については、「プロンプトインジェクション攻撃からの保護」を参照してください。

助言

allow_dangerously_set_content の既定値は false です。 true に設定すると、入力変数の値は安全なコンテンツとして扱われます。 チャット完了サービスで使用されているプロンプトの場合は、プロンプトインジェクション攻撃から保護するために false に設定する必要があります。 テキストTo-Image など、他の AI サービスを使用する場合は、これを true に設定して、より複雑なプロンプトを表示できます。

出力変数

プロンプト テンプレートで使用される出力変数。 出力変数には、次のプロパティがあります。

  1. description - 変数の説明。
  2. json_schema - この変数を記述する JSON スキーマ。

実行設定

プロンプト テンプレートで使用される実行設定のコレクション。 実行設定は、サービス ID によってキー指定されるディクショナリ、または既定の実行設定の default です。 promptExecutionSettings 各 のサービス ID は、ディクショナリ内のキーと一致する必要があります。

各エントリには、次のプロパティがあります。

  1. service_id - これらの設定が構成されているサービス (azure_openai_eastus、openai、ollama、huggingface など) を識別します。
  2. model_id - これにより、これらの設定が構成されている AI モデル (gpt-4、gpt-3.5-turbo など) が識別されます。
  3. function_choice_behavior - LLM によって関数を選択する方法と、それらが AI コネクタによって呼び出される方法を定義する動作。 詳細については、「関数の選択動作の」を参照してください。

ヒント

指定した場合、サービス識別子は実行設定のディクショナリ コレクション内のキーになります。 指定されていない場合、サービス識別子は defaultに設定されます。

関数の選択の動作

関数呼び出しを無効にし、モデルでユーザー向けのメッセージのみを生成するには、プロパティを null (既定値) に設定します。

  • auto - モデルが関数を呼び出すかどうかを決定できるようにし、呼び出す場合はどれを呼び出すかを決定できるようにします。
  • required - モデルが常に 1 つ以上の関数を呼び出すよう強制します。
  • none - 関数を呼び出さず、ユーザー向けのメッセージのみを生成するようにモデルに指示します。

危険なコンテンツの設定を許可する

潜在的に危険なコンテンツを関数からプロンプトに挿入できるかどうかを示すブール値。 既定値は false です。 true に設定すると、関数からの戻り値は安全なコンテンツとしてのみ扱われます。 チャット完了サービスで使用されているプロンプトの場合は、プロンプトインジェクション攻撃から保護するために false に設定する必要があります。 テキストTo-Image など、他の AI サービスを使用する場合は、これを true に設定して、より複雑なプロンプトを表示できます。 詳細については、「プロンプトインジェクション攻撃からの保護」を参照してください。

サンプル YAML プロンプト

次に示すのは、Handlebars テンプレート形式 を使用し、gpt-3 モデルと gpt-4 モデルで使用する場合に異なる温度で構成されるサンプル YAML プロンプトです。

name: GenerateStory
template: |
  Tell a story about {{topic}} that is {{length}} sentences long.
template_format: handlebars
description: A function that generates a story about a topic.
input_variables:
  - name: topic
    description: The topic of the story.
    is_required: true
  - name: length
    description: The number of sentences in the story.
    is_required: true
output_variable:
  description: The generated story.
execution_settings:
  service1:  
    model_id: gpt-4
    temperature: 0.6
  service2:
    model_id: gpt-3
    temperature: 0.4
  default:
    temperature: 0.5

次の手順