Getting started with Semantic Kernel
In last months, we witnessed the extraordinary capabilities of Large Language Models (LLMs) like ChatGPT. However, the real paradigm shift occurred when we started embedding those LLMs within our applications. This implies the integration of a new set of LLMs-related components within our application logic, including memory, metaprompt, plug-ins and so on.
To do so, several frameworks have been released to make it easier to integrate LLMs and related components withn applications. Those framework are called AI orchestrator.
In my latest articles I covered many aspects of one of the most popular, LangChain. In this article, I’m going to introduce Semantic Kernel (SK), an open-source project released from Microsoft that let you can leverage the same AI orchestration patterns that power Microsoft 365 Copilot and Bing in your own apps, while still leveraging your existing development skills and investments.
SK is made of several components, many of which are typical LLM-related component that can also be found in other AI orchestrators, yet here the taxonomy is aligned with the pattern used by Microsoft in developing its own Copilots (M365, Bing Chat etc.). To better understand this taxonomy alignment, I suggest the view of this video, where the M365 copilot integration with external data sources is very nicely explained.
Let’s inspect every component.
Generally speaking, a kernel is the central or essential part of a computer’s operating system. It is the main layer between the software running on your computer and its hardware. The kernel is responsible for resource allocation, file management, and security. It is the most basic level or core of an operating system. The kernel is also responsible for managing user processes and allowing them to communicate with…