A lightweight Python framework for building multi-agent workflows with tools, handoffs, guardrails, sessions and tracing, provider-agnostic across OpenAI and 100+ LLMs.
microsoft/semantic-kernel
An SDK for building AI agents and multi-agent systems in Python, .NET and Java, with model, plugin and vector database integrations.
- Stars
- 28,677
- Forks
- 4,833
- Open issues
- 379
- Last commit
- 11 hours ago
What is it?
Semantic Kernel is a model-agnostic SDK for building, orchestrating and deploying AI agents and multi-agent systems. It targets Python, .NET and Java, and runs on Windows, macOS and Linux.
The SDK provides connectors for hosted and local models, including OpenAI, Azure OpenAI, Hugging Face, Ollama, LM Studio and ONNX. Agents can call tools through native code functions, prompt templates, OpenAPI specs and Model Context Protocol (MCP) servers, and specialist agents can collaborate inside one workflow. Vector database integrations cover Azure AI Search, Elasticsearch and Chroma.
The project's README notes that Semantic Kernel has been succeeded by Microsoft Agent Framework, which is the recommended path for new projects and includes a migration guide.
Key features
- 01Connects to OpenAI, Azure OpenAI, Hugging Face, Ollama, LM Studio and ONNX models.
- 02Builds agents that use tools, memory and planning.
- 03Orchestrates multiple specialist agents within one workflow.
- 04Extends agents with native functions, prompt templates, OpenAPI specs and MCP.
- 05Integrates with Azure AI Search, Elasticsearch and Chroma as vector stores.
- 06Supports text, vision and audio inputs.
Use cases
- Adding a chatbot or assistant that calls internal APIs to an existing .NET or Python application.
- Building a triage system where several specialist agents handle billing, refunds or support requests.
- Running a model locally with Ollama or ONNX while keeping the same application code.
- Combining LLM calls with retrieval from a vector database for question answering over documents.
Quick start
- 1
Set your OpenAI or Azure OpenAI API key as an environment variable
export OPENAI_API_KEY=sk-... - 2
Install the Python package
pip install semantic-kernel - 3
Run the basic Python agent example from the README
Things to know
- Semantic Kernel has been succeeded by Microsoft Agent Framework, so the README points new users there.
Topics
FAQ
- What is semantic-kernel?
- An SDK for building AI agents and multi-agent systems in Python, .NET and Java, with model, plugin and vector database integrations. Semantic Kernel is a model-agnostic SDK for building, orchestrating and deploying AI agents and multi-agent systems. It targets Python, .NET and Java, and runs on Windows, macOS and Linux.
- Is semantic-kernel free to use? What license does it have?
- semantic-kernel is open source under the MIT license. Check the license terms before using it in commercial products.
- Is semantic-kernel still maintained?
- Actively maintained. The last commit to semantic-kernel was on Oct 20, 2026.
- What can I use semantic-kernel for?
- Adding a chatbot or assistant that calls internal APIs to an existing .NET or Python application. Building a triage system where several specialist agents handle billing, refunds or support requests. Running a model locally with Ollama or ONNX while keeping the same application code. Combining LLM calls with retrieval from a vector database for question answering over documents.
- How do I install semantic-kernel?
- Set your OpenAI or Azure OpenAI API key as an environment variable: export OPENAI_API_KEY=sk-... Install the Python package: pip install semantic-kernel Run the basic Python agent example from the README
- Where can I get semantic-kernel?
- The source code and installation instructions are on GitHub: https://github.com/microsoft/semantic-kernel
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A minimal Python library for building AI agents that write and run their actions as Python code.
Python framework for building autonomous AI agents that research, plan, code and run tasks, with memory, RAG and 100+ LLM providers.
Python framework for building and orchestrating multi-agent systems with sequential, concurrent, graph-based and hierarchical workflows.
An agent workspace for knowledge work and software development, offering a choice of models and open-source agent harnesses, runnable locally or hosted.
A local-first, Markdown-native long-term memory layer for AI agents, storing memories as editable files with SQLite and LanceDB indexes.