Semantic Kernel 提示的 YAML 架構參考是 YAML 提示的詳細參考,其中列出所有支援的 YAML 語法及其可用選項。
定義
名字
使用此組態建立提示函式時,預設使用的函式名稱。 如果名稱為 Null 或空白,則建立函式時,會以動態方式產生隨機名稱。
描述
使用此組態建立提示函式時,預設使用的函式描述。
範本格式
語意核心範本格式的標識碼。 語意核心提供下列範本格式的支援:
範本
定義提示的範本字串。
input_variables
提示範本所使用的輸入變數集合。 每個輸入變數都有下列屬性:
-
name- 變數的名稱。 -
description- 變數的描述。 -
default- 變數的選擇性預設值。 -
is_required- 變數是否被視為必要專案(而非選擇性)。 預設值為true。 -
json_schema- 描述此變數的選擇性 JSON 架構。 -
allow_dangerously_set_content- 布爾值,指出是否要將變數值視為潛在的危險內容。 預設值為false。 如需詳細資訊,請參閱 防止提示注入攻擊。
提示
allow_dangerously_set_content 的預設值為 false。
當設定為 true 時,輸入變數的值會被視為安全內容。
針對用於聊天完成服務的提示,應將其設定為 false,以防止提示插入攻擊。
使用其他 AI 服務時,例如 Text-To-Image 這可設定為 true,以允許更複雜的提示。
輸出變數
提示範本所使用的輸出變數。 輸出變數具有下列屬性:
-
description- 變數的描述。 -
json_schema- 描述此變數的 JSON 架構。
執行設定
提示範本所使用的執行設定集合。
執行設定是一個以服務標識碼為索引鍵的字典,或是預設執行設定使用 default 作為鍵。
每個 PromptExecutionSettings 的服務標識碼 都必須符合字典中的索引鍵。
每個條目都有下列屬性:
-
service_id- 這會識別這些設定所設定的服務,例如,azure_openai_eastus、openai、ollama、huggingface 等。 -
model_id- 這會識別這些設定的 AI 模型,例如 gpt-4、gpt-3.5-turbo。 -
function_choice_behavior- 定義 LLM 選擇函式的方法,以及 AI 連接器如何調用函式。 如需詳細資訊,請參閱 函式選擇行為
提示
如果提供,服務標識碼將會是執行設定字典集合中的索引鍵。
如果未提供,服務識別元將會設定為 default。
功能選擇行為
若要停用函式呼叫,且讓模型只產生使用者面向的訊息,請將 屬性設定為 null (預設值)。
-
auto- 允許模型決定是否要呼叫函式,如果是的話,要呼叫哪一個函式。 -
required- 強制模型一律呼叫一或多個函式。 -
none- 指示模型不要呼叫任何函式,並只產生使用者面向的訊息。
允許危險內容設置
布爾值,指出是否允許從函式將潛在危險內容插入提示中。 默認值為 false。 當設定為 true 時,只會將函式的傳回值視為安全內容。 針對與聊天完成功能搭配使用的提示,這應該設定為 false,以防止提示注入攻擊。 使用其他 AI 服務時,例如 Text-To-Image 這可設定為 true,以允許更複雜的提示。 如需更多資訊,請參閱 防止提示插入攻擊。
範例 YAML 提示
以下是使用 Handlebars 範本格式 的範例 YAML 提示,在搭配 gpt-3 和 gpt-4 模型使用時,設定為不同的溫度。
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