A hands-on workshop exploring Microsoft's Semantic Kernel framework for building intelligent AI applications. This workshop provides practical experience with real-world AI application patterns using Python and Azure OpenAI.
This workshop takes you from foundational concepts to advanced implementation patterns through a series of Jupyter notebooks and practical examples. You'll learn how to:
- Build AI applications using Microsoft's Semantic Kernel framework
- Create and orchestrate AI agents with different capabilities and roles
- Construct structured AI workflows using the Process Framework
- Implement enterprise-ready AI features with security and scalability in mind
- Python 3.9 or higher
- Azure OpenAI API access (API key, endpoint, and deployment name)
- Basic knowledge of Python programming
- Understanding of prompt engineering concepts (helpful but not required)
Learn the fundamentals of Semantic Kernel:
- Core architectural components (Kernel, AI Services, Plugins)
- Building semantic functions with prompts
- Creating native functions with Python code
- Implementing memory for persistent context
- Enabling automatic function calling for AI agents
Key Notebooks:
01-intro.ipynb
: Core concepts, services, and function creation02-memory.ipynb
: Implementing semantic memory with embeddings
Master the creation and orchestration of AI agents:
- Creating specialized agents with different personas
- Implementing multi-agent communication patterns
- Agent selection strategies and orchestration
- Building agent topologies for complex scenarios
- Integrating plugins with agents for enhanced capabilities
Key Notebooks:
02.1-agents.ipynb
: Creating and configuring agents02.2-agents-chats.ipynb
: Inter-agent communication and complex patterns
Learn to build structured, event-driven AI workflows:
- Understanding the Process Framework architecture
- Defining events, steps, and state management
- Building conversational AI systems with processes
- Implementing complex business logic with AI capabilities
- Creating maintainable and testable AI workflows
Key Notebooks:
03.1-intro-to-processes.ipynb
: Building stateful, event-driven AI processes
Apply what you've learned in a real application:
- A full-stack application with React frontend and FastAPI backend
- Semantic memory implementation
- AI-powered functions and plugins
- Translation and summarization capabilities
- Example of native plugin integration (Weather)
semantic-kernel-workshop/
├── 01-intro-to-semantic-kernel/ # Introduction to core concepts
│ ├── 01-intro.ipynb # Basic concepts and functions
│ └── 02-memory.ipynb # Memory implementation
├── 02-semantic-kernel-agents/ # Agent creation and orchestration
│ ├── 02.1-agents.ipynb # Agent fundamentals
│ ├── 02.2-agents-chats.ipynb # Multi-agent communication
│ └── .env.sample # Environment variables template
├── 03-process-framework/ # Structured AI workflows
│ └── 03.1-intro-to-processes.ipynb # Process fundamentals
└── playground/ # Interactive application
├── backend/ # FastAPI server
├── frontend/ # React application
├── start.sh # Launch script
└── README.md # Playground documentation
-
Clone this repository
-
Create a virtual environment:
Linux/macOS:
# Create a virtual environment python -m venv venv # Activate the virtual environment source venv/bin/activate
Windows:
# Create a virtual environment python -m venv venv # Activate the virtual environment venv\Scripts\activate
-
Copy the environment variables template:
cp .env.example .env
-
Add your Azure OpenAI credentials to the
.env
file:AZURE_OPENAI_DEPLOYMENT=your-deployment-name AZURE_OPENAI_API_KEY=your-api-key AZURE_OPENAI_ENDPOINT=your-azure-endpoint AZURE_OPENAI_API_VERSION=2024-02-15-preview AZURE_OPENAI_EMBEDDING_DEPLOYMENT=your-embedding-deployment
-
Start with the first notebook:
- Begin with
01-intro-to-semantic-kernel/01-intro.ipynb
, which includes instructions for installing Semantic Kernel and other required packages.
- Begin with
For optimal learning, follow this progression:
- Foundational Concepts: Start with
01-intro.ipynb
to understand the core components - Memory Implementation: Explore
02-memory.ipynb
to see how semantic memory works - Basic Agents: Create your first agents in
02.1-agents.ipynb
- Advanced Agent Patterns: Study complex agent interactions in
02.2-agents-chats.ipynb
- Process Framework: Learn structured workflows with
03.1-intro-to-processes.ipynb
- Practical Application: Apply everything in the interactive playground
For advanced patterns and enterprise deployment scenarios, explore the Semantic Kernel Advanced Usage repository, which includes:
- Dapr integration for scalable, distributed systems
- Authentication and security patterns
- Natural language to SQL conversion
- Copilot Studio integration
- Microsoft Graph API integration
- Production deployment architecture
This project is licensed under the MIT License - see the LICENSE file for details.