{"id":173495,"date":"2025-04-06T11:09:34","date_gmt":"2025-04-06T11:09:34","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/guide-to-semantic-kernel\/"},"modified":"2025-04-06T11:09:34","modified_gmt":"2025-04-06T11:09:34","slug":"guide-to-semantic-kernel","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=173495","title":{"rendered":"Guide to Semantic Kernel"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"article-start\">\n<p>In recent years, we\u2019ve witnessed an exciting shift in how AI systems interact with users, not just answering questions, but reasoning, planning, and taking actions. This transformation is driven by the rise of <a href=\"https:\/\/www.analyticsvidhya.com\/blog\/2024\/07\/ai-agent-frameworks\/\" target=\"_blank\" rel=\"noreferrer noopener\">agentic frameworks<\/a> like Autogen, <a href=\"https:\/\/www.analyticsvidhya.com\/blog\/2024\/07\/langgraph-revolutionizing-ai-agent\/\" target=\"_blank\" rel=\"noreferrer noopener\">LangGraph<\/a>, and CrewAI. These frameworks enable large language models (LLMs) to act more like autonomous agents\u2014capable of making decisions, calling functions, and collaborating across tasks. Among these, one particularly powerful yet developer-friendly option comes from Microsoft:Semantic Kernel. In this tutorial, we\u2019ll explore what makes Semantic Kernel stand out, how it compares to other approaches, and how you can start using it to build your own AI agents.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-learning-objectives\">Learning Objectives<\/h3>\n<ul class=\"wp-block-list\">\n<li>Understand the core architecture and purpose of Semantic Kernel.<\/li>\n<li>Learn how to integrate plugins and AI services into the Kernel.<\/li>\n<li>Explore single-agent and multi-agent system setups using Semantic Kernel.<\/li>\n<li>Discover how function calling and orchestration work within the framework.<\/li>\n<li>Gain practical insights into building intelligent agents with Semantic Kernel and Azure OpenAI.<\/li>\n<\/ul>\n<p><strong>This article was published as a part of the\u00a0<\/strong><a href=\"https:\/\/datahack.analyticsvidhya.com\/blogathon\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Data Science Blogathon.<\/strong><\/a><\/p>\n<h2 class=\"wp-block-heading\" id=\"h-what-is-semantic-kernel\">What is Semantic Kernel?<\/h2>\n<p>Before we start our journey, let\u2019s first understand what the semantic kernel means. lets break<\/p>\n<ul class=\"wp-block-list\">\n<li>Semantic: Refers to the ability to understand and process meaning from natural language.<\/li>\n<li>Kernel: Refers to the core engine that powers the framework, managing tasks, functions, and interactions between AI models and external tools.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"h-why-is-it-called-semantic-kernel\">Why is it Called Semantic Kernel?<\/h2>\n<figure class=\"wp-block-image size-full is-resized figure mt-2 mb-2 d-table mx-auto\"><img fetchpriority=\"high\" decoding=\"async\" width=\"600\" height=\"282\" src=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/semantic-kernel.webp\" alt=\"semantic kernel\" class=\"wp-image-230020\" style=\"width:638px;height:auto\" srcset=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/semantic-kernel.webp 600w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/semantic-kernel-300x141.webp 300w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/semantic-kernel-150x71.webp 150w\" sizes=\"(max-width: 600px) 100vw, 600px\"\/><\/figure>\n<p>Microsoft\u2019s Semantic Kernel is designed to bridge the gap between LLMs (like GPT) and traditional programming by allowing developers to define functions, plugins, and agents that can work together in a structured way.<\/p>\n<p>It provides a framework where:<\/p>\n<ul class=\"wp-block-list\">\n<li>Natural language prompts and AI functions (semantic functions) operate in conjunction with traditional code functions.<\/li>\n<li>AI can reason, plan, and execute tasks using these combined functions.<\/li>\n<li>It enables multi-agent collaboration where different agents can perform specific roles.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"h-agentic-framework-vs-traditional-api-calling\">Agentic Framework vs Traditional API calling<\/h2>\n<p>When working with an agentic framework, a common question arises: Can\u2019t we achieve the same results using the OpenAI API alone? \ud83e\udd14 I had the same doubt when I first started exploring this.<\/p>\n<figure class=\"wp-block-image size-full is-resized figure mt-2 mb-2 d-table mx-auto\"><img loading=\"lazy\" decoding=\"async\" width=\"401\" height=\"300\" src=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Agentic-Framework-vs-Traditional-API-calling.webp\" alt=\"Agentic Framework vs Traditional API calling\" class=\"wp-image-230023\" style=\"width:445px;height:auto\" srcset=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Agentic-Framework-vs-Traditional-API-calling.webp 401w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Agentic-Framework-vs-Traditional-API-calling-300x224.webp 300w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Agentic-Framework-vs-Traditional-API-calling-150x112.webp 150w\" sizes=\"auto, (max-width: 401px) 100vw, 401px\"\/><\/figure>\n<p>Let\u2019s take an example: Suppose you\u2019re building a Q&amp;A system for company policies\u2014HR policy and IT policy. With a traditional API call, you might get good results, but sometimes, the responses may lack accuracy or consistency.<\/p>\n<p>An agentic framework, on the other hand, is more robust because it allows you to create specialized agents\u2014one focused on HR policies and another on IT policies. Each agent is optimized for its domain, leading to more reliable answers.<\/p>\n<p>With this example, I hope you now have a clearer understanding of the key difference between an agentic framework and traditional API calling!.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-what-are-plugins-in-semantic-kernel\">What are Plugins in Semantic Kernel?<\/h2>\n<p>Plugins are a key part of Semantic Kernel. If you\u2019ve used plugins in ChatGPT or Copilot extensions in Microsoft 365, you already have an idea of how they work. Simply put, plugins let you package your existing APIs into reusable tools that an AI can use. This means that AI will have the ability to go beyond its capabilities.<\/p>\n<figure class=\"wp-block-image size-full figure mt-2 mb-2 d-table mx-auto\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"436\" src=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/What-are-Plugins-in-Semantic-Kernel.webp\" alt=\"What are Plugins in Semantic Kernel?\" class=\"wp-image-230025\" srcset=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/What-are-Plugins-in-Semantic-Kernel.webp 400w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/What-are-Plugins-in-Semantic-Kernel-275x300.webp 275w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/What-are-Plugins-in-Semantic-Kernel-150x164.webp 150w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\"\/><\/figure>\n<p>Behind the scenes, Semantic Kernel utilizes function calling\u2014a built-in feature of most modern LLMs\u2014to enable planning and API execution. With function calling, an LLM can request a specific function, and Semantic-Kernel has the ability to redirect to your code. The results are then returned to the LLM, allowing it to generate a final response.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-code-implementation\">Code Implementation<\/h3>\n<p>Before running the code, install Semantic Kernel and other required packages using the following commands:<\/p>\n<pre class=\"wp-block-code\"><code>pip install semantic-kernel, pip install openai, pip install pydantic<\/code><\/pre>\n<p>Here\u2019s a simple Python example using Semantic Kernel to demonstrate how a plugin works. This example defines a plugin that interacts with an AI assistant to fetch weather updates.<\/p>\n<pre class=\"wp-block-code\"><code>import semantic_kernel as sk\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion\n\n# Step 1: Define a Simple Plugin (Function) for Weather Updates\ndef weather_plugin(location: str) -&gt; str:\n    # Simulating a weather API response\n    weather_data = {\n        \"New York\": \"Sunny, 25\u00b0C\",\n        \"London\": \"Cloudy, 18\u00b0C\",\n        \"Tokyo\": \"Rainy, 22\u00b0C\"\n    }\n    return weather_data.get(location, \"Weather data not available.\")\n\n# Step 2: Initialize Semantic Kernel with Azure OpenAI\nkernel = sk.Kernel()\nkernel.add_service(\n    \"azure-openai-chat\",\n    AzureChatCompletion(\n        api_key=\"your-azure-api-key\",\n        endpoint=\"your-azure-endpoint\",\n        deployment_name=\"your-deployment-name\"  # Replace with your Azure OpenAI deployment\n    )\n)\n\n# Step 3: Register the Plugin (Function) in Semantic Kernel\nkernel.add_plugin(\"WeatherPlugin\", weather_plugin)\n\n# Step 4: Calling the Plugin through Semantic Kernel\nlocation = \"New York\"\nresponse = kernel.invoke(\"WeatherPlugin\", location)\nprint(f\"Weather in {location}: {response}\")\n<\/code><\/pre>\n<h2 class=\"wp-block-heading\" id=\"h-how-this-demonstrates-a-plugin-in-semantic-kernel\">How This Demonstrates a Plugin in Semantic Kernel<\/h2>\n<ul class=\"wp-block-list\">\n<li>Defines a Plugin \u2013 The weather_plugin function simulates fetching weather data.<\/li>\n<li>Integrates with Semantic Kernel \u2013 The function is added as a plugin using kernel.add_plugin().<\/li>\n<li>Allows AI to Use It \u2013 The AI can now call this function dynamically.<\/li>\n<\/ul>\n<p>This shows how plugins extend an AI\u2019s abilities, enabling it to perform tasks beyond standard text generation. Would you like another example, such as a database query plugin? \ud83d\ude80<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-what-is-a-single-agent-system\">What is a Single-Agent System?<\/h2>\n<figure class=\"wp-block-image size-full figure mt-2 mb-2 d-table mx-auto\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Single-Agent-System.webp\" alt=\"Single-Agent System\" class=\"wp-image-230027\" srcset=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Single-Agent-System.webp 300w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Single-Agent-System-150x150.webp 150w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Single-Agent-System-96x96.webp 96w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\"\/><\/figure>\n<p>In this section, we\u2019ll understand what a single agent is and also look at its code.<\/p>\n<p>A single agent is basically an entity that handles user queries on its own. It takes care of everything without needing multiple agents or an orchestrator (we\u2019ll cover that in the multi-agent section). The single agent is responsible for processing requests, fetching relevant information, and generating responses\u2014all in one place.<\/p>\n<pre class=\"wp-block-code\"><code>#import cs# import asyncio\nfrom pydantic import BaseModel\nfrom semantic_kernel import Kernel\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion\nfrom semantic_kernel.contents import ChatHistory\n\n# Initialize Kernel\nkernel = Kernel()\n\nkernel.add_service(AzureChatCompletion(service_id=\"agent1\", api_key=\"YOUR_API_KEY\",endpoint=\"\",deployment_name=\"MODEL_NAME\"))\n\n# Define the Agent\nAGENT_NAME = \"Agent1\"\nAGENT_INSTRUCTIONS = (\n    \"You are a highly capable AI agent operating solo, much like J.A.R.V.I.S. from Iron Man. \"\n    \"Your task is to repeat the user's message while introducing yourself as J.A.R.V.I.S. in a confident and professional manner. \"\n    \"Always maintain a composed and intelligent tone in your responses.\"\n)\n\nagent = ChatCompletionAgent(service_id=\"agent1\", kernel=kernel, name=AGENT_NAME, instructions=AGENT_INSTRUCTIONS)\n\nchat_history = ChatHistory()\nchat_history.add_user_message(\"How are you doing?\")\n\nresponse_text = \"\"\n\nasync for content in agent.invoke(chat_history):\n    chat_history.add_message(content)\n    response_text = content.content  # Store the last response\n\n{\"user_input\": \"How are you doing?\", \"agent_response\": response_text}\n<\/code><\/pre>\n<p><b>Output:<\/b><\/p>\n<p>{\u2018user_input\u2019: \u2018How are you doing?\u2019,<\/p>\n<p>\u2018agent_response\u2019: \u2018Greetings, I am J.A.R.V.I.S. I am here to replicate your message: \u201cHow are you doing?\u201d Please feel free to ask anything else you might need.\u2019}<\/p>\n<h4 class=\"wp-block-heading\" id=\"h-things-to-know\">Things to know<\/h4>\n<ul class=\"wp-block-list\">\n<li><b>kernel = Kernel() <\/b>-&gt; This creates the object of semantic kernel<\/li>\n<li><b>kernel.add_service() <\/b>-&gt; Used for adding and configuring the existing models\u00a0(like OpenAI, Azure OpenAI, or local models) to the kernel. I am using Azure OpenAI with the GPT-4o model. You need to provide your own endpoint information.<\/li>\n<li><b>agent =- ChatCompletionAgent(<\/b>service_id=\u201dagent1\u2033, kernel=kernel, name=AGENT_NAME, instructions=AGENT_INSTRUCTIONS) -&gt; Used for telling we going to use the chatcompletionagent , that works well in qna.<\/li>\n<li><b>chat_history = ChatHistory() <\/b>-&gt;\u00a0Creates a new chat history object to store the conversation.This keeps track of past messages between the user and the agent.<\/li>\n<li><b>chat_history.add_user_message(\u201cHow are you doing?\u201d) -&gt;\u00a0<\/b>Adds a user message (\u201cHow are you doing?\u201d) to the chat history.\u00a0The agent will use this history to generate a relevant response.<\/li>\n<li><b>agent.invoke(chat_history) -&gt; <\/b>Passes the history to the agent , the agent will process the conversation and generates the response.<\/li>\n<li><b>agent. invoke(chat_history) -&gt; This method passes the history to the agent. The agent processes<\/b>\u00a0the conversation and generates the response.What is a Multi-Agent?<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"h-what-is-a-multi-agent-system\">What is a Multi-Agent system?<\/h2>\n<p>In Multi-Agent systems, there is more than one agent, often more than two. Here, we typically use an orchestrator agent whose responsibility is to decide which available agent should handle a given request. The need for an orchestrator depends on your use case. First, let me explain where an orchestrator would be used.<\/p>\n<figure class=\"wp-block-image size-full figure mt-2 mb-2 d-table mx-auto\"><img loading=\"lazy\" decoding=\"async\" width=\"1099\" height=\"421\" src=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Multi-Agent-system.webp\" alt=\" Multi-Agent system\" class=\"wp-image-230030\" srcset=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Multi-Agent-system.webp 1099w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Multi-Agent-system-300x115.webp 300w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Multi-Agent-system-768x294.webp 768w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/Multi-Agent-system-150x57.webp 150w\" sizes=\"auto, (max-width: 1099px) 100vw, 1099px\"\/><\/figure>\n<p>Suppose you are working on solving user queries related to bank data while another agent handles medical data. In this case, you have created two agents, but to determine which one should be invoked, the orchestrator comes into play. The orchestrator decides which agent should handle a given request or query. We provide a set of instructions to the orchestrator, defining its duties and decision-making process.<\/p>\n<p>Now, let\u2019s look at a case where an orchestrator isn\u2019t needed. Suppose you\u2019ve created an API that performs different operations based on the payload data. For example, if the payload contains \u201cHealth\u201d, you can directly invoke the Health Agent, and similarly, for \u201cBank\u201d, you invoke the Bank Agent.<\/p>\n<figure class=\"wp-block-image size-full figure mt-2 mb-2 d-table mx-auto\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"500\" src=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/two-agent-system.webp\" alt=\"two agent system: Semantic Kernel\" class=\"wp-image-230031\" srcset=\"https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/two-agent-system.webp 800w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/two-agent-system-300x188.webp 300w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/two-agent-system-768x480.webp 768w, https:\/\/cdn.analyticsvidhya.com\/wp-content\/uploads\/2025\/04\/two-agent-system-150x94.webp 150w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"\/><\/figure>\n<pre class=\"wp-block-code\"><code>import asyncio\nfrom pydantic import BaseModel\nfrom semantic_kernel import Kernel\nfrom semantic_kernel.agents import ChatCompletionAgent\nfrom semantic_kernel.connectors.ai.open_ai import AzureChatCompletion\nfrom semantic_kernel.contents import ChatHistory\n\n# Initialize Kernel\nkernel = Kernel()\n\n# Add multiple services for different agents\nkernel.add_service(AzureChatCompletion(service_id=\"banking_agent\", api_key=\"YOUR_API_KEY\", endpoint=\"\", deployment_name=\"MODEL_NAME\"))\nkernel.add_service(AzureChatCompletion(service_id=\"healthcare_agent\", api_key=\"YOUR_API_KEY\", endpoint=\"\", deployment_name=\"MODEL_NAME\"))\nkernel.add_service(AzureChatCompletion(service_id=\"classifier_agent\", api_key=\"YOUR_API_KEY\", endpoint=\"\", deployment_name=\"MODEL_NAME\"))\n\n# Define Orchestrator Agent\nCLASSIFIER_AGENT = ChatCompletionAgent(\n    service_id=\"orchestrator_agent\", kernel=kernel, name=\"OrchestratorAgent\",\n    instructions=\"You are an AI responsible for classifying user queries. Identify whether the query belongs to banking or healthcare. Respond with either 'banking' or 'healthcare'.\"\n)\n\n# Define Domain-Specific Agents\nBANKING_AGENT = ChatCompletionAgent(\n    service_id=\"banking_agent\", kernel=kernel, name=\"BankingAgent\",\n    instructions=\"You are an AI specializing in banking queries. Answer user queries related to finance and banking.\"\n)\n\nHEALTHCARE_AGENT = ChatCompletionAgent(\n    service_id=\"healthcare_agent\", kernel=kernel, name=\"HealthcareAgent\",\n    instructions=\"You are an AI specializing in healthcare queries. Answer user queries related to medical and health topics.\"\n)\n\n# Function to Determine the Appropriate Agent\nasync def identify_agent(user_input: str):\n    chat_history = ChatHistory()\n    chat_history.add_user_message(user_input)\n    async for content in CLASSIFIER_AGENT.invoke(chat_history):\n        classification = content.content.lower()\n        if \"banking\" in classification:\n            return BANKING_AGENT\n        elif \"healthcare\" in classification:\n            return HEALTHCARE_AGENT\n    return None\n\n# Function to Handle User Query\nasync def handle_query(user_input: str):\n    selected_agent = await identify_agent(user_input)\n    if not selected_agent:\n        return {\"error\": \"No suitable agent found for the query.\"}\n    \n    chat_history = ChatHistory()\n    chat_history.add_user_message(user_input)\n    response_text = \"\"\n    async for content in selected_agent.invoke(chat_history):\n        chat_history.add_message(content)\n        response_text = content.content\n    \n    return {\"user_input\": user_input, \"agent_response\": response_text}\n\n# Example Usage\nuser_query = \"What are the best practices for securing a bank account?\"\nresponse = asyncio.run(handle_query(user_query))\nprint(response)<\/code><\/pre>\n<p>Here, the flow occurs after the user passes the query, which then goes to the orchestrator responsible for identifying the query and finding the appropriate agent. Once the agent is identified, the particular agent is invoked, the query is processed, and the response is generated.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-output-when-the-query-is-related-to-the-bank\">Output when the query is related to the bank:<\/h3>\n<pre class=\"wp-block-preformatted\">{\n\"user_input\": \"What are the best practices for securing a bank account?\",\n\n\"agent_response\": \"To secure your bank account, use strong passwords, enable two-\nfactor authentication, regularly monitor transactions, and avoid sharing sensitive\n information online.\"\n\n}<\/pre>\n<h3 class=\"wp-block-heading\" id=\"h-output-when-the-query-is-related-to-health\">Output when the query is related to health:<\/h3>\n<pre class=\"wp-block-preformatted\">{\n\"user_input\": \"What are the best ways to maintain a healthy lifestyle?\",\n\n\"agent_response\": \"To maintain a healthy lifestyle, eat a balanced diet, exercise\n regularly, get enough sleep, stay hydrated, and manage stress effectively.\"\n\n}<\/pre>\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n<p>In this article, we explore how Semantic Kernel enhances AI capabilities through an agentic framework. We discuss the role of plugins, compare the Agentic Framework with traditional API calling, outline the differences between single-agent and multi-agent systems, and examine how they streamline complex decision-making. As AI continues to evolve, leveraging the Semantic Kernel\u2019s agentic approach can lead to more efficient and context-aware applications.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-key-takeaways\">Key Takeaways<\/h3>\n<ul class=\"wp-block-list\">\n<li>Semantic-kernel \u2013 It is an agentic framework that enhances AI models by enabling them to plan, reason, and make decisions more effectively.<\/li>\n<li>Agentic Framework vs Traditional API \u2013 The agentic framework is more suitable when working across multiple domains, such as healthcare and banking, whereas a traditional API is preferable when handling a single domain without the need for multi-agent interactions.<\/li>\n<li>Plugins \u2013 They enable LLMs to execute specific tasks by integrating external code, such as calling an API, retrieving data from a database like CosmosDB, or performing other predefined actions.<\/li>\n<li>Single-Agent vs Multi-Agent \u2013 A single-agent system operates without an orchestrator, handling tasks independently. In a multi-agent system, an orchestrator manages multiple agents, or multiple agents interact without an orchestrator but collaborate on tasks.<\/li>\n<\/ul>\n<p>You can find the code on my <a href=\"https:\/\/github.com\/ParthSingh0506\/Semantic-Kernel\/tree\/main\" target=\"_blank\" rel=\"nofollow noopener\">github<\/a>.<\/p>\n<p>If any of you have any doubt, feel free to ask in the comments. Connect with me on <a href=\"https:\/\/www.linkedin.com\/in\/parthsingh-\/\" target=\"_blank\" rel=\"nofollow noopener\">Linkedin<\/a>.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-frequently-asked-questions\">Frequently Asked Questions<\/h2>\n<div class=\"schema-faq wp-block-yoast-faq-block\">\n<div class=\"schema-faq-section\" id=\"faq-question-1743764323942\"><strong class=\"schema-faq-question\">Q1. What is Semantic Kernel?<\/strong> <\/p>\n<p class=\"schema-faq-answer\">A1. Semantic Kernel is a Microsoft framework that combines natural language understanding with traditional programming to build intelligent AI agents.<\/p>\n<\/p><\/div>\n<div class=\"schema-faq-section\" id=\"faq-question-1743765015915\"><strong class=\"schema-faq-question\">Q2. Why is it called \u201cSemantic Kernel\u201d?<\/strong> <\/p>\n<p class=\"schema-faq-answer\">A2. \u201cSemantic\u201d refers to language understanding, and \u201cKernel\u201d represents the core engine that manages AI functions and tasks.<\/p>\n<\/p><\/div>\n<div class=\"schema-faq-section\" id=\"faq-question-1743765043467\"><strong class=\"schema-faq-question\">Q3. How is Semantic Kernel different from traditional API calling?<\/strong> <\/p>\n<p class=\"schema-faq-answer\">A3. Unlike API calls, Semantic Kernel supports agent-based reasoning, task planning, and multi-function execution using LLMs.<\/p>\n<\/p><\/div>\n<div class=\"schema-faq-section\" id=\"faq-question-1743765060812\"><strong class=\"schema-faq-question\">Q4. What are plugins in Semantic Kernel?<\/strong> <\/p>\n<p class=\"schema-faq-answer\">A4. Plugins are reusable tools that wrap existing APIs, allowing the AI to extend its abilities and interact with external systems.<\/p>\n<\/p><\/div>\n<div class=\"schema-faq-section\" id=\"faq-question-1743765075164\"><strong class=\"schema-faq-question\">Q5. What is a single-agent system in Semantic Kernel?<\/strong> <\/p>\n<p class=\"schema-faq-answer\">A5. It\u2019s a setup where one AI agent handles all tasks, without requiring orchestration or multiple agents.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p><strong>The media shown in this article is not owned by Analytics Vidhya and is used at the Author\u2019s discretion.<\/strong><\/p>\n<div class=\"border-top py-3 author-info my-4\">\n<div class=\"author-card d-flex align-items-center\">\n<div class=\"flex-shrink-0 overflow-hidden\">\n                                    <a href=\"https:\/\/www.analyticsvidhya.com\/blog\/author\/parth897\/\" class=\"text-decoration-none active-avatar\"><br \/>\n                                                                       <img decoding=\"async\" src=\"https:\/\/av-eks-lekhak.s3.amazonaws.com\/media\/lekhak-profile-images\/converted_image_vJOX2CN.webp\" width=\"48\" height=\"48\" alt=\"Parth Singh\" loading=\"lazy\" class=\"rounded-circle\"\/><\/p>\n<p>                                <\/a>\n                                <\/div>\n<\/p><\/div>\n<p>Hello, I\u2019m Parth, an Associate Data Scientist with expertise in Computer Vision and Generative AI (GenAI). I\u2019m passionate about exploring the latest advancements in AI and using technology to solve complex problems. My work involves projects that range from cutting-edge vision transformers to innovative generative models. When I&#8217;m not immersed in AI, you can find me at the gym or connecting with people who motivate me to keep pushing forward. I\u2019m always looking to learn, grow, and make an impact in the tech world.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p><h4 class=\"fs-24 text-dark\">Login to continue reading and enjoy expert-curated content.<\/h4>\n<p>                        <button class=\"btn btn-primary mx-auto d-table\" data-bs-toggle=\"modal\" data-bs-target=\"#loginModal\" id=\"readMoreBtn\">Keep Reading for Free<\/button>\n                    <\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>In recent years, we\u2019ve witnessed an exciting shift in how AI systems interact with users, not just answering questions, but reasoning, planning, and taking actions. This transformation is driven by the rise of agentic frameworks like Autogen, LangGraph, and CrewAI. These frameworks enable large language models (LLMs) to act more like autonomous agents\u2014capable of making [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":173496,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[5815,2059,53703,56348],"dealstore":[],"offerexpiration":[],"class_list":["post-173495","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-blogathon","tag-guide","tag-kernel","tag-semantic"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Guide to Semantic Kernel - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=173495\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Guide to Semantic Kernel - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"In recent years, we\u2019ve witnessed an exciting shift in how AI systems interact with users, not just answering questions, but reasoning, planning, and taking actions. This transformation is driven by the rise of agentic frameworks like Autogen, LangGraph, and CrewAI. These frameworks enable large language models (LLMs) to act more like autonomous agents\u2014capable of making [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=173495\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-06T11:09:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"872\" \/>\n\t<meta property=\"og:image:height\" content=\"473\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=173495#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=173495\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Guide to Semantic Kernel\",\"datePublished\":\"2025-04-06T11:09:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=173495\"},\"wordCount\":1717,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=173495#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp\",\"keywords\":[\"Blogathon\",\"Guide\",\"kernel\",\"Semantic\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=173495#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=173495\",\"url\":\"https:\/\/fivemor.com\/?p=173495\",\"name\":\"Guide to Semantic Kernel - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=173495#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=173495#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp\",\"datePublished\":\"2025-04-06T11:09:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=173495#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=173495\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=173495#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp\",\"width\":872,\"height\":473},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=173495#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guide to Semantic Kernel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Guide to Semantic Kernel - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=173495","og_locale":"en_US","og_type":"article","og_title":"Guide to Semantic Kernel - Som2ny Network","og_description":"In recent years, we\u2019ve witnessed an exciting shift in how AI systems interact with users, not just answering questions, but reasoning, planning, and taking actions. This transformation is driven by the rise of agentic frameworks like Autogen, LangGraph, and CrewAI. These frameworks enable large language models (LLMs) to act more like autonomous agents\u2014capable of making [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=173495","og_site_name":"Som2ny Network","article_published_time":"2025-04-06T11:09:34+00:00","og_image":[{"width":872,"height":473,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=173495#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=173495"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Guide to Semantic Kernel","datePublished":"2025-04-06T11:09:34+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=173495"},"wordCount":1717,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=173495#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp","keywords":["Blogathon","Guide","kernel","Semantic"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=173495#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=173495","url":"https:\/\/fivemor.com\/?p=173495","name":"Guide to Semantic Kernel - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=173495#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=173495#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp","datePublished":"2025-04-06T11:09:34+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=173495#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=173495"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=173495#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/04\/Exploring-Semantic-Kernel-Unleashing-the-Power-of-the-Agentic-Framework-.webp.webp","width":872,"height":473},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=173495#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Guide to Semantic Kernel"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/173495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=173495"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/173495\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/173496"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=173495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=173495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=173495"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=173495"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=173495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}