你没看错 Semantic Kernel dotnet 1.0 RC1 发布一天后,1.0 RC2 又发布了。
- 由于在聊天历史记录中包含函数调用中间消息,通常业务上会需要删除一些末尾元素。所以为
ChatHistory
增加了RemoveRange
方法 - 从 markdown/yaml 创建函数的方法上删除 pluginName 参数
- 将一些
KernelException
异常改为ArgumentException
或ArgumentOutOfRangeException
- 如果尝试使用
CreateFunctionFromPromptYamlResource
则会引发错误,因为它在Functions.Yaml
程序集(而不是开发人员当前项目)中查找资源. 所以移除了CreateFunctionFromPromptXXXResource
方法 - 修复了
KernelFunction.InvokeStreamingAsync
让它相关的一些处理能够像非流式一样
- 通过指标跟踪其流式传输持续时间
- 使其日志记录类似于非流式处理的日志记录
- 将 OCE 转换为
KernelFunctionCanceledExceptions
,就像使用非流式处理一样- 使字符串输入参数可为
null
,如果在某些重载中传递了null
,则停止抛出。
input_parameters
变为input_variables
以匹配提示序列化output_variable
允许开发人员指定描述和输出类型(就像本机函数一样)- 由于
ModelId
是一个公共属性,因此将ModelId
移到ContentBase
类中,使其成为相关派生类中的一等公民 - 根据 OpenTelemetry 团队的建议使用
LoggerMessage
属性来生成更优化的代码,以提高内核的可观测性。
- 为
KernelFunction
增加了一些新的扩展,其中包含用于执行优化日志记录的方法等。- 将
PlannerInstrumentation
中的记录调用转换为对源生成的日志代码的调用- 将来,Kernel 的其他部分也会采用 LoggerMessage。
default_value
更名为default
,以匹配 prompt 的 YAML 模式在
Kernel
上删除InvokeAsync
方法的string? input
重载,并为KernelArgument
添加带string? input
的构造函数相关测试做了一些更新
提示
- 有关“编译时日志记录源生成”的内容可移步到 https://learn.microsoft.com/en-us/dotnet/core/extensions/logger-message-generator 详细了解
- 另外 Semantic Kernel 的 python 语言实现也发布了
0.4.1.dev
版,将 Pydantic 升级到了 v2.5.2。它带来了 Pydantic 的尖端功能和语法增强功能,还使 Semantic Kernel 平台与 OpenAI 和 PromptFlow 等主要软件包保持一致。关于 Pydantic 迁移升级的官方手册可以到 https://docs.pydantic.dev/2.0/migration/#migration-guide 查看详情了解