# Semantic Kernel — Integrate LLMs into Enterprise Applications > An open-source SDK from Microsoft that lets developers quickly integrate large language models into C#, Python, and Java applications with planners, plugins, and memory connectors. ## Install Save as a script file and run: # Semantic Kernel — Integrate LLMs into Enterprise Applications ## Quick Use ```bash dotnet add package Microsoft.SemanticKernel ``` ```csharp using Microsoft.SemanticKernel; var kernel = Kernel.CreateBuilder() .AddOpenAIChatCompletion("gpt-4o", apiKey) .Build(); var result = await kernel.InvokePromptAsync("Summarize: {{$input}}", new() { ["input"] = text }); Console.WriteLine(result); ``` ## Introduction Semantic Kernel is Microsoft's open-source SDK for building AI agents and integrating LLMs into applications. It provides abstractions for prompt orchestration, plugin registration, memory management, and multi-step planning so that developers can compose AI capabilities using familiar programming patterns. ## What Semantic Kernel Does - Provides a unified interface to call OpenAI, Azure OpenAI, Hugging Face, and other LLM providers - Enables function calling and tool use through a typed plugin system - Supports automatic planning where the AI decomposes goals into executable steps - Includes memory connectors for vector stores like Qdrant, Pinecone, and Azure AI Search - Offers process and agent frameworks for multi-turn and multi-agent orchestration ## Architecture Overview The kernel acts as a central orchestrator that connects AI services, plugins (native functions and prompt functions), and memory. Planners take a user goal and produce a sequence of plugin calls. Filters intercept requests for logging, retry, and content safety. The architecture uses dependency injection patterns familiar to .NET and enterprise Java developers. ## Self-Hosting & Configuration - Install via NuGet (C#), pip (Python), or Maven (Java) depending on your stack - Configure AI service endpoints through builder patterns or dependency injection - Register plugins as classes with decorated methods or as prompt template folders - Connect vector memory via the provided connectors or implement the memory interface - Use the provided middleware filters for telemetry, caching, and error handling ## Key Features - First-class support for C#, Python, and Java with idiomatic APIs in each language - Auto function calling that lets the LLM decide which plugins to invoke - Handlebars and Liquid prompt template engines for dynamic prompt construction - Built-in agents framework supporting multi-agent collaboration patterns - Enterprise-ready with OpenTelemetry tracing and responsible AI filters ## Comparison with Similar Tools - **LangChain** — Python/JS-focused with a wider ecosystem; Semantic Kernel targets enterprise .NET and Java shops - **Haystack** — pipeline-based approach for RAG; Semantic Kernel is broader with planning and agents - **AutoGen** — focuses on multi-agent conversation; Semantic Kernel provides a full SDK with plugins and memory - **Spring AI** — Java-only; Semantic Kernel covers C#, Python, and Java in one project - **LlamaIndex** — specializes in data indexing and retrieval; Semantic Kernel is a general orchestration SDK ## FAQ **Q: Which LLM providers does Semantic Kernel support?** A: OpenAI, Azure OpenAI, Hugging Face, Google Gemini, Mistral, Ollama, and any OpenAI-compatible API endpoint. **Q: Can I use Semantic Kernel without Azure?** A: Yes. It works with any supported LLM provider and has no Azure dependency beyond the optional Azure OpenAI connector. **Q: How does the planner work?** A: The planner sends available plugin descriptions to the LLM, which generates a step-by-step plan that the kernel then executes by calling the appropriate functions. **Q: Is Semantic Kernel production-ready?** A: Yes. It is used internally at Microsoft and follows semantic versioning with stable 1.x releases for C# and Python. ## Sources - https://github.com/microsoft/semantic-kernel - https://learn.microsoft.com/en-us/semantic-kernel/ --- Source: https://tokrepo.com/en/workflows/asset-3c44aece Author: Script Depot