UNPKG

@promethean-os/prompt-optimization

Version:

Prompt Optimization v2.0 - qwen3:4b-instruct 100k context optimization system

151 lines (126 loc) โ€ข 5.25 kB
#!/usr/bin/env node /** * Prompt Optimization v2.0 Deployment Script * Phase 1: Shadow Mode Deployment (10% traffic) */ import { deploymentManager } from './deployment-manager'; import { monitoringDashboard } from './monitoring-dashboard'; import { adaptiveRouting } from './adaptive-routing'; async function main() { console.log('๐Ÿš€ Starting Prompt Optimization v2.0 Deployment'); console.log('='.repeat(60)); try { // Phase 1: Shadow Mode Initialization console.log('๐Ÿ“‹ Phase 1: Shadow Mode Deployment'); console.log('๐ŸŽฏ Target: 10% traffic to v2.0, 90% to legacy'); console.log('โฑ๏ธ Duration: 1 week with continuous monitoring'); console.log(''); // Initialize deployment manager await deploymentManager.initialize(); console.log('โœ… Deployment manager initialized'); // Start monitoring dashboard console.log('๐Ÿ“Š Starting monitoring dashboard...'); // Note: In production, this would start a web server console.log('๐Ÿ” Monitoring active at http://localhost:3000/monitoring'); // Display system status const status = await deploymentManager.getStatus(); console.log(''); console.log('๐Ÿ“ˆ System Status:'); console.log(` Phase: ${status.currentPhase}`); console.log(` Health: ${status.isHealthy ? 'โœ… Healthy' : 'โŒ Issues detected'}`); console.log(` Uptime: ${Math.floor(status.uptime / 1000 / 60)} minutes`); if (status.issues.length > 0) { console.log('โš ๏ธ Issues:'); status.issues.forEach((issue) => console.log(` - ${issue}`)); } if (status.recommendations.length > 0) { console.log('๐Ÿ’ก Recommendations:'); status.recommendations.forEach((rec) => console.log(` - ${rec}`)); } console.log(''); console.log('๐ŸŽฏ Deployment Objectives:'); console.log(' โœ“ Validate v2.0 system stability'); console.log(' โœ“ Compare performance vs legacy'); console.log(' โœ“ Monitor error rates and success rates'); console.log(' โœ“ Collect data for Phase 2 decision'); console.log(''); console.log('๐Ÿ“Š Success Criteria for Phase 1:'); console.log(' โ€ข v2.0 success rate โ‰ฅ 95%'); console.log(' โ€ข Error rate โ‰ค 5%'); console.log(' โ€ข Processing time โ‰ค 3.0s'); console.log(' โ€ข Token efficiency โ‰ฅ 70%'); console.log(' โ€ข System uptime โ‰ฅ 99.9%'); console.log(''); console.log('๐Ÿ”„ Next Steps:'); console.log(' 1. Monitor performance for 1 week'); console.log(' 2. Analyze collected data'); console.log(' 3. If criteria met โ†’ Phase 2 (50% traffic)'); console.log(' 4. If not โ†’ Optimize and extend Phase 1'); // Start simulated traffic for testing console.log(''); console.log('๐Ÿงช Starting simulated traffic test...'); await runSimulatedTraffic(); console.log(''); console.log('โœ… Phase 1 deployment complete!'); console.log('๐Ÿ“Š Monitoring dashboard active'); console.log('๐Ÿ” System collecting performance data'); console.log(''); console.log('๐Ÿ“‹ Commands for monitoring:'); console.log(' npm run deployment:status # Check current status'); console.log(' npm run deployment:metrics # View performance metrics'); console.log(' npm run deployment:report # Generate detailed report'); console.log(' npm run deployment:phase2 # Transition to Phase 2'); } catch (error) { console.error('โŒ Deployment failed:', error); process.exit(1); } } /** * Run simulated traffic to test the system */ async function runSimulatedTraffic() { const testPrompts = [ 'Optimize this prompt for technical documentation', 'Make this prompt more creative and engaging', 'Help me debug this error in my code', 'Analyze this data and provide insights', 'Simple task: format this text', 'Complex query requiring multiple constraints', 'Edge case handling for unusual input', 'Validation-focused prompt with examples', ]; console.log(` Testing ${testPrompts.length} different prompt types...`); for (let i = 0; i < testPrompts.length; i++) { const prompt = testPrompts[i]; console.log(` ๐Ÿ“ Processing: ${prompt.substring(0, 40)}...`); try { const result = await deploymentManager.processRequest(prompt); console.log( ` โœ… ${result.usedV2 ? 'v2.0' : 'Legacy'} | ${result.success ? 'Success' : 'Failed'} | ${result.processingTime}ms`, ); } catch (error) { console.log(` โŒ Error: ${error.message}`); } // Small delay between requests await new Promise((resolve) => setTimeout(resolve, 100)); } console.log(' โœ… Simulated traffic test complete'); } // Handle graceful shutdown process.on('SIGINT', async () => { console.log('\n๐Ÿ›‘ Shutting down deployment...'); await deploymentManager.cleanup(); console.log('โœ… Cleanup complete'); process.exit(0); }); process.on('SIGTERM', async () => { console.log('\n๐Ÿ›‘ Shutting down deployment...'); await deploymentManager.cleanup(); console.log('โœ… Cleanup complete'); process.exit(0); }); // Run deployment if (require.main === module) { main().catch(console.error); } export { main as deploy };