今天 Semantic Kernel dotnet 1.0 beta3 发布了!
这个版本带来了一些重要的变化和改进:
- 破坏性变更:我们修复了 Text 和 Chat 结果在继承
StreamingResult
方面的问题
这个修复是为了解决以下问题和改进用户体验:
- 当你想要使用流式传输时,很容易误调用非流式传输API。
- 这样还解决了将非流式行为/实现强加于流式对象的问题。
- 调用者应该更容易地调用预期的流式传输API。
为了解决这个问题,我们移除了从
ITextResult
和IChatResult
到流式传输对应接口的继承。这样做可以避免将非流式对象派生为流式传输对象。
- 升级 NuGet 版本至 1.0.0-beta3
更新了 NuGet 的版本,以增强整体性能和稳定性。
- PromptTemplateEngine 使用 FunctionRunner
改进了
PromptTemplateEngine
,现在它使用了FunctionRunner
。这个改进的原因:
- 在调用模板中的函数引用时能够触发 Hooks。
- 进一步向 Kernel.RunAsync 迈进一步。
为了实现这个目标,将模板引擎逻辑迁移到使用
context.FunctionRunner.RunAsync
而不是function.InvokeAsync
。这样做可以将函数查找的责任从PromptTemplateEngine
中移除。
- 将
KernelOpenAIExtensions
改名为OpenAIKernelExtensions
为了与包内其他类的命名规则保持一致,重命名为
OpenAIKernelExtensions
。这将提高代码的一致性和可读性。
- Semanitc Functions 重构到 SK Core
将 Semantic Functions 重构到 SK Core 中,使用 SemanticKernel.Core 项目代替 Functions.Semantic 项目。
- SemanticKernel.Core 项目用于
SemanticFunction
、PromptTemplate
和PromptTemplateConfig
类。- Plugins.Core 项目不再引用 Functions.Semantic 项目。
- 更新依赖包
更新了一些依赖包的版本,包括 xunit、DuckDB.NET.Data.Full 和 DuckDB.NET.Data。这将带来更好的兼容性和性能等。
- 更新 dotnet 版 README
以与 SK 1.0.0-beta2 保持一致。这将提供更准确的文档和指导。
以上就是 Semantic Kernel dotnet 1.0 beta3 的主要变化和更新。
今天官方也同时发布了 python-0.3.14.dev,因为 python 的版本还比较早期,暂时不做过多介绍,感兴趣的朋友可以移步到官方代码库https://github.com/microsoft/semantic-kernel
了解。Semantic Kernel 技术社区将持续关注官方的相关信息,及时跟大家汇报。
感谢 Semantic Kernel 项目团队的辛苦付出,期待 Semantic Kernel .NET 1.0 正式版早日发布。