ai-programming-tutor / src /DEPLOYMENT.md
FaroukTomori's picture
Upload 7 files
5fffedf verified

πŸš€ Deployment Guide: Hugging Face Spaces

Quick Start (5 minutes)

Step 1: Prepare Your Repository

  1. Create a GitHub repository with your project files
  2. Upload all files from this directory to your GitHub repo
  3. Make sure you have:
    • app.py (main Streamlit app)
    • fine.py (AI tutor implementation)
    • requirements.txt (dependencies)
    • README.md (documentation)

Step 2: Create Hugging Face Space

  1. Go to huggingface.co/spaces
  2. Click "Create new Space"
  3. Fill in the details:
    • Owner: Your HF username
    • Space name: ai-programming-tutor
    • License: Choose appropriate license
    • SDK: Select Streamlit
    • Python version: 3.10
  4. Click "Create Space"

Step 3: Connect Your Repository

  1. In your Space settings, go to "Repository" tab
  2. Select "GitHub repository"
  3. Choose your GitHub repository
  4. Set the main file to app.py
  5. Click "Save"

Step 4: Upload Your Fine-tuned Model

  1. In your Space, go to "Files" tab
  2. Create a folder called model
  3. Upload your fine-tuned model files:
    • model-00001-of-00006.safetensors
    • model-00002-of-00006.safetensors
    • model-00003-of-00006.safetensors
    • model-00004-of-00006.safetensors
    • model-00005-of-00006.safetensors
    • model-00006-of-00006.safetensors
    • config.json
    • tokenizer.json
    • tokenizer.model
    • tokenizer_config.json
    • special_tokens_map.json
    • generation_config.json

Step 5: Update Model Path

  1. Edit app.py in your Space
  2. Change the model path to:
    model_path = "./model"  # Path to uploaded model
    
  3. Save the changes

Step 6: Deploy

  1. Your Space will automatically build and deploy
  2. Wait for the build to complete (5-10 minutes)
  3. Your app will be live at: https://huggingface.co/spaces/YOUR_USERNAME/ai-programming-tutor

🎯 Advanced Configuration

Hardware Settings

  • CPU: Default (sufficient for inference)
  • GPU: T4 (recommended for faster inference)
  • Memory: 16GB+ (required for 7B model)

Environment Variables

Add these in your Space settings:

TOKENIZERS_PARALLELISM=false
DATASETS_DISABLE_MULTIPROCESSING=1

Custom Domain (Optional)

  1. In Space settings, go to "Settings" tab
  2. Enable "Custom domain"
  3. Add your domain (e.g., tutor.yourdomain.com)

πŸ”§ Troubleshooting

Common Issues

Issue: Model not loading

  • Solution: Check model path and file structure
  • Debug: Look at Space logs in "Settings" β†’ "Logs"

Issue: Out of memory

  • Solution: Upgrade to GPU hardware
  • Alternative: Use demo mode

Issue: Build fails

  • Solution: Check requirements.txt for missing dependencies
  • Debug: Review build logs

Performance Optimization

  1. Enable GPU in Space settings
  2. Use model quantization for faster inference
  3. Implement caching for repeated requests
  4. Add rate limiting to prevent abuse

πŸ“Š Monitoring

Usage Analytics

  • View usage in Space settings
  • Monitor performance with built-in metrics
  • Track user engagement through logs

Cost Management

  • Free tier: 16 hours/month GPU time
  • Pro tier: $9/month for unlimited GPU
  • Enterprise: Custom pricing

🌐 Sharing Your App

Public Access

  1. Set Space to public in settings
  2. Share the URL with users
  3. Add to HF Spaces showcase

Embedding

<iframe
  src="https://huggingface.co/spaces/YOUR_USERNAME/ai-programming-tutor"
  width="100%"
  height="800px"
  frameborder="0"
></iframe>

πŸ”’ Security Considerations

  1. Input validation for code submissions
  2. Rate limiting to prevent abuse
  3. Content filtering for inappropriate code
  4. User authentication (optional)

πŸ“ˆ Scaling

For High Traffic

  1. Upgrade to Pro tier for unlimited GPU
  2. Implement caching with Redis
  3. Use load balancing for multiple instances
  4. Monitor performance and optimize

For Production Use

  1. Add user authentication
  2. Implement logging and analytics
  3. Set up monitoring and alerts
  4. Create backup and recovery procedures

πŸŽ‰ Success!

Your AI Programming Tutor is now live and accessible to students worldwide!

Next steps:

  1. Test thoroughly with different code examples
  2. Gather user feedback and iterate
  3. Share with your target audience
  4. Monitor usage and improve based on data

πŸ“ž Support