Semantic Kernel .NET 1.14 变更日志
2024年6月6日,Semantic Kernel .NET 本次更新包含大量优化,同时 Star 已经来到了 18.9k。
主要的功能变更如下:
修复:遥测示例应用重复调用同一注册函数
添加了 AzureChatExtensionsOptions 属性并弃用了 WithData 类( #6454 )
临时性修复了 OpenAI 连接器中的 ImageContent 用法( #6450 )
如果响应无法序列化,则在 KernelException 中包含请求元数据 ( #6407 )
添加 API 以从 Prompty 模板创建 PromptTemplateConfig ( #6414 )
流式处理 API 终止前执行的函数的返回结果 ( #6428 )
增加假日插件示例 ( #6331 )
Handlebars.Net 从 2.1.5 提升到 2.1.6
更新 LiquidPromptTemplate 以使用 Fluid 而不是 Scriban ( #6320 )
本次重要的更新是对本地图片内容的支持。
我们就这个问题展开讨论,为什么本地图片上传这么重要的功能,花了这么久才做出临时性修复。
关于SK的图片上传问题,上周衣老师在与 Julia 见面时也提到了这个重要特性迟迟未修复,严重影响 SK 生态的相关产品的发布。这次正好紧急做了临时性方案。就是 #6450 的 PR。由于无法使用 Base64 Uri ,只能传入 BinaryData
return new ChatMessageImageContentItem(BinaryData.FromBytes(data), imageContent.MimeType);
也就是我们认为这次更新的重要性。
实际上在过去 .Net Kernel Contents Graduation PR #6319 已经在修复这个问题,但是由于大家发现是由于 .NET System.Uri 是限制了长度,导致无法通过 base64 编码形式来上传文件。移除或放松Uri限制 · Issue #96544 · dotnet/runtime (github.com) 这里有充分的讨论。
依赖如图
实际上,azure sdk 在 添加了在使用 Vision 时对 DataUris 的支持 #43093 也提到了由于 Uri 的这一限制导致了多个 azure sdk issue 以及 semantic-kernel 对多模态的支持。
我们会持续关注 .NET issues #96544 的进展。
Semantic Kernel 近期资讯
Build 2024 回顾:弥合 ML 和应用开发人员之间的鸿沟
在Microsoft Build上,语义内核的Python和Java库达到了V1.0版本,确保未来非实验性功能不会有重大更改。这对客户来说意义重大,因为他们可以安心构建应用程序,不再担心兼容性问题。此外,Python、C#和Java三个SDK现在共享相同核心功能,使得客户能够轻松在不同语言之间切换,方便不同编程语言团队间的代码共享。这是客户的一大胜利。
Semantic Kernel Python 1.0.5 发布
在python v1 之后 带来了跨语言提示词和配置共享
API保证了多语言一致性和Python编程规范
新增功能:自动化函数调用、过滤器、 Pydantic 设置、提示词模版
简化了增加函数和插件的方法
改进OpenAPI插件处理
改进测试覆盖率和类型检查
Semantic Kernel Java 1.1.5 发布
改进了 API 一致性
增加了大量文档和示例
简化的 Maven 依赖项
增加了 Gemini ChatCompletion 和 HuggingFace的支持
增加了工具调用(AI可以调用原生Java方法)
语音转文本、文本转语音
增强了类型转换
增加Hook能力,允许用户拦截和跟踪。
PromptFlow vs LangChain vs Semantic Kernel
释放Java AI 能力: 视频教程 Semantic Kernel, LangChain4j, and Spring AI
刚上线的LinkedIn语义内核基础课程
Python版本的时间插件
将逻辑应用的 1,400 个连接器连接到语义内核
创建具有 .NET 的餐厅预订示例
Scott 和 Mark 一起在Build大会上演示了一个整理桌面的AI APP(Semantic Kernel )视频
更多 Microsoft Build 2024 回顾
另外,SK 中文社区也会参加今年 6 月 14 日的 Microsoft AI Day in Beijing。欢迎小伙伴们来打卡讨论 SK 以及相关 AI 应用开发。