interface GenerationKeySettings { default: number; step: number; min: number; max: number; label: string; } export const GENERATION_CONFIG_SETTINGS: Record = { temperature: { default: 0.7, step: 0.01, min: 0, max: 2, label: 'Temperature' }, max_tokens: { default: 0.7, step: 512, min: 1, max: 8192, // changed dynamically based on model label: 'Output Length' }, top_p: { default: 0.7, step: 0.01, min: 0, max: 1, label: 'Top-P' }, top_k: { default: 50, step: 1, min: 1, max: 100, label: 'Top-K' }, repetition_penalty: { default: 1, step: 0.01, min: 1, max: 2, label: 'Repetition Penalty' } }; export type GenerationConfigKey = keyof typeof GENERATION_CONFIG_SETTINGS; export const GENERATION_CONFIG_KEYS: GenerationConfigKey[] = Object.keys( GENERATION_CONFIG_SETTINGS ); export type GenerationConfig = Record; export const defaultGenerationConfig = Object.keys(GENERATION_CONFIG_SETTINGS).reduce( (acc, key) => { acc[key] = GENERATION_CONFIG_SETTINGS[key].default; return acc; }, {} as GenerationConfig );