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 方法從提示建立 Kernel 函式,請將它取代為 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 Kernel 擴充方法從提示建立 Kernel 函式,請將它取代為 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 組態的一部分。