UNPKG

paitient-secure-model

Version:

PaiTIENT - HIPAA/SOC2 compliant secure model hosting SDK

121 lines (106 loc) 2.9 kB
// Type definitions for secure-model-sdk // Project: https://github.com/yourusername/secure-model-service // Definitions by: Your Name <your-github-url> import { EventEmitter } from 'events'; export interface ModelConfig { model_name: string; client_id: string; environment: 'dev' | 'staging' | 'prod'; aws_region?: string; instance_type?: string; } export interface DeploymentOptions { model_config: ModelConfig; use_gpu?: boolean; subscription_tier?: 'basic' | 'pro' | 'enterprise'; custom_domain?: string; enable_monitoring?: boolean; auto_scale?: boolean; min_replicas?: number; max_replicas?: number; } export interface GenerateOptions { prompt: string; max_tokens?: number; temperature?: number; top_p?: number; top_k?: number; stop_sequences?: string[]; repetition_penalty?: number; streaming?: boolean; } export interface ModelStatus { status: string; model_info: { client_id: string; model_name: string; device: string; uptime: string; last_updated: string; }; } export interface TokenUsage { prompt_tokens: number; completion_tokens: number; total_tokens: number; } export interface GenerateResponse { text: string; usage: TokenUsage; finish_reason?: string; } export interface SubscriptionStatus { status: string; is_active: boolean; subscription_tier: string; expiration_date?: string; features?: string[]; } export interface DeploymentResult { deployment_id: string; status: string; endpoint?: string; api_key?: string; created_at: string; error?: string; } export interface FineTuneOptions { base_model: string; dataset_path: string; lora_rank?: number; learning_rate?: number; num_epochs?: number; batch_size?: number; output_dir?: string; } export interface FineTuneResult { job_id: string; status: string; model_path?: string; metrics?: { loss: number; accuracy?: number; [key: string]: any; }; error?: string; } export interface SecureModelClientOptions { apiKey?: string; clientId?: string; endpoint?: string; region?: string; timeout?: number; } export class SecureModelClient { constructor(options: SecureModelClientOptions); deploy(options: DeploymentOptions): Promise<DeploymentResult>; deleteDeployment(deploymentId: string): Promise<{ success: boolean; message: string }>; getDeploymentStatus(deploymentId: string): Promise<DeploymentResult>; listDeployments(): Promise<DeploymentResult[]>; generate(options: GenerateOptions, deploymentId?: string): Promise<GenerateResponse>; generateStream(options: GenerateOptions, deploymentId?: string): EventEmitter; finetune(options: FineTuneOptions): Promise<FineTuneResult>; getFinetuneStatus(jobId: string): Promise<FineTuneResult>; checkSubscription(): Promise<SubscriptionStatus>; getStatus(deploymentId?: string): Promise<ModelStatus>; }