AI-For-Beginners/translations/pcm/AGENTS.md

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

  1. Local Development:

    • Activate conda environment: conda activate ai4beg
    • Start Jupyter: jupyter notebook or jupyter lab
    • Go lesson folders and open .ipynb files
    • Run cells one by one to follow lessons
  2. VS Code with Python Extension:

    • Open repository for VS Code
    • Install Python extension
    • VS Code go detect and use conda environment automatically
    • Open .ipynb files directly for VS Code
  3. 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:

  1. Jupyter Notebooks: Run cells one by one to confirm say code examples dey work
  2. Quiz App Testing: Test am manually with development server
  3. Translation Validation: Check translated content for translations/ folder
  4. Quiz App Linting: npm run lint for etc/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 lint to 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:

Contributing Guidelines

Pull Request Process

  1. Title Format: Use clear, descriptive titles wey explain wetin you change
  2. CLA Requirement: Microsoft CLA must dey signed (automated check)
  3. 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
  4. Quiz App Changes: Run npm run lint before 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'))"

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.md for 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

  1. Local (Recommended): Full control, best performance, GPU support
  2. GitHub Codespaces: Cloud-based VS Code, good for quick access
  3. Binder: Browser-based Jupyter, free but limited
  4. Azure ML Notebooks: Enterprise option with GPU support
  5. 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.