What is Semantic Kernel?
Semantic Kernel (SK) is a lightweight SDK that lets you easily mix conventional programming languages with the latest in Large Language Model (LLM) AI "prompts" with templating, chaining, and planning capabilities out-of-the-box.
With SK, you can now build AI-first apps faster by design while also having a front-row peek at how the SDK is being built. SK has been released as open-source so that more pioneering developers can join us in crafting the future of this landmark moment in the history of computing.
SK has been engineered to flexibly integrate LLM AI into existing apps. With SK, it's easier to accelerate your innovations' time to market, and to manage for reliability and performance in the long run.
SK is a kit of parts that interlock
With their increasing ability to understand complex intents, LLM AIs are enabling a more "goal-oriented" approach to problem solving. Therefore, SK was created to start with an "ASK" in mind. An ASK is driven to a dynamically informed outcome with the orchestration capabilities of the kernel. Starting from a user's ask to GET-ting what they want can be represented as a flow of connected parts:
|ASK||A user's goal is sent to SK as an ASK|
|Kernel||The kernel orchestrates a user's ASK|
|Planner||The planner breaks it down into steps based upon resources that are available|
|Resources||Planning involves leveraging available skills, memories, and connectors|
|Steps||A plan is a series of steps for the kernel to execute|
|Pipeline||Executing the steps results in fulfilling the user's ASK|
|GET||And the user gets what they asked for ...|
SK gets your LLM AI journey started
Get started with Semantic Kernel. Within minutes you can create templated prompts, chained prompts, and reusable skills as pure prompts, native code, or hybrid prompts with code. And soon afterwards, you'll be breaking the barrier to ultra-long prompts with embeddings while summoning even more power from any external APIs.
First steps video
SK makes app developers' work lives easier
Fast Integration: SK is designed to be embedded in any kind of application, making it easy for developers to add LLM AI functionality to test inside their apps.
Power Prompting: Plain prompts that are fed as API calls can only get you so far. SK provides the abstractions and machinery to unlock your OpenAI or Azure OpenAI API key.
Novel-But-Familiar: For 100% determininism, native code is always available as a first-class partner on your prompt engineering quests. You get the best of both worlds.
SK is for developers facing new pressures
You, or your boss, have noticed that ChatGPT has gotten a lot of attention.
There's a big push to do something similar with LLM AI in your app ... asap.
You quickly learn that making AI tell a joke is easy. Everything else isn't.
Rather than waste time on LLM AI itself, you want to work on your app instead.
SK is under construction and is hungry for feedback
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. And since there are still so many unknown-unknowns in this kind of work, we defer to the community's feedback and contributions to find even better practices going forward. Together.