最新版本的 Microsoft.SemanticKernel 1.0.1 不支持 SKContext 和 SK Function Attribute。如何从 SK Context 迁移到最新版本 1.0.1.
如何从 SK Context 迁移到最新版本 1.0.1。示例代码:
[SKFunction, SKName(nameof(Query)), Description("Request Process")]
public async Task <SKContext> ProcessRequest(SKContext context)
{
//Migration Code here
}
基本上,
SKFunction
变成了 KernelFunction
,并且 SKContext
被重命名为 KernelArguments
。第一个是直接重命名,如果您想更深入地探索 SKContext
变成 KernelArguments
的原因和方式,您应该探索 dotnet-1.0.0-rc1 版本中的提交。我选择了其中一些:
我建议查看内核语法示例这里。他们使用
KernelFunction
和 KernelArguments
。示例:
[KernelFunction]
[Description("Send email")]
public string SendEmail(
[Description("target email addresses")]
string emailAddresses,
[Description("answer, which is going to be the email content")]
string answer,
KernelArguments arguments)
{
var contract = new Email()
{
Address = emailAddresses,
Content = answer,
};
// for demo purpose only
string emailPayload = JsonSerializer.Serialize(contract, this._serializerOptions);
arguments["email"] = emailPayload;
return "Here's the API contract I will post to mail server: " + emailPayload;
}
最后,如果想要使用这些抽象的应用程序示例,您应该检查 chat-copilot 项目。