共用方式為


語意核心提示的 YAML 架構參考

Semantic Kernel 提示的 YAML 架構參考是 YAML 提示的詳細參考,其中列出所有支援的 YAML 語法及其可用選項。

定義

名字

使用此組態建立提示函式時,預設使用的函式名稱。 如果名稱為 Null 或空白,則建立函式時,會以動態方式產生隨機名稱。

描述

使用此組態建立提示函式時,預設使用的函式描述。

範本格式

語意核心範本格式的標識碼。 語意核心提供下列範本格式的支援:

  1. 語意核心 - 內建語意核心格式。
  2. 句柄列 - Handlebars 範本格式。
  3. 液體 - 液體範本格式

範本

定義提示的範本字串。

input_variables

提示範本所使用的輸入變數集合。 每個輸入變數都有下列屬性:

  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,以防止提示插入攻擊。 使用其他 AI 服務時,例如 Text-To-Image 這可設定為 true,以允許更複雜的提示。

輸出變數

提示範本所使用的輸出變數。 輸出變數具有下列屬性:

  1. description - 變數的描述。
  2. json_schema - 描述此變數的 JSON 架構。

執行設定

提示範本所使用的執行設定集合。 執行設定是一個以服務標識碼為索引鍵的字典,或是預設執行設定使用 default 作為鍵。 每個 PromptExecutionSettings 的服務標識碼 都必須符合字典中的索引鍵。

每個條目都有下列屬性:

  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 - 強制模型一律呼叫一或多個函式。
  • none - 指示模型不要呼叫任何函式,並只產生使用者面向的訊息。

允許危險內容設置

布爾值,指出是否允許從函式將潛在危險內容插入提示中。 默認值為 false。 當設定為 true 時,只會將函式的傳回值視為安全內容。 針對與聊天完成功能搭配使用的提示,這應該設定為 false,以防止提示注入攻擊。 使用其他 AI 服務時,例如 Text-To-Image 這可設定為 true,以允許更複雜的提示。 如需更多資訊,請參閱 防止提示插入攻擊

範例 YAML 提示

以下是使用 Handlebars 範本格式 的範例 YAML 提示,在搭配 gpt-3gpt-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

後續步驟