Spaces:
Sleeping
Sleeping
Commit
·
9cd91d8
1
Parent(s):
d558ce2
docs: adds planning docs to track changes
Browse files- docs/implementation_plan.md +365 -0
- docs/initial_plan.md +149 -0
- docs/research_plan.md +62 -0
docs/implementation_plan.md
ADDED
|
@@ -0,0 +1,365 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# FOT Intervention Recommender
|
| 2 |
+
## Detailed Implementation Plan
|
| 3 |
+
|
| 4 |
+
---
|
| 5 |
+
|
| 6 |
+
## Overview
|
| 7 |
+
|
| 8 |
+
This implementation plan transforms the strategic project plan into executable phases, with specific tasks, deliverables, and success criteria for building the working proof-of-concept.
|
| 9 |
+
|
| 10 |
+
**Total Estimated Time**: 8-12 hours (spread over 3-5 days)
|
| 11 |
+
**Primary Deliverable**: Google Colab Notebook with working RAG system
|
| 12 |
+
|
| 13 |
+
---
|
| 14 |
+
|
| 15 |
+
## Phase 0: Environment Setup & Resource Gathering
|
| 16 |
+
**Duration**: 1-2 hours
|
| 17 |
+
**Goal**: Establish development environment and collect all source materials
|
| 18 |
+
|
| 19 |
+
### Tasks
|
| 20 |
+
|
| 21 |
+
#### 0.1 Development Environment Setup
|
| 22 |
+
- [ ] Create new Google Colab notebook: "FOT_Intervention_Recommender"
|
| 23 |
+
- [ ] Install required libraries in first cell:
|
| 24 |
+
```python
|
| 25 |
+
!pip install sentence-transformers faiss-cpu langchain pandas pymupdf pdfplumber transformers
|
| 26 |
+
```
|
| 27 |
+
- [ ] Import necessary libraries and test basic functionality
|
| 28 |
+
- [ ] Set up file organization structure in Colab
|
| 29 |
+
|
| 30 |
+
#### 0.2 Source Material Collection
|
| 31 |
+
- [ ] **Extract FOT Toolkit pages 43-68**:
|
| 32 |
+
- Use PDF splitter tool to extract specific pages
|
| 33 |
+
- Save as separate PDF: "FOT_Toolkit_ToolSetC.pdf"
|
| 34 |
+
- Upload to Colab files section
|
| 35 |
+
|
| 36 |
+
- [ ] **Download 5 external sources**:
|
| 37 |
+
- [ ] Check & Connect materials (search UMN website)
|
| 38 |
+
- [ ] Download UChicago GPA research PDF
|
| 39 |
+
- [ ] Save REL chronic absenteeism resources
|
| 40 |
+
- [ ] Get Success for All intervention guides
|
| 41 |
+
- [ ] Download NCSSLE discipline disparities guide
|
| 42 |
+
|
| 43 |
+
#### 0.3 Quick Content Reconnaissance
|
| 44 |
+
- [ ] Scan each document to identify:
|
| 45 |
+
- Simple text pages (for PyMuPDF)
|
| 46 |
+
- Complex table pages (for pdfplumber)
|
| 47 |
+
- Multi-column/flowchart pages (for manual extraction initially)
|
| 48 |
+
- [ ] Create a "document complexity map" for processing strategy
|
| 49 |
+
|
| 50 |
+
### Success Criteria
|
| 51 |
+
- ✅ Colab environment running with all dependencies
|
| 52 |
+
- ✅ All 6 source documents collected and uploaded
|
| 53 |
+
- ✅ Basic understanding of each document's structure and complexity
|
| 54 |
+
|
| 55 |
+
---
|
| 56 |
+
|
| 57 |
+
## Phase 1: Knowledge Base Construction
|
| 58 |
+
**Duration**: 3-4 hours
|
| 59 |
+
**Goal**: Extract, process, and structure content into RAG-ready knowledge base
|
| 60 |
+
|
| 61 |
+
### Tasks
|
| 62 |
+
|
| 63 |
+
#### 1.1 Content Extraction (Hybrid Approach)
|
| 64 |
+
- [ ] **Implement PyMuPDF extraction**:
|
| 65 |
+
```python
|
| 66 |
+
import fitz # PyMuPDF
|
| 67 |
+
def extract_simple_text(pdf_path, page_range):
|
| 68 |
+
# Extract text from simple pages
|
| 69 |
+
pass
|
| 70 |
+
```
|
| 71 |
+
|
| 72 |
+
- [ ] **Implement pdfplumber for tables**:
|
| 73 |
+
```python
|
| 74 |
+
import pdfplumber
|
| 75 |
+
def extract_table_data(pdf_path, page_numbers):
|
| 76 |
+
# Extract structured table data
|
| 77 |
+
pass
|
| 78 |
+
```
|
| 79 |
+
|
| 80 |
+
- [ ] **Manual extraction for complex pages**:
|
| 81 |
+
- Identify 3-5 most critical complex pages
|
| 82 |
+
- Manually transcribe key intervention details
|
| 83 |
+
- Focus on flowcharts and multi-column layouts
|
| 84 |
+
|
| 85 |
+
#### 1.2 Content Processing & Standardization
|
| 86 |
+
- [ ] **Create intervention extraction function**:
|
| 87 |
+
```python
|
| 88 |
+
def extract_interventions(raw_text, source_doc):
|
| 89 |
+
"""Extract structured intervention data"""
|
| 90 |
+
interventions = []
|
| 91 |
+
# Parse for intervention name, description, steps, target indicators
|
| 92 |
+
return interventions
|
| 93 |
+
```
|
| 94 |
+
|
| 95 |
+
- [ ] **Process each document**:
|
| 96 |
+
- FOT Toolkit Tool Set C → Core intervention framework
|
| 97 |
+
- Check & Connect → Mentoring strategies
|
| 98 |
+
- UChicago Research → Rationale and evidence base
|
| 99 |
+
- REL Resources → Attendance strategies
|
| 100 |
+
- Success for All → Comprehensive approaches
|
| 101 |
+
- NCSSLE Guide → Behavioral interventions
|
| 102 |
+
|
| 103 |
+
#### 1.3 Knowledge Base Structuring
|
| 104 |
+
- [ ] **Create standardized intervention format**:
|
| 105 |
+
```python
|
| 106 |
+
intervention_schema = {
|
| 107 |
+
"id": str,
|
| 108 |
+
"name": str,
|
| 109 |
+
"description": str,
|
| 110 |
+
"implementation_steps": List[str],
|
| 111 |
+
"target_indicators": List[str], # credits, attendance, behavior
|
| 112 |
+
"evidence_level": str,
|
| 113 |
+
"source_document": str,
|
| 114 |
+
"educator_guidance": str
|
| 115 |
+
}
|
| 116 |
+
```
|
| 117 |
+
|
| 118 |
+
- [ ] **Implement semantic chunking**:
|
| 119 |
+
- Chunk by intervention type (300-500 words)
|
| 120 |
+
- Add 50-word overlap between chunks
|
| 121 |
+
- Create metadata tags for each chunk
|
| 122 |
+
|
| 123 |
+
### Success Criteria
|
| 124 |
+
- ✅ All documents successfully processed using appropriate extraction method
|
| 125 |
+
- ✅ 20+ distinct interventions identified and structured
|
| 126 |
+
- ✅ Standardized data format with consistent metadata
|
| 127 |
+
- ✅ Quality validation: random sample review shows accurate extraction
|
| 128 |
+
|
| 129 |
+
---
|
| 130 |
+
|
| 131 |
+
## Phase 2: RAG Pipeline Implementation
|
| 132 |
+
**Duration**: 2-3 hours
|
| 133 |
+
**Goal**: Build and test the core RAG functionality
|
| 134 |
+
|
| 135 |
+
### Tasks
|
| 136 |
+
|
| 137 |
+
#### 2.1 Vector Embedding Setup
|
| 138 |
+
- [ ] **Initialize embedding model**:
|
| 139 |
+
```python
|
| 140 |
+
from sentence_transformers import SentenceTransformer
|
| 141 |
+
model = SentenceTransformer('all-MiniLM-L6-v2')
|
| 142 |
+
```
|
| 143 |
+
|
| 144 |
+
- [ ] **Create embeddings for knowledge base**:
|
| 145 |
+
```python
|
| 146 |
+
def create_embeddings(intervention_chunks):
|
| 147 |
+
embeddings = model.encode(intervention_chunks)
|
| 148 |
+
return embeddings
|
| 149 |
+
```
|
| 150 |
+
|
| 151 |
+
- [ ] **Set up FAISS vector database**:
|
| 152 |
+
```python
|
| 153 |
+
import faiss
|
| 154 |
+
def create_vector_db(embeddings):
|
| 155 |
+
dimension = embeddings.shape[1]
|
| 156 |
+
index = faiss.IndexFlatIP(dimension) # Inner product for similarity
|
| 157 |
+
index.add(embeddings)
|
| 158 |
+
return index
|
| 159 |
+
```
|
| 160 |
+
|
| 161 |
+
#### 2.2 Retrieval System
|
| 162 |
+
- [ ] **Implement semantic search**:
|
| 163 |
+
```python
|
| 164 |
+
def search_interventions(query, index, intervention_data, k=3):
|
| 165 |
+
query_embedding = model.encode([query])
|
| 166 |
+
scores, indices = index.search(query_embedding, k)
|
| 167 |
+
return [(intervention_data[i], scores[0][idx]) for idx, i in enumerate(indices[0])]
|
| 168 |
+
```
|
| 169 |
+
|
| 170 |
+
- [ ] **Test retrieval with sample queries**:
|
| 171 |
+
- "Student failing core classes and missing school"
|
| 172 |
+
- "Attendance problems and behavioral issues"
|
| 173 |
+
- "Low credits earned, needs academic support"
|
| 174 |
+
|
| 175 |
+
#### 2.3 Response Generation
|
| 176 |
+
- [ ] **Create educator-friendly formatter**:
|
| 177 |
+
```python
|
| 178 |
+
def format_recommendations(retrieved_interventions, student_profile):
|
| 179 |
+
formatted_response = []
|
| 180 |
+
for intervention, score in retrieved_interventions:
|
| 181 |
+
recommendation = {
|
| 182 |
+
"intervention_name": intervention["name"],
|
| 183 |
+
"rationale": f"Recommended because: {explain_match(intervention, student_profile)}",
|
| 184 |
+
"implementation_steps": intervention["implementation_steps"],
|
| 185 |
+
"source": intervention["source_document"],
|
| 186 |
+
"confidence_score": score
|
| 187 |
+
}
|
| 188 |
+
formatted_response.append(recommendation)
|
| 189 |
+
return formatted_response
|
| 190 |
+
```
|
| 191 |
+
|
| 192 |
+
### Success Criteria
|
| 193 |
+
- ✅ Vector database successfully created with all intervention embeddings
|
| 194 |
+
- ✅ Semantic search returns relevant results for test queries
|
| 195 |
+
- ✅ Response format is educator-friendly with clear implementation guidance
|
| 196 |
+
- ✅ Source citations are properly maintained throughout pipeline
|
| 197 |
+
|
| 198 |
+
---
|
| 199 |
+
|
| 200 |
+
## Phase 3: System Integration & Testing
|
| 201 |
+
**Duration**: 1-2 hours
|
| 202 |
+
**Goal**: End-to-end testing with provided student profile
|
| 203 |
+
|
| 204 |
+
### Tasks
|
| 205 |
+
|
| 206 |
+
#### 3.1 End-to-End Pipeline Integration
|
| 207 |
+
- [ ] **Create main recommendation function**:
|
| 208 |
+
```python
|
| 209 |
+
def get_fot_recommendations(student_profile_narrative):
|
| 210 |
+
# 1. Process student narrative
|
| 211 |
+
# 2. Perform semantic search
|
| 212 |
+
# 3. Retrieve top 3 interventions
|
| 213 |
+
# 4. Format for educators
|
| 214 |
+
# 5. Return structured recommendations
|
| 215 |
+
pass
|
| 216 |
+
```
|
| 217 |
+
|
| 218 |
+
#### 3.2 Testing with Sample Student Profile
|
| 219 |
+
- [ ] **Test with provided profile**:
|
| 220 |
+
```python
|
| 221 |
+
sample_student = """This student is struggling to keep up with coursework,
|
| 222 |
+
having failed one core class and earning only 2.5 credits out of 4 credits
|
| 223 |
+
expected for the semester. Attendance is becoming a concern at 88% for an
|
| 224 |
+
average annual target of 90%, and they have had one behavioral incident.
|
| 225 |
+
The student needs targeted academic and attendance support to get back on
|
| 226 |
+
track for graduation."""
|
| 227 |
+
|
| 228 |
+
recommendations = get_fot_recommendations(sample_student)
|
| 229 |
+
```
|
| 230 |
+
|
| 231 |
+
#### 3.3 Quality Validation & Refinement
|
| 232 |
+
- [ ] **Evaluate recommendation quality**:
|
| 233 |
+
- Do recommendations address student's specific risk factors?
|
| 234 |
+
- Are implementation steps clear and actionable?
|
| 235 |
+
- Are source citations accurate and helpful?
|
| 236 |
+
|
| 237 |
+
- [ ] **Refine retrieval if needed**:
|
| 238 |
+
- Adjust embedding model parameters
|
| 239 |
+
- Modify chunking strategy if results are poor
|
| 240 |
+
- Fine-tune response formatting
|
| 241 |
+
|
| 242 |
+
### Success Criteria
|
| 243 |
+
- ✅ End-to-end pipeline processes student profile successfully
|
| 244 |
+
- ✅ Returns exactly 3 relevant intervention recommendations
|
| 245 |
+
- ✅ Each recommendation includes implementation steps and source citation
|
| 246 |
+
- ✅ Recommendations directly address student's risk factors (credits, attendance, behavior)
|
| 247 |
+
|
| 248 |
+
---
|
| 249 |
+
|
| 250 |
+
## Phase 4: Documentation & Presentation Preparation
|
| 251 |
+
**Duration**: 1-2 hours
|
| 252 |
+
**Goal**: Create clear notebook documentation and prepare for video presentation
|
| 253 |
+
|
| 254 |
+
### Tasks
|
| 255 |
+
|
| 256 |
+
#### 4.1 Colab Notebook Documentation
|
| 257 |
+
- [ ] **Add comprehensive markdown cells**:
|
| 258 |
+
- Project overview and goals
|
| 259 |
+
- Knowledge base composition and rationale
|
| 260 |
+
- Technical architecture explanation
|
| 261 |
+
- Step-by-step process documentation
|
| 262 |
+
|
| 263 |
+
- [ ] **Code documentation**:
|
| 264 |
+
- Add docstrings to all functions
|
| 265 |
+
- Include inline comments for complex logic
|
| 266 |
+
- Add example usage for key functions
|
| 267 |
+
|
| 268 |
+
#### 4.2 Demonstration Preparation
|
| 269 |
+
- [ ] **Create demonstration workflow**:
|
| 270 |
+
- Show knowledge base construction process
|
| 271 |
+
- Demonstrate search functionality with different queries
|
| 272 |
+
- Walk through the sample student profile analysis
|
| 273 |
+
- Display formatted recommendations
|
| 274 |
+
|
| 275 |
+
- [ ] **Prepare talking points for video**:
|
| 276 |
+
- Project value proposition (30 seconds)
|
| 277 |
+
- Technical approach overview (60 seconds)
|
| 278 |
+
- Live demonstration (2 minutes)
|
| 279 |
+
- Next steps and product vision (90 seconds)
|
| 280 |
+
|
| 281 |
+
### Success Criteria
|
| 282 |
+
- ✅ Notebook is well-documented with clear explanations
|
| 283 |
+
- ✅ All code cells execute successfully from top to bottom
|
| 284 |
+
- ✅ Demonstration workflow is smooth and highlights key features
|
| 285 |
+
- ✅ Ready for 5-minute video recording
|
| 286 |
+
|
| 287 |
+
---
|
| 288 |
+
|
| 289 |
+
## Phase 5: Bonus Features (Optional)
|
| 290 |
+
**Duration**: 2-4 hours
|
| 291 |
+
**Goal**: Implement advanced features to differentiate the solution
|
| 292 |
+
|
| 293 |
+
### Option A: API Microservice (Bonus 1)
|
| 294 |
+
- [ ] **Create FastAPI application**:
|
| 295 |
+
```python
|
| 296 |
+
from fastapi import FastAPI
|
| 297 |
+
app = FastAPI(title="FOT Intervention Recommender")
|
| 298 |
+
|
| 299 |
+
@app.post("/recommend")
|
| 300 |
+
async def get_recommendations(student_narrative: str):
|
| 301 |
+
return get_fot_recommendations(student_narrative)
|
| 302 |
+
```
|
| 303 |
+
|
| 304 |
+
- [ ] **Containerize with Docker**
|
| 305 |
+
- [ ] **Create deployment documentation**
|
| 306 |
+
|
| 307 |
+
### Option B: Persona-Based Recommendations (Bonus 2)
|
| 308 |
+
- [ ] **Implement persona-specific prompts**:
|
| 309 |
+
```python
|
| 310 |
+
def generate_persona_recommendations(interventions, persona):
|
| 311 |
+
# Teacher: Classroom-focused, actionable steps
|
| 312 |
+
# Parent: Supportive language, home-based strategies
|
| 313 |
+
# Principal: Resource requirements, systemic approach
|
| 314 |
+
pass
|
| 315 |
+
```
|
| 316 |
+
|
| 317 |
+
### Success Criteria (if attempted)
|
| 318 |
+
- ✅ Bonus feature fully functional and demonstrated
|
| 319 |
+
- ✅ Added value is clear and well-articulated
|
| 320 |
+
- ✅ Implementation quality matches core system standards
|
| 321 |
+
|
| 322 |
+
---
|
| 323 |
+
|
| 324 |
+
## Risk Mitigation Strategies
|
| 325 |
+
|
| 326 |
+
### Technical Risks
|
| 327 |
+
- **Complex PDF extraction fails**: Fall back to manual extraction for critical pages
|
| 328 |
+
- **Poor embedding quality**: Test alternative models (e.g., `all-mpnet-base-v2`)
|
| 329 |
+
- **Retrieval returns irrelevant results**: Adjust chunking strategy or add filtering
|
| 330 |
+
|
| 331 |
+
### Time Management Risks
|
| 332 |
+
- **Document processing takes too long**: Prioritize FOT Toolkit + 2 highest-quality external sources
|
| 333 |
+
- **Perfectionism trap**: Focus on working MVP first, refinements second
|
| 334 |
+
- **Scope creep**: Stick to core deliverables, save enhancements for bonus phase
|
| 335 |
+
|
| 336 |
+
### Quality Risks
|
| 337 |
+
- **Recommendations not educator-friendly**: Test format with simple language review
|
| 338 |
+
- **Source citations missing**: Implement citation tracking from extraction phase
|
| 339 |
+
- **System doesn't handle edge cases**: Build in error handling and fallback responses
|
| 340 |
+
|
| 341 |
+
---
|
| 342 |
+
|
| 343 |
+
## Daily Execution Schedule
|
| 344 |
+
|
| 345 |
+
### Day 1 (2-3 hours)
|
| 346 |
+
- Complete Phase 0: Setup & Resource Gathering
|
| 347 |
+
- Begin Phase 1: Start content extraction
|
| 348 |
+
|
| 349 |
+
### Day 2 (3-4 hours)
|
| 350 |
+
- Complete Phase 1: Finish knowledge base construction
|
| 351 |
+
- Begin Phase 2: Start RAG implementation
|
| 352 |
+
|
| 353 |
+
### Day 3 (2-3 hours)
|
| 354 |
+
- Complete Phase 2: Finish RAG pipeline
|
| 355 |
+
- Complete Phase 3: Testing and validation
|
| 356 |
+
|
| 357 |
+
### Day 4 (1-2 hours)
|
| 358 |
+
- Complete Phase 4: Documentation and prep
|
| 359 |
+
- Optional: Begin bonus features
|
| 360 |
+
|
| 361 |
+
### Day 5 (Optional, 2-4 hours)
|
| 362 |
+
- Phase 5: Bonus implementation
|
| 363 |
+
- Final testing and video recording
|
| 364 |
+
|
| 365 |
+
This implementation plan provides a clear roadmap from strategic vision to working prototype, balancing ambition with practical execution constraints.
|
docs/initial_plan.md
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Freshman On-Track Intervention Recommender
|
| 2 |
+
## Project Plan & Technical Design
|
| 3 |
+
|
| 4 |
+
---
|
| 5 |
+
|
| 6 |
+
## Problem Understanding
|
| 7 |
+
|
| 8 |
+
**Core Problem**: Freshman year performance is the strongest predictor of high school graduation, yet educators lack systematic tools to match at-risk 9th graders with evidence-based interventions. Currently, intervention selection relies on educator intuition rather than proven best practices, leading to inconsistent support for struggling students.
|
| 9 |
+
|
| 10 |
+
**Goal of this PoC**: Build a Retrieval-Augmented Generation (RAG) system that takes a student's on-track indicators (credits, attendance, behavioral flags) and automatically recommends the most relevant, evidence-based intervention strategies from a curated knowledge base of proven FOT practices.
|
| 11 |
+
|
| 12 |
+
**Value Proposition**: This system transforms scattered research into actionable guidance, enabling educators to quickly identify targeted interventions without requiring deep expertise in educational research. By democratizing access to best practices, we can systematically improve outcomes for at-risk freshmen.
|
| 13 |
+
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
## Proposed RAG Architecture
|
| 17 |
+
|
| 18 |
+
### Technical Stack & Rationale
|
| 19 |
+
|
| 20 |
+
**Programming Language**: Python
|
| 21 |
+
- Industry standard for ML/AI development
|
| 22 |
+
- Rich ecosystem of libraries for RAG implementation
|
| 23 |
+
- Rapid prototyping capabilities align with "bias for action" principle
|
| 24 |
+
|
| 25 |
+
**Core Libraries**:
|
| 26 |
+
- **LangChain**: Framework for RAG pipeline orchestration and prompt management
|
| 27 |
+
- **Sentence Transformers**: High-quality semantic embeddings optimized for educational content
|
| 28 |
+
- **FAISS**: Fast, in-memory vector search for PoC (Facebook AI Similarity Search)
|
| 29 |
+
- **Pandas**: Data processing and manipulation for knowledge base preparation
|
| 30 |
+
|
| 31 |
+
**Vector Embeddings**: `all-MiniLM-L6-v2` model
|
| 32 |
+
- Optimized for semantic similarity tasks
|
| 33 |
+
- Balanced performance vs. computational efficiency
|
| 34 |
+
- Strong performance on educational/instructional text
|
| 35 |
+
|
| 36 |
+
**Cloud Services** (Production Path):
|
| 37 |
+
- **Google Cloud Run**: Serverless, auto-scaling container deployment
|
| 38 |
+
- **Pinecone/Weaviate**: Managed vector database for production scale
|
| 39 |
+
- **Google Cloud Storage**: Document storage and versioning
|
| 40 |
+
|
| 41 |
+
### RAG Pipeline Architecture
|
| 42 |
+
|
| 43 |
+
1. **Knowledge Base Ingestion**: Extract and preprocess intervention documents
|
| 44 |
+
2. **Chunking Strategy**: Semantic chunking by intervention type and implementation steps
|
| 45 |
+
3. **Vector Embedding**: Transform text chunks into searchable vector representations
|
| 46 |
+
4. **Retrieval**: Take the narrative_summary_for_embedding from the student profile as the query. Perform semantic search against the vector database to retrieve the top 3 most relevant intervention chunks
|
| 47 |
+
5. **Synthesis**: Generate educator-friendly recommendations with source citations
|
| 48 |
+
|
| 49 |
+
### Alignment with Architectural Principles
|
| 50 |
+
|
| 51 |
+
- **RAG as Core**: Semantic search ensures recommendations are grounded in evidence-based research
|
| 52 |
+
- **Actionable for Educators**: Output format prioritizes clear, implementable steps over raw research
|
| 53 |
+
- **Startup Scale**: FAISS for PoC, cloud-native services for production scalability
|
| 54 |
+
- **Bias for Action**: Minimal viable architecture focused on core functionality first
|
| 55 |
+
|
| 56 |
+
---
|
| 57 |
+
|
| 58 |
+
## Knowledge Base & Data Processing Strategy
|
| 59 |
+
|
| 60 |
+
### Selected Best-Practice Documents
|
| 61 |
+
|
| 62 |
+
1. **FOT Toolkit - Tool Set C: Developing and Tracking Interventions** (Pages 43-68)
|
| 63 |
+
- *Primary Source*: Comprehensive intervention framework
|
| 64 |
+
- *Focus*: Systematic approach to intervention selection and tracking
|
| 65 |
+
|
| 66 |
+
2. **Check & Connect Intervention** (University of Minnesota/WWC)
|
| 67 |
+
- *Evidence Level*: Only dropout prevention program with WWC "Positive Effects" rating
|
| 68 |
+
- *Focus*: Structured mentoring for attendance and credit recovery
|
| 69 |
+
|
| 70 |
+
3. **Predictive Power of Ninth-Grade GPA** (University of Chicago Consortium)
|
| 71 |
+
- *Strategic Value*: Research foundation explaining why FOT interventions matter
|
| 72 |
+
- *Focus*: Data-driven rationale for early intervention
|
| 73 |
+
|
| 74 |
+
4. **Preventing Chronic Absence and Promoting Attendance** (REL Program)
|
| 75 |
+
- *Evidence Base*: Tiered, research-validated attendance strategies
|
| 76 |
+
- *Focus*: Family engagement, transportation, and systemic barriers
|
| 77 |
+
|
| 78 |
+
5. **Addressing Root Causes of Disparities in School Discipline** (NCSSLE)
|
| 79 |
+
- *Methodology*: Systematic root-cause analysis for behavioral interventions
|
| 80 |
+
- *Focus*: Data-driven behavioral support strategies
|
| 81 |
+
|
| 82 |
+
### Data Processing Strategy
|
| 83 |
+
|
| 84 |
+
**Content Extraction** (Hybrid Strategy):
|
| 85 |
+
- **Tier 1**: PyMuPDF (fitz) for rapid extraction of simple, single-column text pages
|
| 86 |
+
- **Tier 2**: pdfplumber for structured tabular data to preserve relational integrity
|
| 87 |
+
- **Tier 3**: Nougat (Meta AI) layout-aware model for complex multi-column layouts and flowcharts
|
| 88 |
+
- **Quality Assurance**: Manual review and validation of extracted content accuracy
|
| 89 |
+
|
| 90 |
+
**Chunking Approach**:
|
| 91 |
+
- **Semantic Chunking**: Break documents by intervention type, not arbitrary word limits
|
| 92 |
+
- **Chunk Size**: 300-500 words to maintain context while enabling precise retrieval
|
| 93 |
+
- **Overlap Strategy**: 50-word overlap to preserve cross-boundary context
|
| 94 |
+
- **Metadata Tagging**: Source document, intervention category, target indicators
|
| 95 |
+
|
| 96 |
+
**Content Preparation**:
|
| 97 |
+
- Standardize intervention descriptions with consistent format
|
| 98 |
+
- Extract key implementation steps and required resources
|
| 99 |
+
- Tag interventions by target risk factors (attendance, credits, behavior)
|
| 100 |
+
- Create intervention summaries optimized for educator consumption
|
| 101 |
+
|
| 102 |
+
---
|
| 103 |
+
|
| 104 |
+
## AI as a Co-pilot Strategy
|
| 105 |
+
|
| 106 |
+
### Development Acceleration
|
| 107 |
+
|
| 108 |
+
**GitHub Copilot**:
|
| 109 |
+
- Code generation for standard RAG pipeline components
|
| 110 |
+
- Boilerplate reduction for data processing and API endpoints
|
| 111 |
+
- Test case generation for validation scenarios
|
| 112 |
+
|
| 113 |
+
**Large Language Models (GPT-4/Claude)**:
|
| 114 |
+
- **Document Analysis**: Rapid extraction of key intervention strategies from research papers
|
| 115 |
+
- **Prompt Engineering**: Optimize prompts for educator-specific output formatting
|
| 116 |
+
- **Content Synthesis**: Transform academic language into practitioner-friendly recommendations
|
| 117 |
+
- **Code Review**: Architecture validation and optimization suggestions
|
| 118 |
+
|
| 119 |
+
### Problem-Solving Workflow
|
| 120 |
+
|
| 121 |
+
1. **Research Phase**: Use LLMs to quickly synthesize intervention research and identify gaps
|
| 122 |
+
2. **Architecture Design**: Validate technical approach against startup scaling requirements
|
| 123 |
+
3. **Implementation**: Leverage Copilot for rapid prototype development
|
| 124 |
+
4. **Testing**: AI-assisted generation of diverse student profile test cases
|
| 125 |
+
5. **Optimization**: LLM-powered analysis of retrieval quality and recommendation relevance
|
| 126 |
+
|
| 127 |
+
### Quality Assurance
|
| 128 |
+
|
| 129 |
+
- **Prompt Validation**: Use AI to generate edge cases for robust testing
|
| 130 |
+
- **Content Review**: AI-assisted verification that academic content translates to actionable guidance
|
| 131 |
+
- **Bias Detection**: Systematic review of recommendations for potential equity issues
|
| 132 |
+
|
| 133 |
+
---
|
| 134 |
+
|
| 135 |
+
## Success Metrics & Next Steps
|
| 136 |
+
|
| 137 |
+
**PoC Success Criteria**:
|
| 138 |
+
- Accurate retrieval of top 3 relevant interventions for sample student profile
|
| 139 |
+
- Educator-friendly output format with clear implementation guidance
|
| 140 |
+
- Sub-2 second response time for typical queries
|
| 141 |
+
- Proper source citation for all recommendations
|
| 142 |
+
|
| 143 |
+
**Production Evolution Path**:
|
| 144 |
+
1. **Enhanced Knowledge Base**: Scale to 50+ intervention documents
|
| 145 |
+
2. **Persona-Based Outputs**: Tailored recommendations for teachers, parents, principals
|
| 146 |
+
3. **API Microservice**: RESTful service for integration with SIS platforms
|
| 147 |
+
4. **Analytics Dashboard**: Track intervention effectiveness and usage patterns
|
| 148 |
+
|
| 149 |
+
This PoC establishes the foundation for a scalable, evidence-based intervention recommendation system that can transform how educators support at-risk freshmen nationwide.
|
docs/research_plan.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Final Research Brief: Knowledge Base for the FOT Intervention Recommender
|
| 2 |
+
|
| 3 |
+
## 1. Project Context
|
| 4 |
+
|
| 5 |
+
The goal is to build a Retrieval-Augmented Generation (RAG) system that recommends evidence-based interventions for at-risk 9th-grade students. This research brief outlines the process for identifying at least five high-quality sources that detail specific, actionable intervention strategies. These sources will form the core knowledge base, complementing the strategic framework provided in the FOT Toolkit Tool Set C.
|
| 6 |
+
|
| 7 |
+
## 2. Guiding Philosophy: From "Map" to "Tour Guide"
|
| 8 |
+
|
| 9 |
+
Our knowledge base strategy is guided by a clear distinction:
|
| 10 |
+
|
| 11 |
+
**The FOT Toolkit is the "Map"**: It provides the high-level framework for planning, tracking, and evaluating interventions.
|
| 12 |
+
|
| 13 |
+
**Our Curated Sources are the "Tour Guides"**: They must provide the detailed, step-by-step "playbooks" that describe exactly how to implement a specific intervention.
|
| 14 |
+
|
| 15 |
+
## 3. Research Objectives
|
| 16 |
+
|
| 17 |
+
**Primary Goal**: Identify 5+ authoritative documents that provide specific, evidence-based, and actionable intervention strategies for 9th-grade students.
|
| 18 |
+
|
| 19 |
+
**Focus Areas**: The search will prioritize interventions that directly address the core Freshman On-Track indicators. While these often exist within a larger Multi-Tiered System of Supports (MTSS) framework, our focus is on the specific actions, not the system's architecture.
|
| 20 |
+
|
| 21 |
+
- **Academic Recovery Interventions**: (e.g., Credit recovery, targeted tutoring)
|
| 22 |
+
- **Attendance Improvement Strategies**: (e.g., Chronic absenteeism programs, mentoring)
|
| 23 |
+
- **Behavioral & Social-Emotional Supports**: (e.g., Tier 2 behavioral interventions, SEL programs)
|
| 24 |
+
|
| 25 |
+
## 4. Search Strategy
|
| 26 |
+
|
| 27 |
+
**Primary Keywords**: "freshman on-track interventions", "9th grade student support", "high school transition interventions", "early warning systems high school", "tier 2 interventions secondary".
|
| 28 |
+
|
| 29 |
+
**Specific Keywords**: "credit recovery programs", "chronic absenteeism interventions", "freshman mentoring programs", "high-dosage tutoring", "restorative practices high school".
|
| 30 |
+
|
| 31 |
+
**Authoritative Sources**:
|
| 32 |
+
- **Research Institutions**: What Works Clearinghouse (WWC), University of Chicago Consortium on School Research, Regional Educational Labs (RELs), Institute of Education Sciences (IES)
|
| 33 |
+
- **Educational Organizations**: National High School Center, RTI Action Network, Attendance Works, ASCD
|
| 34 |
+
- **Databases**: ERIC, peer-reviewed educational journals
|
| 35 |
+
|
| 36 |
+
## 5. Quality Criteria Checklist for Source Selection
|
| 37 |
+
|
| 38 |
+
Each selected source must meet the following criteria:
|
| 39 |
+
|
| 40 |
+
- [✔] **Specificity**: Contains detailed, step-by-step procedures, not just high-level theory
|
| 41 |
+
- [✔] **Evidence-Based**: Includes outcome data, research validation, or is cited by a reputable clearinghouse
|
| 42 |
+
- [✔] **Implementation-Ready**: Provides practical guidance, templates, or examples for educators
|
| 43 |
+
- [✔] **Freshman-Focused**: Specifically addresses the needs of 9th-grade or transitioning high school students
|
| 44 |
+
- [✔] **Complementary**: Adds new, actionable content not already covered in the FOT Toolkit's framework
|
| 45 |
+
|
| 46 |
+
## 6. Deliverable for Each Curated Source
|
| 47 |
+
|
| 48 |
+
For each of the five (or more) documents selected, a standardized summary will be created for inclusion in the "Deliverable 1: Project Plan." This summary is crucial and must contain:
|
| 49 |
+
|
| 50 |
+
- **Citation**: Full title, author/organization, and a direct URL
|
| 51 |
+
- **Intervention Category**: The primary domain it addresses (Academic, Attendance, or Behavior)
|
| 52 |
+
- **Core Strategy**: A one-sentence summary of the intervention's central concept
|
| 53 |
+
- **Actionable Components**: 3-4 bullet points detailing the specific, repeatable steps an educator would take to implement the intervention
|
| 54 |
+
|
| 55 |
+
## 7. Success Metrics for Research Phase
|
| 56 |
+
|
| 57 |
+
This research phase will be considered complete when the curated knowledge base enables the future RAG system to:
|
| 58 |
+
|
| 59 |
+
- Recommend a specific academic intervention for a student with course failures
|
| 60 |
+
- Suggest a clear attendance improvement strategy for a student with <90% attendance
|
| 61 |
+
- Provide a concrete behavioral support option for a student with discipline flags
|
| 62 |
+
- Present an evidence-based rationale for each recommendation
|