Skip to content

marconsilva/AgenticWorkshop-SemanticKernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Workshop Banner

πŸš€ Agentic AI Workshop - Semantic Kernel

Building the Agentic Future

Welcome to our intensive, hands-on workshop on building agentic AI applications using Microsoft's Semantic Kernel framework! This workshop will take you from foundational concepts to advanced multi-agent orchestration through a series of progressive labs.

πŸ“š Overview

This workshop explores the cutting-edge world of Agentic AI using Microsoft's Semantic Kernel framework. Through a series of four progressive labs, you'll learn how to build, customize, and orchestrate AI agents to perform complex tasks.

🧠 What is Semantic Kernel?

Semantic Kernel is an open-source SDK that integrates Large Language Models (LLMs) with conventional programming languages. It combines the strengths of:

  • πŸ”„ Natural language semantics: Leveraging the power of LLMs to understand and generate human language
  • βš™οΈ Traditional programming: Using the precision and reliability of conventional code
  • 🧩 Extensible architecture: Building flexible plugin systems for enhanced capabilities

Semantic Kernel serves as the foundation for creating AI applications that can reason, learn, and interact in sophisticated ways.

πŸ€– What is Agentic AI?

Agentic AI refers to autonomous systems that can:

  • 🎯 Set and pursue goals: Define objectives and take steps to achieve them
  • πŸ”„ Adapt to feedback: Learn from success and failure
  • πŸ› οΈ Use tools and APIs: Interact with external systems and data sources
  • 🀝 Collaborate: Work with humans and other agents to solve problems

This workshop focuses on building these capabilities using Semantic Kernel as the underlying framework.

πŸ—ΊοΈ Workshop Structure

This workshop is divided into four progressive labs, each building on the knowledge gained in the previous one:

Lab Title Focus Area
Lab 01 πŸ’‘ Introduction to Semantic Kernel Core concepts, creating a simple plugin
Lab 02 🧰 Working with Built-in Plugins Leveraging existing plugins, understanding plugin architecture
Lab 03 πŸ“‘ Model Context Protocol (MCP) Advanced communication patterns between models and applications
Lab 04 🎭 Multi-Agent Orchestration Creating agent teams, managing group interactions

Each lab includes hands-on coding exercises, conceptual explanations, and challenges to deepen your understanding.

🧰 Prerequisites

Before starting this workshop, please ensure you have the following:

Knowledge Requirements

  • πŸ’» Intermediate C# programming experience
  • 🌐 Basic understanding of RESTful APIs
  • πŸ€– Familiarity with AI/ML concepts (helpful but not required)

Required Software

  • πŸ“Š Visual Studio Code with C# extensions (or Visual Studio 2022 or latest)
  • πŸ› οΈ .NET SDK 9.0 or later
  • πŸ“‹ Git for version control
  • πŸ”„ Azure CLI (for infrastructure deployment)

Required Accounts

  • πŸ“ GitHub account
  • ☁️ Microsoft Azure account with active subscription
  • πŸ”‘ OpenAI API access (or Azure OpenAI Service access)

πŸ”§ Setup Instructions

Follow these steps to prepare your environment for the workshop:

1. Clone the Repository

git clone https://github.com/..../AgenticWorkshop-SemanticKernel.git
cd AgenticWorkshop-SemanticKernel

2. Install Required .NET Packages

Each lab contains its own project with specific dependencies. To install dependencies for all labs at once:

dotnet restore AgenticWorkshop-SemanticKernel.sln

3. Configure API Keys

Create a .env file in each project directory with your API keys:

# .env file example

AZURE_OPENAI_ENDPOINT=""
AZURE_OPENAI_KEY=""
GITHUB_PERSONAL_ACCESS_TOKEN=""
GOOGLE_API_KEY=""
GOOGLE_SEARCH_ENGINE_ID=""

⚠️ Security Note: Never commit API keys to your repository. The .gitignore file includes .env to help prevent this.

☁️ Infrastructure Deployment

This workshop requires specific Azure resources. Follow these steps to deploy them:

1. Cloud Resources Required

  • 🧠 Azure OpenAI Service: For accessing GPT models
  • 🌐 Google Custom Search: For Implementing a Built-in Web Search RAG Agent (Lab 2)

2. Automated Deployment

We've created automated deployment scripts to simplify the process:

cd infra
./deploy-workshop-infra.ps1 -SubscriptionId "your-subscription-id" -ResourceGroup "sk-workshop-rg" -Location "eastus"

This script will:

  1. πŸ“ Log you into Azure (if needed)
  2. 🌐 Create the resource group if it doesn't exist
  3. πŸš€ Deploy all required resources with appropriate configurations
  4. πŸ”‘ Set up necessary permissions and networking
  5. πŸ“ Output a configuration file for use in the labs

3. Manual Configuration

After deployment completes, you'll need to:

  1. πŸ” Create deployments for your Azure OpenAI models

    • GPT-4 Turbo: Recommended for all labs
    • GPT-3.5 Turbo: Minimum for Labs 1-2
  2. πŸ› οΈ Configure the deployed resources as needed for your specific environment

πŸ’‘ Note: Detailed instructions for each step are provided in the infra/README.md file.

πŸ§ͺ Labs in Detail

Lab 01 Demo

In this lab, you'll get started with Semantic Kernel fundamentals:

  • βœ… Set up a basic Semantic Kernel project
  • βœ… Create your first semantic function
  • βœ… Implement a simple "Lights Plugin" to control virtual lights
  • βœ… Learn about prompt engineering within the Semantic Kernel context

This lab provides a gentle introduction to the framework and establishes the foundation for more complex applications.

In this lab, you'll expand your knowledge by working with pre-built plugins:

  • βœ… Integrate the Google search plugin
  • βœ… Chain multiple plugins together
  • βœ… Create a conversational agent that uses external data sources
  • βœ… Learn how to debug and trace plugin execution

You'll see how Semantic Kernel's plugin architecture enables powerful compositions of capabilities.

MCP Demo

This lab introduces the Model Context Protocol (MCP) - an advanced communication mechanism:

  • βœ… Create an MCP client and server
  • βœ… Build a GitHub integration agent
  • βœ… Implement a code-fixing agent that can repair bugs
  • βœ… Explore request/response filters for enhanced control

MCP represents a significant step forward in managing complex AI interactions and tool usage.

The final lab explores the cutting edge of agentic systems - multiple agents working together:

  • βœ… Configure specialized agents with different roles
  • βœ… Create agent groups with hierarchical structures
  • βœ… Implement approval flows and termination strategies
  • βœ… Build a multi-agent system that can solve complex problems

You'll learn how multiple agents can collaborate, debate, and achieve goals that would be difficult for single agents.

πŸ“š Learning Resources

πŸ“– Documentation

πŸŽ₯ Videos

πŸ“ Articles

🌐 Community Resources

πŸ”§ Troubleshooting

Common Issues

Authentication Problems

  • ❓ Issue: Azure OpenAI authentication failures
  • πŸ”¨ Solution: Check that your API keys are correctly configured in .env and that your Azure role assignments include "Cognitive Services OpenAI User"

Deployment Errors

  • ❓ Issue: Resource deployment fails
  • πŸ”¨ Solution: Ensure you have sufficient permissions and quota in your Azure subscription. For OpenAI resources, verify your region availability and quota.

πŸ‘₯ Contributing

Contributions to improve this workshop are welcome! Please consider:

  • Submitting issues for bugs or suggestions
  • Creating pull requests with improvements
  • Sharing your experience and examples

Please review our contributing guidelines before making a contribution.

πŸ“„ License

This workshop is licensed under the MIT License - see the LICENSE file for details.


Created with ❀️ by Microsoft - Marco Antonio Silva

GitHub β€’ Semantic Kernel β€’ Community

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages