/** * Fine-tuning Manager * Handles fine-tuning job lifecycle, dataset management, and provider integration */ import { EventEmitter } from 'events'; import { FineTuningJob, FineTuningJobCreate, FineTuningJobFilter, FineTuningProvider, TrainingDataset, DatasetValidationResult, TrainingExample, TrainingDataFormat } from './types'; export interface StorageCredentials { accessKeyId?: string; secretAccessKey?: string; sessionToken?: string; [key: string]: unknown; } export interface ProviderConfig { apiKey: string; organizationId?: string; config?: Record; } export interface FineTuningManagerConfig { /** Storage configuration for datasets */ storage: { type: 's3' | 'gcs' | 'azure' | 'local'; bucket?: string; region?: string; credentials?: StorageCredentials; }; /** Provider API keys */ providers: Record; /** Polling interval for job status (ms) */ pollingInterval?: number; /** Max concurrent jobs */ maxConcurrentJobs?: number; /** Auto-cleanup completed jobs after N days */ autoCleanupDays?: number; } export declare class FineTuningManager extends EventEmitter { private config; private jobs; private datasets; private pollingIntervals; constructor(config: FineTuningManagerConfig); /** * Create and upload training dataset */ createDataset(name: string, examples: TrainingExample[], format?: TrainingDataFormat, options?: { description?: string; validationSplit?: number; tags?: string[]; createdBy: string; }): Promise; /** * Validate training dataset */ validateDataset(examples: TrainingExample[]): Promise; /** * Create fine-tuning job */ createJob(jobData: FineTuningJobCreate): Promise; /** * Get job by ID */ getJob(jobId: string): FineTuningJob | undefined; /** * List jobs with filters */ listJobs(filter?: FineTuningJobFilter): FineTuningJob[]; /** * Cancel job */ cancelJob(jobId: string): Promise; /** * Delete job */ deleteJob(jobId: string): Promise; /** * Estimate fine-tuning cost and time */ private estimateJob; /** * Submit job to provider (OpenAI, Anthropic, etc.) */ private submitJobToProvider; /** * Cancel job with provider */ private cancelJobWithProvider; /** * Poll job status from provider */ private startPolling; private stopPolling; private pollJobStatus; /** * Upload dataset to storage */ private uploadDataset; /** * Generate unique ID */ private generateId; /** * Cleanup old jobs */ cleanup(): Promise; /** * Shutdown manager */ shutdown(): Promise; } //# sourceMappingURL=manager.d.ts.map