Functions.Markdown NuGet 包已弃用,将在将来的版本中删除,作为清理计划的一部分。 建议的替换是 Functions.Yaml 包。
Markdown 提示模板
在将代码从 Functions.Yaml 包迁移到新 API 之前,请考虑先将 markdown 提示模板迁移到新的 YAML 格式。 因此,如果您有这样的 Markdown 提示模板:
This is a semantic kernel prompt template
```sk.prompt
Hello AI, tell me about {{$input}}
```
```sk.execution_settings
{
"service1" : {
"model_id": "gpt4",
"temperature": 0.7,
"function_choice_behavior": {
"type": "auto",
}
}
}
```
```sk.execution_settings
{
"service2" : {
"model_id": "gpt-4o-mini",
"temperature": 0.7
}
}
YAML 等效提示模板如下所示:
name: TellMeAbout
description: This is a semantic kernel prompt template
template: Hello AI, tell me about {{$input}}
template_format: semantic-kernel
execution_settings:
service1:
model_id: gpt4
temperature: 0.7
function_choice_behavior:
type: auto
service2:
model_id: gpt-4o-mini
temperature: 0.7
KernelFunctionMarkdown.FromPromptMarkdown 方法
如果你的代码使用 KernelFunctionMarkdown.FromPromptMarkdown 方法从提示创建内核函数,请使用 KernelFunctionYaml.FromPromptYaml 方法替换它。
// Before
string promptTemplateConfig = """
This is a semantic kernel prompt template
```sk.prompt
Hello AI, tell me about {{$input}}
```
""";
KernelFunction function = KernelFunctionMarkdown.FromPromptMarkdown(promptTemplateConfig, "TellMeAbout");
//After
string promptTemplateConfig =
"""
name: TellMeAbout
description: This is a semantic kernel prompt template
template: Hello AI, tell me about {{$input}}
""";
KernelFunction function = KernelFunctionYaml.FromPromptYaml(promptTemplateConfig);
请注意,该方法 KernelFunctionYaml.FromPromptYaml 不接受函数名称作为参数。 函数名称现在是 YAML 配置的一部分。
MarkdownKernelExtensions.CreateFunctionFromMarkdown 方法
同样,如果代码使用MarkdownKernelExtensions.CreateFunctionFromMarkdown内核扩展方法从提示创建内核函数,请将其替换为PromptYamlKernelExtensions.CreateFunctionFromPromptYaml方法。
// Before
string promptTemplateConfig = """
This is a semantic kernel prompt template
```sk.prompt
Hello AI, tell me about {{$input}}
```
""";
Kernel kernel = new Kernel();
KernelFunction function = kernel.CreateFunctionFromMarkdown(promptTemplateConfig, "TellMeAbout");
//After
string promptTemplateConfig =
"""
name: TellMeAbout
description: This is a semantic kernel prompt template
template: Hello AI, tell me about {{$input}}
""";
Kernel kernel = new Kernel();
KernelFunction function = kernel.CreateFunctionFromPromptYaml(promptTemplateConfig);
请注意,该方法 PromptYamlKernelExtensions.CreateFunctionFromPromptYaml 不接受函数名称作为参数。 函数名称现在是 YAML 配置的一部分。