SkillSync / TESTING_GUIDE.md
Chaitanya895's picture
Added all updated files
e29e4c8
# πŸš€ Quick Start Guide - Testing ML Features
## Installation & Setup
### 1. Install Dependencies
```bash
cd SkillSync
pip install -r requirements.txt
```
**Note:** First-time setup will download ~750MB of ML models automatically.
### 2. Run the Application
```bash
python app.py
```
The app will start on `http://localhost:7860` (or port 5000)
---
## πŸ§ͺ Testing the New Features
### Feature 1: AI Resume Scorer πŸ€–
1. **Login as Intern:**
- Email: `alice.smith@example.com`
- Password: `password`
2. **Navigate:** Dashboard β†’ "πŸ€– AI Resume Scorer"
3. **Test Cases:**
- **Without Job Description:** Get baseline score
- **With Job Description:** Paste a job posting to get targeted score
**Expected Output:**
- Total score (0-100%)
- Grade (A+ to D)
- Breakdown: Completeness, Skills Depth, Experience Quality, Job Match
- Recommendations for improvement
- Skills count (technical & soft)
---
### Feature 2: Success Predictor 🎯
1. **From Dashboard:** Find any internship card
2. **Click:** "🎯 Predict Success" button
3. **Review:**
- Success probability (0-100%)
- Prediction (Likely/Unlikely)
- Confidence level
- Personalized recommendations
**Test Different Scenarios:**
- High match (>75% similarity) β†’ High success probability
- Medium match (50-75%) β†’ Medium success probability
- Low match (<50%) β†’ Low success probability
---
### Feature 3: Learning Path Generator πŸŽ“
1. **Navigate:** Dashboard β†’ "πŸŽ“ Learning Path"
2. **Test Two Ways:**
**Option A: Target Role**
```
Target Role: "Full Stack Developer"
Submit
```
**Option B: Target Internship**
```
Select an internship from dropdown
Submit
```
**Expected Output:**
- Missing skills categorized (Beginner/Intermediate/Advanced)
- Course recommendations with links to:
- Coursera
- Udemy
- YouTube
- Official Docs
- Estimated time per skill
- Learning tips
---
### Feature 4: AI Career Chatbot πŸ’¬
1. **Navigate:** Dashboard β†’ "πŸ’¬ AI Career Chat"
2. **Test Questions:**
```
"How do I write a good resume?"
"How do I prepare for interviews?"
"What skills should I learn?"
"How do I negotiate salary?"
"How do I plan my career?"
```
3. **Or Use Quick Buttons:** Click any pre-defined question
**Expected Output:**
- Detailed, contextual responses
- Bullet points with actionable advice
- Links to platform features
---
### Feature 5: Enhanced ATS Insights πŸ“ˆ
1. **Navigate:** Dashboard β†’ "ATS Insights"
2. **Paste Job Description:**
```
We are looking for a Python developer with experience in
machine learning, data analysis, and cloud computing.
Candidates should have strong problem-solving skills and
experience with TensorFlow or PyTorch.
```
3. **Submit**
**Expected Output:**
- Keyword Match Score (traditional)
- Semantic Match Score (NEW - AI-powered)
- Missing keywords
- Improvement tips
**Compare:**
- Without ML: Only keyword matching
- With ML: Deep semantic understanding
---
### Feature 6: Enhanced Mock Interview 🎀
1. **Navigate:** Dashboard β†’ "Mock Interview"
2. **Select Question:** "Describe a challenge you faced"
3. **Provide Response:**
```
In my previous internship, I faced a situation where our
database queries were extremely slow. My task was to optimize
them. I analyzed the query patterns, added proper indexes,
and implemented caching. As a result, we reduced query time
by 60% and improved application performance significantly.
```
4. **Submit**
**Expected Output:**
- Score (0-100%)
- Grade
- Detailed metrics:
- Word count
- Readability score
- Sentiment analysis
- STAR method detection
- Technical terms found
- Specific feedback
---
### Feature 7: Semantic Matching in Dashboard 🎯
**Automatic Feature** - No separate testing needed
**How to Observe:**
1. **Login as different interns:**
- Alice (Python, ML) β†’ Matches ML internships
- Bob (JavaScript, React) β†’ Matches frontend internships
2. **Compare Scores:**
- Old: Exact keyword match only
- New: Semantic understanding
**Example:**
```
User has: "machine learning experience"
Job requires: "AI and neural networks"
Old Match: 0% (no common keywords)
New Match: 85% (semantically similar)
```
---
## πŸ§ͺ Advanced Testing
### Test ML Model Loading
```bash
# Check logs
cat /tmp/logs/app.log | grep "ML"
```
**Expected:**
```
[INFO] Advanced ML features loaded successfully
[INFO] Semantic model loaded successfully
[INFO] Sentiment analyzer loaded successfully
[INFO] NER model loaded successfully
```
### Test Fallback Mode
1. **Temporarily break ML:**
- Rename `ml_utils.py` to `ml_utils_backup.py`
- Restart app
2. **Verify:**
- Dashboard still works
- Basic matching still functions
- Warning in logs: "ML features not available"
3. **Restore:**
- Rename back to `ml_utils.py`
- Restart app
---
## πŸ“Š Performance Testing
### Model Loading Time
```python
import time
from ml_utils import get_semantic_model
start = time.time()
model = get_semantic_model()
print(f"Load time: {time.time() - start:.2f}s")
```
**Expected:** 2-5 seconds on first load, <0.1s on subsequent calls
### Semantic Similarity Speed
```python
from ml_utils import semantic_similarity
text1 = "Python programming and machine learning"
text2 = "Software development with AI"
start = time.time()
score = semantic_similarity(text1, text2)
print(f"Similarity: {score:.3f}, Time: {(time.time() - start)*1000:.1f}ms")
```
**Expected:** <100ms per comparison
---
## πŸ› Troubleshooting
### Issue: Models not downloading
**Solution:**
```bash
export TRANSFORMERS_CACHE=/tmp/hf_cache
mkdir -p /tmp/hf_cache
```
### Issue: Out of memory
**Symptoms:** App crashes when loading models
**Solution:**
- Ensure at least 2GB free RAM
- Close other applications
- Use CPU instead of GPU (already configured)
### Issue: Slow performance
**Check:**
```bash
# Verify models are cached
ls -lh /tmp/hf_cache
```
**Should see:** ~750MB of cached models
### Issue: "ML features not available"
**Debug:**
```python
python -c "from ml_utils import ML_FEATURES_ENABLED; print(ML_FEATURES_ENABLED)"
```
**If False:**
- Check `pip install -r requirements.txt` completed
- Check logs for import errors
- Verify all dependencies installed
---
## 🎯 Success Criteria
### βœ… All Features Working When:
1. **Dashboard loads** with ML-powered buttons visible
2. **AI Resume Scorer** returns scores with recommendations
3. **Success Predictor** shows probability for each internship
4. **Learning Path** generates personalized courses
5. **AI Chatbot** provides contextual responses
6. **ATS Insights** shows both keyword and semantic scores
7. **Mock Interview** provides detailed NLP analysis
8. **Semantic matching** shows improved similarity scores
---
## πŸ“ Test User Accounts
### Interns
```
Alice Smith
Email: alice.smith@example.com
Password: password
Skills: Python, Java, SQL, TensorFlow
```
```
Bob Johnson
Email: bob.johnson@example.com
Password: password
Skills: JavaScript, React, Node.js
```
### Recruiters
```
Emma Wilson (TechCorp)
Email: emma.wilson@techcorp.com
Password: password
```
### Admin
```
Admin User
Email: admin@example.com
Password: password
```
---
## πŸš€ Next Steps
After testing all features:
1. **Customize ML Models:**
- Train on your own data
- Fine-tune for your domain
2. **Add More Features:**
- Speech-to-text interview
- Video interview analysis
- Collaborative filtering
3. **Scale:**
- Use GPU for faster inference
- Cache embeddings in database
- Load balance multiple instances
4. **Monitor:**
- Track model performance
- Log user interactions
- A/B test ML vs traditional
---
## πŸ“§ Support
If you encounter issues:
1. Check `/tmp/logs/app.log`
2. Verify requirements.txt installed
3. Ensure internet connection for model downloads
4. Check disk space (~1GB free needed)
---
**Happy Testing! πŸŽ‰**
All ML features are production-ready and thoroughly tested.