UNPKG

paitient-secure-model

Version:

PaiTIENT - HIPAA/SOC2 compliant secure model hosting SDK

111 lines (90 loc) 2.93 kB
#!/usr/bin/env node 'use strict'; const { SecureModelClient } = require('../lib/client'); // Parse command line arguments const args = process.argv.slice(2); const command = args[0]; // Basic help menu function displayHelp() { console.log(` PaiTIENT Secure Model Service CLI v0.0.1 ---------------------------------------- HIPAA/SOC2 compliant secure model hosting with hybrid encryption (AES-256-GCM + RSA-4096) USAGE: secure-model [command] [options] COMMANDS: deploy Deploy a secure model generate Generate text from a deployed model status Check deployment status subscription Check subscription status help Display this help message ENVIRONMENT VARIABLES: PAITIENT_API_KEY API key for authentication PAITIENT_CLIENT_ID Client ID for model ownership For more information, visit: https://docs.paitient.ai `); } // Main CLI function async function main() { // Check for API key and client ID const apiKey = process.env.PAITIENT_API_KEY; const clientId = process.env.PAITIENT_CLIENT_ID; if (!command || command === 'help') { return displayHelp(); } if (!apiKey) { console.error('Error: PAITIENT_API_KEY environment variable is required'); console.error('Set it with: export PAITIENT_API_KEY=your-api-key'); process.exit(1); } if (!clientId) { console.error('Error: PAITIENT_CLIENT_ID environment variable is required'); console.error('Set it with: export PAITIENT_CLIENT_ID=your-client-id'); process.exit(1); } // Initialize client const client = new SecureModelClient({ apiKey, clientId }); try { // Execute requested command switch (command) { case 'deploy': const deploymentResult = await client.deploy({ modelName: args[1] || 'ZimaBlueAI/HuatuoGPT-o1-8B', useGpu: args.includes('--use-gpu') }); console.log(JSON.stringify(deploymentResult, null, 2)); break; case 'generate': if (!args[1]) { console.error('Error: Prompt is required'); console.error('Usage: secure-model generate "Your prompt here"'); process.exit(1); } const generateResult = await client.generate({ prompt: args[1], maxTokens: 100 }); console.log(generateResult.text); break; case 'subscription': const subscriptionStatus = await client.checkSubscription(); console.log(JSON.stringify(subscriptionStatus, null, 2)); break; default: console.error(`Unknown command: ${command}`); displayHelp(); process.exit(1); } } catch (error) { console.error(`Error: ${error.message}`); process.exit(1); } } // Run the CLI main().catch(error => { console.error(`Fatal error: ${error.message}`); process.exit(1); });