1456995462
Implemented a full-stack web application for fine-tuning LLMs on email data, optimized for Apple Silicon (M4 Pro with 24GB RAM). Features: - Mail import with drag & drop support (.mbox, .eml, .txt) - Automated mail cleaning and preprocessing - Interactive labeling interface with keyboard shortcuts - Training data export to JSONL format - MLX-based LoRA fine-tuning with live updates - Model evaluation and comparison interface - Server-Sent Events for real-time training progress - Dark theme UI optimized for extended use Technical Stack: - Backend: FastAPI with SQLite database - Frontend: Vanilla HTML/CSS/JavaScript (no external dependencies) - ML Framework: MLX for Apple Silicon optimization - Models: Support for Mistral 7B and Llama 3 8B via MLX Components: - data_manager.py: SQLite operations for mail storage and labeling - mail_parser.py: Parser for multiple mail formats with cleaning - training.py: MLX training wrapper with LoRA support - inference.py: Model loading and inference for evaluation - main.py: FastAPI backend with REST API and SSE - Frontend: Complete UI with all features Documentation: - Comprehensive README with installation and usage guide - Quick-start guide for rapid setup - Example mails for testing - Troubleshooting and best practices Ready for local deployment and fine-tuning workflows.
36 lines
763 B
Bash
Executable File
36 lines
763 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Mail Fine-Tuning App Startup Script
|
|
|
|
echo "🚀 Starting Mail Fine-Tuning App..."
|
|
echo ""
|
|
|
|
# Check if venv exists
|
|
if [ ! -d "venv" ]; then
|
|
echo "❌ Virtual environment not found!"
|
|
echo "Please run: python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt"
|
|
exit 1
|
|
fi
|
|
|
|
# Activate venv
|
|
source venv/bin/activate
|
|
|
|
# Check if dependencies are installed
|
|
if ! python -c "import fastapi" 2>/dev/null; then
|
|
echo "❌ Dependencies not installed!"
|
|
echo "Please run: pip install -r requirements.txt"
|
|
exit 1
|
|
fi
|
|
|
|
# Create necessary directories
|
|
mkdir -p data models output
|
|
|
|
# Start server
|
|
echo "✅ Starting server on http://localhost:8000"
|
|
echo ""
|
|
echo "Press Ctrl+C to stop"
|
|
echo ""
|
|
|
|
cd backend
|
|
python main.py
|