你没看错 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 查看详情了解