Time Commitment: The entire workshop can be completed online without local setup. The environment setup takes 2 minutes, with exploring the samples requiring 1-3 hours depending on exploration depth.
Quick Start
- Fork this repository to your GitHub account
- Click Code → Codespaces tab → ... → New with options...
- Use the defaults – this will select the Development container created for this course
- Click Create codespace
- Wait ~2 minutes for the environment to be ready
- Jump straight to The first example
Multi-Language Support
Supported via GitHub Action (Automated & Always Up-to-Date)
Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese
Prefer to Clone Locally?
This repository includes 50+ language translations which significantly increases the download size. To clone without translations, use sparse checkout:
Bash / macOS / Linux:
git clone --filter=blob:none --sparse https://github.com/microsoft/Generative-AI-for-beginners-java.git cd Generative-AI-for-beginners-java git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'CMD (Windows):
git clone --filter=blob:none --sparse https://github.com/microsoft/Generative-AI-for-beginners-java.git cd Generative-AI-for-beginners-java git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"This gives you everything you need to complete the course with a much faster download.
Course Structure & Learning Path
Chapter 1: Introduction to Generative AI
- Core Concepts: Understanding Large Language Models, tokens, embeddings, and AI capabilities
- Java AI Ecosystem: Overview of Spring AI and OpenAI SDKs
- Model Context Protocol: Introduction to MCP and its role in AI agent communication
- Practical Applications: Real-world scenarios including chatbots and content generation
- → Start Chapter 1
Chapter 2: Development Environment Setup
- Multi-Provider Configuration: Set up GitHub Models, Azure OpenAI, and OpenAI Java SDK integrations
- Spring Boot + Spring AI: Best practices for enterprise AI application development
- GitHub Models: Free AI model access for prototyping and learning (no credit card required)
- Development Tools: Docker containers, VS Code, and GitHub Codespaces configuration
- → Start Chapter 2
Chapter 3: Core Generative AI Techniques
- Prompt Engineering: Techniques for optimal AI model responses
- Embeddings & Vector Operations: Implement semantic search and similarity matching
- Retrieval-Augmented Generation (RAG): Combine AI with your own data sources
- Function Calling: Extend AI capabilities with custom tools and plugins
- → Start Chapter 3
Chapter 4: Practical Applications & Projects
- Pet Story Generator (
petstory/): Creative content generation with GitHub Models - Foundry Local Demo (
foundrylocal/): Local AI model integration with OpenAI Java SDK - MCP Calculator Service (
calculator/): Basic Model Context Protocol implementation with Spring AI - → Start Chapter 4
Chapter 5: Responsible AI Development
- GitHub Models Safety: Test built-in content filtering and safety mechanisms (hard blocks and soft refusals)
- Responsible AI Demo: Hands-on example showing how modern AI safety systems work in practice
- Best Practices: Essential guidelines for ethical AI development and deployment
- → Start Chapter 5
Additional Resources
LangChain
Azure / Edge / MCP / Agents
Generative AI Series
Core Learning
Copilot Series
Getting Help
If you get stuck or have any questions about building AI apps. Join fellow learners and experienced developers in discussions about MCP. It's a supportive community where questions are welcome and knowledge is shared freely.
If you have product feedback or errors while building visit:
