Semantic Kernel - An Overview

Semantic Kernel - An Overview

What is Semantic Kernel?

Semantic Kernel is Microsoft’s open-source SDK for building AI agents and adding modern AI capabilities (OpenAI, Azure OpenAI, others) into your applications. Think of it as a lightweight middleware layer that makes it easy to connect models to your code, call your own functions safely, and keep solutions maintainable and observable at enterprise scale.

Key ideas (from the official docs):

  • Connections: add AI services and data sources to your app via well-defined connectors.
  • Plugins: expose your own capabilities as functions the model can call automatically. You can author native code plugins or import OpenAPI/MCP-based ones. Docs
  • Planning via function calling: SK automates the loop of “model decides → call your function(s) → use result → decide next step,” built on LLM function calling. Docs
  • Memory and vector stores: uniform abstractions for embeddings and vector DBs (for example Azure AI Search, Redis, Pinecone, more). Docs
  • Agent orchestration patterns: coordinate multiple specialized agents (sequential, concurrent, handoff, group chat, etc.). Docs

If you’re new to SK, the official overview is a great two-minute read: Introduction to Semantic Kernel.

Supported languages

Semantic Kernel is available for:

  • C# (.NET)
  • Python
  • Java

Feature coverage differs slightly by SDK, but the core concepts are consistent. Details and package names here: Supported Semantic Kernel languages.

Personal note: in my projects I’ve only used the C# SDK so far.

Why teams choose SK (in a sentence)

It reduces orchestration boilerplate, lets the model call your code safely, and helps you swap models/services without rewriting your app.

What i Hav done already

1) Custom WPF application

  • Use SK to route user intent and call my own functions (as plugins) inside a desktop app.
  • Integrate Azure AI Speech for speech-to-text, and experiment with avatar/text-to-speech capabilities to create a more natural, assistive UI.

2) A Teams bot for SharePoint knowledge chat

  • Standalone chat in Teams that uses SK to ground answers on SharePoint content.
  • Hybrid retrieval: a custom search index where needed, plus Microsoft 365’s built-in Semantic Index for Copilot so results respect user permissions.
  • Where appropriate, I’ll also explore the new Microsoft 365 Copilot Search API (preview) to query OneDrive/SharePoint content with security trimming, without re-indexing data.

Quick mental model

  • You define “what your app can do” as plugins (native code or OpenAPI/MCP).
  • The LLM decides when to call those functions using function calling.
  • SK automates the planning loop and passes results back to the model.
  • You add memory/vector stores when you need retrieval-augmented grounding.

This keeps your core logic in C#/Python/Java while the model handles orchestration.

References