@promethean-os/prompt-optimization
Version:
Prompt Optimization v2.0 - qwen3:4b-instruct 100k context optimization system
151 lines (126 loc) โข 5.25 kB
text/typescript
/**
* 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 };