OpenAI-Specific Code Nixed from Semantic Kernel AI SDK
Microsoft shipped the first beta of its Semantic Kernel SDK for AI development, in the process making it service-agnostic by removing OpenAI-specific code.
Semantic Kernel acts like an AI orchestration layer in Microsoft' stack of AI models and Copilot AI assistants, providing interaction services for those constructs to work with underlying foundation models and AI infrastructure.
Officially the company's "What is Semantic Kernel?" documentation says: "Semantic Kernel is 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. By doing so, you can create AI apps that combine the best of both worlds."
Notice the emphasis on OpenAI, the Microsoft partner that created ChatGPT and the tech powering Microsoft's AI-powered Copilot assistants being infused throughout its products and services via AI plugins.
While that partnership -- based on a Microsoft investment north of $10 billion -- gave Redmond a lead in the enterprise AI races, the company sought to lessen OpenAI tie-ins 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:
and any notes: "Rename from
"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.
David Ramel is an editor and writer for Converge360.