语义内核提示的 YAML 架构参考
语义内核提示的 YAML 架构参考是 YAML 提示的详细参考,其中列出了所有支持的 YAML 语法及其可用选项。
定义
名字
使用此配置创建提示函数时默认使用的函数名称。 如果名称为 null 或为空,则创建函数时将动态生成随机名称。
描述
使用此配置创建提示函数时默认使用的函数说明。
模板格式
语义内核模板格式的标识符。 语义内核支持以下模板格式:
模板
定义提示符的提示模板字符串。
输入变量
提示模板使用的输入变量的集合。 每个输入变量具有以下属性:
-
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 架构。
执行设置
提示模板使用的执行设置的集合。
执行设置是一个字典,根据服务 ID 键入或默认执行设置用 default
表示。
每个 PromptExecutionSettings 的服务 ID 必须与字典中的键匹配。
每个条目具有以下属性:
-
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 提示符
下面是一个示例 YAML 提示符,它使用 Handlebars 模板格式,并在与 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