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.