gepa-spo
Version:
Genetic-Pareto prompt optimizer to evolve system prompts from a few rollouts with modular support and intelligent crossover
48 lines (47 loc) • 1.56 kB
TypeScript
import type { TaskItem } from './types.js';
/**
* Calculate percentage improvement
*/
declare function calculateImprovement(initial: number, final: number): {
absolute: number;
percentage: number;
};
/**
* Format statistics for logging
*/
declare function formatStats(stats: {
initialScore: number;
finalScore: number;
iterations: number;
budgetUsed: number;
totalBudget: number;
candidatesGenerated: number;
acceptedCandidates: number;
crossoverOperations: number;
mutationOperations: number;
strategySwitches: number;
paretoSize: number;
feedbackSize: number;
holdoutSize: number;
}): string;
/**
* Validate configuration and provide helpful error messages
*/
declare function validateConfig(config: Record<string, unknown>, dtrainLength: number): void;
/**
* Apply sensible defaults to configuration
*/
declare function applyDefaults(config: Record<string, unknown>, dtrainLength: number): Record<string, unknown>;
/**
* Parse input with support for new format: { system?: string, modules?: [{id,prompt}], prompts: [...] }
* Validates input structure and handles fallbacks
*/
declare function parseInput(inputRaw: Record<string, unknown>): {
system: string;
prompts: Array<Partial<TaskItem>>;
};
declare function parseArgs(argv: string[]): Record<string, string>;
declare function printHelp(): void;
declare function main(): Promise<void>;
export { parseArgs, main, parseInput, validateConfig, applyDefaults, printHelp, calculateImprovement, formatStats };