CodeBench: --compact tiivistää golden examplen templaatiksi
Python: 1340 → 335 tokenia (−75%) Rust: 3383 → 445 tokenia (−87%) Käyttö: node benchmark.mjs --compact --models qwen3:4b
This commit is contained in:
@@ -33,6 +33,7 @@ const TIMESTAMP = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 16);
|
||||
const OUTPUT_DIR = arg('output', `/tmp/kipina-benchmark/${TIMESTAMP}`);
|
||||
const RESULTS_DIR = join(__dirname, 'results');
|
||||
const THINK_MODE = args.includes('--think');
|
||||
const COMPACT_MODE = args.includes('--compact');
|
||||
const LANG = arg('lang', 'python'); // python | rust
|
||||
const MAX_FIX_ROUNDS = 2;
|
||||
|
||||
@@ -66,6 +67,13 @@ const LANG_CONFIG = {
|
||||
const LCONF = LANG_CONFIG[LANG] || LANG_CONFIG.python;
|
||||
|
||||
function loadGoldenExample() {
|
||||
// --compact: käytä tiivistettyä templaattia täyden koodin sijaan
|
||||
if (COMPACT_MODE) {
|
||||
const compactFile = LANG === 'rust' ? 'golden-compact-rs.md' : 'golden-compact-py.md';
|
||||
const compactPath = join(__dirname, 'prompts', compactFile);
|
||||
if (existsSync(compactPath)) return '\n' + readFileSync(compactPath, 'utf-8').trim() + '\n';
|
||||
}
|
||||
// Täysi golden example
|
||||
const todoDir = join(GOLDEN_DIR, LCONF.goldenDir);
|
||||
if (!existsSync(todoDir)) return '';
|
||||
let example = `\nREFERENCE IMPLEMENTATION (todo project — follow this exact structure, style, and conventions):\n\n`;
|
||||
@@ -376,7 +384,7 @@ async function main() {
|
||||
console.log('╔══════════════════════════════════════════════╗');
|
||||
console.log('║ Kipinä CodeBench ║');
|
||||
console.log('╚══════════════════════════════════════════════╝');
|
||||
console.log(`Ollama: ${OLLAMA_URL} 📝 ${LANG}${THINK_MODE ? ' 🧠 thinking ON' : ''}`);
|
||||
console.log(`Ollama: ${OLLAMA_URL} 📝 ${LANG}${COMPACT_MODE ? ' (compact)' : ''}${THINK_MODE ? ' 🧠 thinking ON' : ''}`);
|
||||
|
||||
// Haetaan mallit
|
||||
let models;
|
||||
|
||||
Reference in New Issue
Block a user