Microsoft Previews Semantic Kernel SDK for Adding AI to Apps
Microsoft this week announced Semantic Kernel, a new open source framework on GitHub at the early preview stage that aims to help developers tap artificial intelligence (AI) and large language models in their applications.
Semantic Kernel is a lightweight software development kit (SDK) that makes it easier to use things like OpenAI's ChatGPT natural language chat responses in apps, according to John Maeda, Microsoft's vice president of design and artificial intelligence, in a free LinkedIn Learning introduction video. It works with conventional programming languages, with current preview support for "C# and Python," the announcement indicated. Microsoft is looking at adding language support for "TypeScript and other languages" as well.
Developers can add new "experiences" to their apps such as "summarizing a lengthy chat exchange, flagging an important 'next step' that's added to your to-do list via Microsoft Graph, or planning a full vacation instead of just reserving a seat on a plane," Maeda explained.
Semantic Kernel, which had its first start as an "internal incubation project at Microsoft," currently supports OpenAI's GPT-4 model and the Azure OpenAI service. Its capabilities can be "embedded in any kind of application" and can "connect with external data sources and services." Semantic Kernel is also notable for letting developers use complex prompts, which can be problematic when working with AI, according to Maeda in the LinkedIn Learning video:
So, imagine easily making complex prompts, multifaceted prompts, prompts that do all kind of things like connect to native code. I know you like that. I know we like that. Things like that come for free with Semantic Kernel.
Microsoft described Semantic Kernel as a "kit of parts that interlock," in this document. There's an "ASK" part, which represents the user's goal. A Kernel part orchestrates the ASK, which happens via a "Planner" part that breaks the ASK down into steps for the available "Resources" part. The Resources part consist of the "available skills, memories, and connectors." Next, "Steps" get executed and the results are sent back to the user as a "GET" via a "Pipeline" part.
The Semantic Kernel SDK currently is at an early preview stage and likely will evolve, according to Microsoft's document.
"Given that new breakthroughs in LLM AIs are landing on a daily basis, you should consider this SDK a work-in-progress as the team's 'best-guess practices' for adding semantically-rich AI to existing apps," the document indicated.
Microsoft's GitHub description described Semantic Kernel as being "an early alpha" release that will change quickly along with AI developments. The GitHub page includes a few model code examples for developers to try. There's a "simple chat summary" capability for apps. A "Book creator" code example lets apps make book outlines. There's also a basic connector code pattern that can be used to "authenticate and connect to an API."
About the Author
Kurt Mackie is senior news producer for 1105 Media's Converge360 group.