# Semantic Kernel — AI Orchestration SDK by Microsoft > Build AI agents and integrate LLMs into .NET, Python, and Java apps with Microsoft's open-source AI orchestration framework. ## Install Save as a script file and run: # Semantic Kernel — AI Orchestration SDK by Microsoft ## Quick Use ```bash # Python pip install semantic-kernel ``` ```python import semantic_kernel as sk kernel = sk.Kernel() kernel.add_service(sk.connectors.AzureOpenAI(deployment_name="gpt-4o", endpoint="...")) result = await kernel.invoke_prompt("Summarize: {{$input}}", input_variables={"input": text}) ``` ## Introduction Semantic Kernel is an open-source SDK from Microsoft that lets developers integrate large language models into applications written in C#, Python, or Java. It provides a lightweight orchestration layer that connects prompts, native code functions, and external services into composable AI pipelines. ## What Semantic Kernel Does - Orchestrates calls to OpenAI, Azure OpenAI, Hugging Face, and other LLM providers through a unified connector interface - Defines reusable prompt templates with variable substitution and prompt engineering helpers - Lets you register native functions alongside AI functions so the model can call your own code - Supports automatic function calling (tool use) where the model decides which plugin to invoke - Provides planner components that decompose complex goals into multi-step execution plans ## Architecture Overview Semantic Kernel is built around a lightweight Kernel object that acts as a dependency-injection container for AI services, plugins, and memory connectors. Plugins bundle prompt functions and native functions under a single namespace. When a user request arrives, the kernel resolves the appropriate AI service, renders the prompt template, sends it to the model, and optionally routes tool-call responses back through registered functions. Memory connectors integrate vector stores for RAG scenarios. ## Self-Hosting & Configuration - Install via NuGet (`Microsoft.SemanticKernel`), pip (`semantic-kernel`), or Maven for Java - Configure AI service credentials through environment variables or builder methods - Add plugins by decorating methods with `@kernel_function` (Python) or `[KernelFunction]` (C#) - Connect vector databases like Azure AI Search, Qdrant, or Chroma for retrieval-augmented generation - Deploy as part of any .NET, Python, or Java application; no separate server process required ## Key Features - Multi-language support across C#, Python, and Java with consistent API design - Built-in automatic function calling that maps model tool-use requests to your code - Prompt template engine with Handlebars and Jinja2 syntax support - Telemetry integration via OpenTelemetry for tracing AI calls in production - Process framework for building long-running, stateful AI workflows with step-based orchestration ## Comparison with Similar Tools - **LangChain** — broader ecosystem with more integrations but heavier; Semantic Kernel is more tightly integrated with .NET and Azure - **LlamaIndex** — focused on retrieval and indexing; Semantic Kernel emphasizes orchestration and function calling - **Haystack** — pipeline-centric approach; Semantic Kernel uses a kernel-plugin model - **AutoGen** — optimized for multi-agent conversations; Semantic Kernel targets single-agent tool orchestration - **Spring AI** — Java-native alternative; Semantic Kernel covers C#, Python, and Java ## FAQ **Q: Does Semantic Kernel require Azure?** A: No. It works with OpenAI, Hugging Face, Ollama, and any OpenAI-compatible endpoint. Azure is optional. **Q: Can I use it in production?** A: Yes. Microsoft uses Semantic Kernel internally in Copilot products. It follows semver and has stable releases. **Q: How does function calling work?** A: You register native functions as plugins. When the model returns a tool-call response, the kernel automatically invokes the matching function and feeds the result back. **Q: Is there a visual planner or UI?** A: No built-in UI. The planner is a code-level component. Community tools like Kernel Memory add higher-level abstractions. ## Sources - https://github.com/microsoft/semantic-kernel - https://learn.microsoft.com/en-us/semantic-kernel/overview/ --- Source: https://tokrepo.com/en/workflows/asset-b7c4898c Author: Script Depot