Spaces:
Running
Running
| # ============================================================================ | |
| # K1RL QUASAR — HuggingFace Spaces Deployment Script | |
| # ============================================================================ | |
| set -e | |
| echo "🌌 K1RL QUASAR — HuggingFace Spaces Deployment" | |
| echo "==============================================" | |
| # Colors for output | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| BLUE='\033[0;34m' | |
| NC='\033[0m' # No Color | |
| # Configuration | |
| HF_USERNAME="KarlQuant" | |
| SPACE_NAME="k1rl-quasar" | |
| SPACE_REPO="https://huggingface.co/spaces/${HF_USERNAME}/${SPACE_NAME}" | |
| echo -e "${BLUE}Configuration:${NC}" | |
| echo " HF Username: ${HF_USERNAME}" | |
| echo " Space Name: ${SPACE_NAME}" | |
| echo " Repository: ${SPACE_REPO}" | |
| echo "" | |
| # Step 1: Clone the Space repository | |
| echo -e "${YELLOW}Step 1: Cloning HuggingFace Space repository...${NC}" | |
| if [ -d "${SPACE_NAME}" ]; then | |
| echo -e "${YELLOW}Directory exists, updating...${NC}" | |
| cd "${SPACE_NAME}" | |
| git pull | |
| else | |
| git clone "${SPACE_REPO}" | |
| cd "${SPACE_NAME}" | |
| fi | |
| echo -e "${GREEN}✅ Repository ready${NC}" | |
| echo "" | |
| # Step 2: Copy deployment files | |
| echo -e "${YELLOW}Step 2: Copying deployment files ...${NC}" | |
| # Core configuration files | |
| cp ../Dockerfile . | |
| cp ../supervisord.conf . | |
| cp ../redis_hf.conf . | |
| cp ../requirements.txt . | |
| cp ../README.md . | |
| # Python services | |
| cp ../dashboard_service.py . | |
| cp ../quasar_service.py . | |
| cp ../health_monitor.py . | |
| cp ../sleep_prevention.py . | |
| cp ../redis_config.py . | |
| cp ../visitor_tracker.py . | |
| cp ../app.py . | |
| echo -e "${GREEN}✅ Deployment files copied${NC}" | |
| echo "" | |
| # Step 3: Create HuggingFace Spaces metadata | |
| echo -e "${YELLOW}Step 3: Creating HuggingFace Spaces configuration...${NC}" | |
| cat > README.md << 'EOF' | |
| --- | |
| title: K1RL QUASAR — Quantitative Intelligence Observatory | |
| emoji: 🌌 | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: true | |
| license: mit | |
| short_description: AI Training Monitoring & Analytics Platform with Real-time Metrics | |
| tags: | |
| - machine-learning | |
| - monitoring | |
| - analytics | |
| - training | |
| - dashboard | |
| - ai | |
| - pytorch | |
| - redis | |
| - flask | |
| models: | |
| - KarlQuant/k1rl-checkpoints | |
| datasets: | |
| - KarlQuant/k1rl-checkpoints | |
| --- | |
| # K1RL QUASAR — Quantitative Intelligence Observatory | |
| > **Production AI Training Monitoring Platform** | Real-time Metrics | 24/7 Uptime | |
| ## 🌌 Live Dashboard | |
| This HuggingFace Space runs a comprehensive AI training monitoring platform featuring: | |
| - **Real-time Training Metrics** — Loss curves, accuracy, buffer statistics | |
| - **System Health Monitoring** — RAM/CPU usage with auto-cleanup | |
| - **Visitor Analytics** — Global visitor tracking and statistics | |
| - **Service Management** — Multi-process architecture with Redis | |
| - **Sleep Prevention** — Automatic uptime maintenance | |
| - **Checkpoint Management** — HuggingFace Hub integration | |
| ## 🚀 Services | |
| The platform runs multiple coordinated services: | |
| 1. **Dashboard** (Port 7860) — Web interface and API | |
| 2. **Quasar Engine** — Main AI training loop | |
| 3. **Health Monitor** — Resource management and cleanup | |
| 4. **Redis Server** — Real-time metrics storage | |
| 5. **Sleep Prevention** — 24/7 uptime maintenance | |
| ## 📊 API Endpoints | |
| - `/` — Main dashboard interface | |
| - `/health` — Health check and uptime | |
| - `/api/metrics` — Training metrics JSON | |
| - `/api/visitors` — Visitor analytics | |
| - `/logs/{service}` — Service logs | |
| ## 🔧 Architecture | |
| Built for HuggingFace Spaces 12GB environment with: | |
| - Docker containerization | |
| - Supervisor process management | |
| - Automatic resource cleanup | |
| - Graceful error recovery | |
| - Cloud checkpoint backup | |
| --- | |
| *Powered by K1RL Quantitative Intelligence Research* | |
| EOF | |
| echo -e "${GREEN}✅ HuggingFace configuration created${NC}" | |
| echo "" | |
| # Step 4: Check for required original files | |
| echo -e "${YELLOW}Step 4: Checking for original project files...${NC}" | |
| REQUIRED_FILES=( | |
| "quasar_main4.py" | |
| "Features.py" | |
| "Rewards.py" | |
| "dashboard.html" | |
| "quasar_plasticity_module.py" | |
| ) | |
| MISSING_FILES=() | |
| for file in "${REQUIRED_FILES[@]}"; do | |
| if [ ! -f "../${file}" ]; then | |
| MISSING_FILES+=("${file}") | |
| else | |
| cp "../${file}" . | |
| echo -e "${GREEN}✓${NC} ${file}" | |
| fi | |
| done | |
| if [ ${#MISSING_FILES[@]} -ne 0 ]; then | |
| echo -e "${RED}❌ Missing required files:${NC}" | |
| for file in "${MISSING_FILES[@]}"; do | |
| echo -e "${RED} - ${file}${NC}" | |
| done | |
| echo "" | |
| echo -e "${YELLOW}Please copy these files manually before deployment.${NC}" | |
| else | |
| echo -e "${GREEN}✅ All required files present${NC}" | |
| fi | |
| echo "" | |
| # Step 5: Git setup and commit | |
| echo -e "${YELLOW}Step 5: Preparing Git commit...${NC}" | |
| git add . | |
| # Check if there are changes to commit | |
| if git diff --staged --quiet; then | |
| echo -e "${YELLOW}No changes to commit${NC}" | |
| else | |
| echo -e "${BLUE}Changes detected, creating commit...${NC}" | |
| git config --global user.email "action@github.com" 2>/dev/null || true | |
| git config --global user.name "K1RL Deployment" 2>/dev/null || true | |
| git commit -m "K1RL QUASAR - Production deployment to HuggingFace Spaces | |
| 🌌 Features: | |
| - Real-time training monitoring dashboard | |
| - Multi-service architecture with Redis | |
| - Health monitoring and automatic cleanup | |
| - Visitor analytics and geolocation | |
| - Sleep prevention for 24/7 uptime | |
| - HuggingFace Hub checkpoint management | |
| 🚀 Services: | |
| - Dashboard (Port 7860) | |
| - Quasar Engine (Training) | |
| - Health Monitor (Resource management) | |
| - Redis Server (Metrics storage) | |
| - Sleep Prevention (Uptime) | |
| 🐳 Deployment: Docker + Supervisor + 12GB RAM optimization" | |
| echo -e "${GREEN}✅ Commit created${NC}" | |
| fi | |
| echo "" | |
| # Step 6: Display final instructions | |
| echo -e "${BLUE}==============================================" | |
| echo -e "🎉 Deployment preparation complete!" | |
| echo -e "===============================================${NC}" | |
| echo "" | |
| echo -e "${YELLOW}Next steps:${NC}" | |
| echo "" | |
| echo -e "${BLUE}1. Configure HuggingFace Spaces Secrets:${NC}" | |
| echo " Go to: https://huggingface.co/spaces/${HF_USERNAME}/${SPACE_NAME}/settings" | |
| echo "" | |
| echo " Add these secrets:" | |
| echo -e "${GREEN} Name: HF_TOKEN${NC}" | |
| echo " Value: YOUR_HF_TOKEN_HERE" | |
| echo "" | |
| echo -e "${GREEN} Name: HF_USERNAME${NC}" | |
| echo " Value: ${HF_USERNAME}" | |
| echo "" | |
| echo -e "${GREEN} Name: REDIS_PASSWORD${NC}" | |
| echo " Value: k1rl_099a0c008e32300dc3c14189" | |
| echo "" | |
| echo -e "${BLUE}2. Deploy to HuggingFace Spaces:${NC}" | |
| echo " git push" | |
| echo "" | |
| echo -e "${BLUE}3. Monitor deployment:${NC}" | |
| echo " Watch the build logs in HuggingFace Spaces" | |
| echo " Access your dashboard at: https://huggingface.co/spaces/${HF_USERNAME}/${SPACE_NAME}" | |
| echo "" | |
| echo -e "${BLUE}4. Verify services:${NC}" | |
| echo " Health check: https://${HF_USERNAME}-${SPACE_NAME}.hf.space/health" | |
| echo " Metrics API: https://${HF_USERNAME}-${SPACE_NAME}.hf.space/api/metrics" | |
| echo " Service logs: https://${HF_USERNAME}-${SPACE_NAME}.hf.space/logs/dashboard" | |
| echo "" | |
| if [ ${#MISSING_FILES[@]} -ne 0 ]; then | |
| echo -e "${RED}⚠️ WARNING: Missing files detected${NC}" | |
| echo -e "${YELLOW} Copy these files before pushing:${NC}" | |
| for file in "${MISSING_FILES[@]}"; do | |
| echo -e "${RED} - ${file}${NC}" | |
| done | |
| echo "" | |
| fi | |
| echo -e "${GREEN}🚀 Ready for deployment!${NC}" | |
| echo "" | |
| echo -e "${YELLOW}Current directory: $(pwd)${NC}" | |
| echo -e "${YELLOW}Run 'git push' to deploy to HuggingFace Spaces${NC}" | |