Aracılığıyla paylaş


Functions.Markdown to Functions.Yaml Paket Geçiş Kılavuzu

Functions.Markdown NuGet paketi kullanım dışıdır ve temizleme girişiminin bir parçası olarak gelecek bir sürümde kaldırılacaktır. Önerilen değişiklik Functions.Yaml paketidir.

Markdown İstemi Şablonları

Kodunuzu Functions.Yaml paketinden yeni API'lere geçirmeden önce markdown istemi şablonlarınızı yeni YAML biçimine geçirmeyi göz önünde bulundurun. Bu nedenle, aşağıdaki gibi bir Markdown istem şablonunuz varsa:

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 eşdeğeri istem şablonu şöyle görünür:

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 yöntemi

Kodunuz, istemden bir Çekirdek İşlevi oluşturmak için KernelFunctionMarkdown.FromPromptMarkdown yöntemini kullanıyorsa, bunu KernelFunctionYaml.FromPromptYaml yöntemiyle değiştirin.

// 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);

yönteminin KernelFunctionYaml.FromPromptYaml işlev adını parametre olarak kabul etmediğinden dikkat edin. İşlev adı artık YAML yapılandırmasının bir parçasıdır.

MarkdownKernelExtensions.CreateFunctionFromMarkdown yöntemi

Benzer şekilde, kodunuz, hazır komuttan MarkdownKernelExtensions.CreateFunctionFromMarkdown bir Çekirdek Fonksiyonu oluşturmak için Çekirdek uzantı yöntemini kullanıyorsa, bunu PromptYamlKernelExtensions.CreateFunctionFromPromptYaml yöntemi ile değiştirin.

// 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);

yönteminin PromptYamlKernelExtensions.CreateFunctionFromPromptYaml işlev adını parametre olarak kabul etmediğinden dikkat edin. İşlev adı artık YAML yapılandırmasının bir parçasıdır.