Benchmark: stripThinking poistaa gemma4-ajattelutagit vastauksista

This commit is contained in:
2026-04-14 06:35:31 +03:00
parent 4aa09e1025
commit 7dc2af59c3

View File

@@ -26,6 +26,11 @@ const SCENARIO_FILTER = arg('scenarios', 'default');
const OUTPUT_DIR = arg('output', '/tmp/kipina-benchmark'); const OUTPUT_DIR = arg('output', '/tmp/kipina-benchmark');
const MAX_FIX_ROUNDS = 2; const MAX_FIX_ROUNDS = 2;
// === Ajattelutagien siivous (gemma4 ym.) ===
function stripThinking(text) {
return text.replace(/<\|channel>thought[\s\S]*?<channel\|>/g, '').trim();
}
// === Ollama / Hub -client === // === Ollama / Hub -client ===
async function ollamaChat(model, prompt, systemPrompt, maxTokens = 2048) { async function ollamaChat(model, prompt, systemPrompt, maxTokens = 2048) {
const start = Date.now(); const start = Date.now();
@@ -42,7 +47,7 @@ async function ollamaChat(model, prompt, systemPrompt, maxTokens = 2048) {
const data = await resp.json(); const data = await resp.json();
const elapsed = Date.now() - start; const elapsed = Date.now() - start;
return { return {
text: (data.response || '').trim(), text: stripThinking((data.response || '').trim()),
tokens: data.tokens_generated || 0, tokens: data.tokens_generated || 0,
durationMs: elapsed, durationMs: elapsed,
tokPerSec: data.tokens_per_sec || (data.tokens_generated || 0) / (elapsed / 1000), tokPerSec: data.tokens_per_sec || (data.tokens_generated || 0) / (elapsed / 1000),
@@ -67,7 +72,7 @@ async function ollamaChat(model, prompt, systemPrompt, maxTokens = 2048) {
if (!resp.ok) throw new Error(`Ollama HTTP ${resp.status}: ${await resp.text()}`); if (!resp.ok) throw new Error(`Ollama HTTP ${resp.status}: ${await resp.text()}`);
const data = await resp.json(); const data = await resp.json();
const elapsed = Date.now() - start; const elapsed = Date.now() - start;
const text = (data.message?.content || '').trim(); const text = stripThinking((data.message?.content || '').trim());
const evalCount = data.eval_count || 0; const evalCount = data.eval_count || 0;
const evalDurationNs = data.eval_duration || 1; const evalDurationNs = data.eval_duration || 1;
const tokPerSec = evalCount / (evalDurationNs / 1e9); const tokPerSec = evalCount / (evalDurationNs / 1e9);