10 KiB
AGENTS.md
Project Overview
AI for Beginners na 12-week, 24-lesson curriculum wey dey teach Artificial Intelligence basics. Dis repository get practical lessons wey dey use Jupyter Notebooks, quizzes, and hands-on labs. Wetin e cover na:
- Symbolic AI wey include Knowledge Representation and Expert Systems
- Neural Networks and Deep Learning wey dey use TensorFlow and PyTorch
- Computer Vision techniques and architectures
- Natural Language Processing (NLP) wey include transformers and BERT
- Special topics: Genetic Algorithms, Reinforcement Learning, Multi-Agent Systems
- AI Ethics and Responsible AI principles
Key Technologies: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (for quiz app)
Architecture: Educational content repository wey Jupyter Notebooks dey arrange by topic areas, plus Vue.js-based quiz app and multi-language support.
Setup Commands
Primary Development Environment (Python/Jupyter)
Dis curriculum dey work with Python and Jupyter Notebooks. E better make you use miniconda:
# Clone the repository
git clone https://github.com/microsoft/ai-for-beginners
cd ai-for-beginners
# Create and activate conda environment
conda env create --name ai4beg --file environment.yml
conda activate ai4beg
# Start Jupyter Notebook
jupyter notebook
# OR
jupyter lab
Alternative: Using devcontainer
# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment
Quiz Application Setup
Quiz app na Vue.js application wey dey inside etc/quiz-app/:
cd etc/quiz-app
npm install
npm run serve # Development server
npm run build # Production build
npm run lint # Lint and fix files
Development Workflow
Working with Jupyter Notebooks
-
Local Development:
- Activate conda environment:
conda activate ai4beg - Start Jupyter:
jupyter notebookorjupyter lab - Go lesson folders and open
.ipynbfiles - Run cells one by one to follow lessons
- Activate conda environment:
-
VS Code with Python Extension:
- Open repository for VS Code
- Install Python extension
- VS Code go detect and use conda environment automatically
- Open
.ipynbfiles directly for VS Code
-
Cloud Development:
- GitHub Codespaces: Click "Code" → "Codespaces" → "Create codespace on main"
- Binder: Use Binder badge for README to launch for browser
- Note: Binder get limited resources and some web access restrictions
GPU Support for Advanced Lessons
Later lessons go benefit well from GPU acceleration:
- Azure Data Science VM: Use NC-series VMs wey get GPU support
- Azure Machine Learning: Use notebook features with GPU compute
- Google Colab: Upload notebooks one by one (e get free GPU support)
Quiz App Development
cd etc/quiz-app
npm run serve # Hot-reload development server at http://localhost:8080
Testing Instructions
Dis repository na for learning content, e no be software testing. E no get traditional test suite.
Validation Approaches:
- Jupyter Notebooks: Run cells one by one to confirm say code examples dey work
- Quiz App Testing: Test am manually with development server
- Translation Validation: Check translated content for
translations/folder - Quiz App Linting:
npm run lintforetc/quiz-app/
Running Code Examples:
# Activate environment first
conda activate ai4beg
# Run Python scripts directly
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py
# Or execute notebooks
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
Code Style
Python Code Style
- Follow standard Python conventions for educational code
- Write code wey dey clear and easy to understand, no need for optimization
- Add comments wey dey explain key concepts
- Make Jupyter Notebook-friendly: cells suppose dey self-contained as much as possible
- No strict linting requirements for lesson content
JavaScript/Vue.js (Quiz App)
- ESLint configuration dey for
etc/quiz-app/package.json - Run
npm run lintto check and fix issues automatically - Vue 2.x conventions
- Component-based architecture
File Organization
lessons/
├── 0-course-setup/ # Setup instructions
├── 1-Intro/ # Introduction to AI
├── 2-Symbolic/ # Symbolic AI
├── 3-NeuralNetworks/ # Neural Networks basics
├── 4-ComputerVision/ # Computer Vision
├── 5-NLP/ # Natural Language Processing
├── 6-Other/ # Other AI techniques
├── 7-Ethics/ # AI Ethics
└── X-Extras/ # Additional content
etc/
├── quiz-app/ # Vue.js quiz application
└── quiz-src/ # Quiz source files
translations/ # Multi-language translations
Build and Deployment
Jupyter Content
No need build process - Jupyter Notebooks dey run directly.
Quiz Application
cd etc/quiz-app
# Development
npm run serve
# Production build
npm run build # Outputs to etc/quiz-app/dist/
# Deploy to Azure Static Web Apps
# Azure automatically creates GitHub Actions workflow
# See etc/quiz-app/README.md for detailed deployment instructions
Documentation Site
Dis repository dey use Docsify for documentation:
index.htmlna entry point- No need build - e dey serve directly via GitHub Pages
- Access am for: https://microsoft.github.io/AI-For-Beginners/
Contributing Guidelines
Pull Request Process
- Title Format: Use clear, descriptive titles wey explain wetin you change
- CLA Requirement: Microsoft CLA must dey signed (automated check)
- Content Guidelines:
- Keep am educational and beginner-friendly
- Test all code examples for notebooks
- Make sure notebooks dey run from start to finish
- Update translations if you change English content
- Quiz App Changes: Run
npm run lintbefore you commit
Translation Contributions
- Translations dey automated via GitHub Actions wey dey use co-op-translator
- Manual translations dey go
translations/<language-code>/ - Quiz translations dey for
etc/quiz-app/src/assets/translations/ - Supported languages: 40+ languages (check README for full list)
Active Contribution Areas
Check etc/CONTRIBUTING.md for current needs:
- Deep Reinforcement Learning sections
- Object Detection improvements
- Named Entity Recognition examples
- Custom embedding training samples
Environment Configuration
Required Dependencies
# Core Python packages (from requirements.txt)
tensorflow==2.17.0
torch (via conda)
torchvision (via conda)
keras==3.5.0
opencv (via conda)
scikit-learn
numpy==1.26
pandas==2.2.2
matplotlib==3.9
jupyter
Environment Variables
No special environment variables dey required for basic usage.
For Azure deployments (quiz app):
AZURE_STATIC_WEB_APPS_API_TOKEN(Azure go set am automatically)
Debugging and Troubleshooting
Common Issues
Issue: Conda environment creation no work
- Solution: Update conda first:
conda update conda -y - Make sure say you get enough disk space (50GB recommended)
Issue: Jupyter kernel no dey
- Solution:
conda activate ai4beg python -m ipykernel install --user --name ai4beg
Issue: GPU no dey show for notebooks
- Solution:
- Check CUDA installation:
nvidia-smi - Check PyTorch GPU:
python -c "import torch; print(torch.cuda.is_available())" - Check TensorFlow GPU:
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
- Check CUDA installation:
Issue: Quiz app no dey start
- Solution:
cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve
Issue: Binder dey timeout or block downloads
- Solution: Use GitHub Codespaces or local setup for better resources
Memory Issues
Some lessons dey need plenty RAM (8GB+ recommended):
- Use cloud VMs for lessons wey dey need plenty resources
- Close other apps when you dey train models
- Reduce batch sizes for notebooks if memory dey finish
Additional Notes
For Course Instructors
- Check
lessons/0-course-setup/for-teachers.mdfor teaching guidance - Lessons dey self-contained and you fit teach am one by one or follow sequence
- Estimated time: 12 weeks at 2 lessons per week
Cloud Resources
- Azure for Students: Free credits dey available for students
- Microsoft Learn: Supplementary learning paths dey linked throughout
- Binder: Free but e get limited resources and some network restrictions
Code Execution Options
- Local (Recommended): Full control, best performance, GPU support
- GitHub Codespaces: Cloud-based VS Code, good for quick access
- Binder: Browser-based Jupyter, free but limited
- Azure ML Notebooks: Enterprise option with GPU support
- Google Colab: Upload notebooks one by one, free GPU tier dey available
Working with Notebooks
- Notebooks dey designed to run cell-by-cell for learning
- Many notebooks dey download datasets for first run (e fit take time)
- Some models dey need GPU for better training time
- Pre-trained models dey use where e dey possible to reduce compute requirements
Performance Considerations
- Later computer vision lessons (CNNs, GANs) go benefit from GPU
- NLP transformer lessons fit need plenty RAM
- Training from scratch dey educational but e dey take time
- Transfer learning examples dey reduce training time
Disclaimer:
Dis docu don dey translate wit AI translation service Co-op Translator. Even though we dey try make am accurate, abeg sabi say automatic translation fit get mistake or no correct well. Di original docu for di native language na di main correct source. For important information, e better make una use professional human translation. We no go fit take blame for any misunderstanding or wrong interpretation wey fit happen because of dis translation.