@astermind/astermind-synth
Version:
OmegaSynth - Label-Conditioned Synthetic Data Generator for AsterMind ELM/KELM Pipelines
49 lines (48 loc) • 1.39 kB
TypeScript
/**
* Metrics collection and reporting for OmegaSynth
*/
export interface GenerationMetrics {
label: string;
totalSamples: number;
uniqueGenerated: number;
diversity: number;
averageLength: number;
minLength: number;
maxLength: number;
validFormat: number;
validFormatRate: number;
}
export interface ModelMetrics {
overall: {
totalLabels: number;
totalTestSamples: number;
averageDiversity: number;
averageValidFormatRate: number;
};
perLabel: GenerationMetrics[];
timestamp: string;
modelVersion: string;
mode: string;
}
export declare class MetricsCollector {
/**
* Evaluate generated samples against test/validation data
*/
static evaluate(generated: string[], expected: string[], label: string): GenerationMetrics;
/**
* Collect metrics for all labels
*/
static collectMetrics(generatedByLabel: Record<string, string[]>, expectedByLabel: Record<string, string[]>): ModelMetrics;
/**
* Generate a text report from metrics
*/
static generateReport(metrics: ModelMetrics): string;
/**
* Save metrics to JSON file
*/
static saveMetrics(metrics: ModelMetrics, filepath: string): Promise<void>;
/**
* Save report to markdown file
*/
static saveReport(metrics: ModelMetrics, filepath: string): Promise<void>;
}