Semantic Kernel
Semantic Kernel is a model-agnostic SDK for building, orchestrating, and deploying AI agents and multi-agent systems. It solves the problem of integrating various AI models and tools into enterprise applications with reliability and flexibility. It is for developers who need to create intelligent agents, chatbots, or complex multi-agent workflows.
✨ Key features
- Model flexibility with support for OpenAI, Azure OpenAI, Hugging Face, NVidia, and more.
- Agent framework for building modular AI agents with tools, memory, and planning.
- Multi-agent orchestration for complex workflows with specialist agents.
- Plugin ecosystem supporting native code, prompt templates, OpenAPI, and MCP.
- Vector DB integration with Azure AI Search, Elasticsearch, Chroma, and more.
- Multimodal support for text, vision, and audio inputs.
🎯 Use cases
- Build a simple chatbot that responds to user prompts.
- Create an agent with custom plugins to handle domain-specific tasks.
- Orchestrate a multi-agent system for customer support triage.
- Integrate AI into enterprise applications with structured workflows.
- Deploy agents locally using Ollama or LMStudio.
📦 Installation
🧰 Requirements: Requires Python 3.10+, .NET 10.0+, or Java JDK 17+; supports Windows, macOS, Linux; needs API keys for AI services (e.g., Azure OpenAI or OpenAI).
First, set the environment variable for your AI Services:
Azure OpenAI:
export AZURE_OPENAI_API_KEY=AAA....
or OpenAI directly:
export OPENAI_API_KEY=sk-...
Python
pip install semantic-kernel
.NET
dotnet add package Microsoft.SemanticKernel
dotnet add package Microsoft.SemanticKernel.Agents.Core
Java
See semantic-kernel-java build for instructions.
🚀 Usage
Basic Agent - Python
import asyncio
from semantic_kernel.agents import ChatCompletionAgent
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion
async def main():
# Initialize a chat agent with basic instructions
agent = ChatCompletionAgent(
service=AzureChatCompletion(),
name="SK-Assistant",
instructions="You are a helpful assistant.",
)
# Get a response to a user message
response = await agent.get_response(messages="Write a haiku about Semantic Kernel.")
print(response.content)
asyncio.run(main())
⚠️ Good to know
Semantic Kernel is now succeeded by Microsoft Agent Framework; the README indicates it is the enterprise-ready successor, and users are directed to a migration guide.
❓ FAQ
What programming languages are supported?
Semantic Kernel supports Python (3.10+), .NET (10.0+), and Java (JDK 17+).
Which AI models can I use?
It supports any LLM with built-in connectors for OpenAI, Azure OpenAI, Hugging Face, NVidia, and more, plus local models via Ollama, LMStudio, or ONNX.
How do I add custom tools to an agent?
You can create plugins using native code functions, prompt templates, OpenAPI specs, or MCP, and attach them to an agent via the plugins parameter.
Is Semantic Kernel still maintained?
The README states that Semantic Kernel is now Microsoft Agent Framework, which is the enterprise-ready successor, implying Semantic Kernel may be deprecated.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.