Git Repository Guide

Semantic Kernel

Semantic Kernel

AI/ML MIT

When to use this

Use this when building enterprise LLM applications in C# or Java (rare in the open-source LLM space). Also excellent for Python teams who prefer Microsoft's enterprise-grade patterns over LangChain's more research-oriented API.

YouTube Tutorials

Click any card to watch on YouTube

What is Semantic Kernel?

Semantic Kernel is an open-source SDK from Microsoft that integrates large language models into your existing codebase. It supports C#, Python, and Java — making it unique in a space dominated by Python-only frameworks.

Core Concepts

  • Kernel — The central object. Configure your LLM, plugins, and memory here.
  • Plugins — Groups of functions (semantic functions using prompts, or native functions using code).
  • Planner — Automatically chains functions together to accomplish a goal.
  • Memory — Semantic memory via vector search for LLM-powered recall.

Why It's Different

  • Multi-language — C# SDK is first-class, not an afterthought.
  • Enterprise patterns — Dependency injection, logging, configuration patterns that .NET teams expect.
  • Plugin architecture — Extensible via OpenAPI specs, Playwright browser plugin, custom code.
  • Copilot Stack — Microsoft's architecture for building Copilot-style experiences.

Getting Started (Python)

import semantic_kernel as sk

kernel = sk.Kernel()
kernel.add_service(OpenAIChatCompletion("gpt-4", api_key))

result = await kernel.invoke_prompt("Summarize: {{$input}}", input="Long text here...")

When to Choose Semantic Kernel

Choose Semantic Kernel if your team uses .NET/C# or if you're building Microsoft 365 Copilot extensions. For Python-first teams, LangChain or LlamaIndex offer a larger community.