A Less OpenAI-Centric Semantic Kernel AI SDK Emerges

Microsoft has removed code specific to OpenAI from the first beta of its Semantic Kernel SDK for AI develpment, effectively making it service-agnostic.

The move is a departure from Micorosft's official, very OpenAI-centric description of Semantic Kernel as "an open-source SDK that lets you easily combine AI services like OpenAI, Azure OpenAI, and Hugging Face with conventional programming languages like C# and Python."

Microsoft is a minority stakeholder in OpenAI, the creator of ChatGPT and the tech powering Microsoft's AI-powered Copilot assistants being infused throughout its products and services via AI plugins. Despite that partnership, Microsoft has de-emphasized OpenAI with the new v1.0.0 Beta1 for the .NET Semantic Kernel SDK published this week.

The beta introduces several breaking changes necessary to get the SDK into shape so the team can lock the API down for v1.0.0, one of which relates to OpenAI-specific code.

"We are changing Semantic Kernel core to be AI service agnostic," Microsoft said. "A few of the Semantic Kernel abstractions were very OpenAI specific. We have fixed this to make the Semantic Kernel AI provider agnostic."

Microsoft's Oct. 10 announcement lists some 24 breaking changes in total, requiring developers to update a large number of NuGet packages presented in a list that, for example, reflects the dev team's switch to use the term "Plugins" to replace the term "Skills" in its library names. So the list of breaking changes shows the previous name:


the new name: Microsoft.SemanticKernel.Plugins.Core

and any notes: "Rename from Skills to Plugins."

[Click on image for larger view.] Semantic Kernel Breaking Name Changes (source: Microsoft).

"We are moving away from using the term 'Skills' and standardizing on the term 'Plugins' instead," Microsoft explained. "To avoid confusion in the future we have renamed packages and classes that used the term 'Skill' to now use 'Plugin.' Functions and properties that use 'Skill' in their names have been marked as obsolete and new equivalents provided. To learn more about our reasoning, check out the Skills to Plugins blog post."

The post also provides a list of things for developers to do in order to update their code, such as renaming functions and performing various merges and refactorings.

Further describing what's new in the first beta, Microsoft said: "We have consolidated our planner implementations into a single package and introduced more code sharing. This will make it easier for developer to create their own custom planner implementations."

The company said the purpose of the post was to outline all the changes and how to resolve them when devs uptake the initial release candidate.

About the Author

David Ramel is an editor and writer for Converge360.