|
|
|
|
@ -170,7 +170,7 @@
@@ -170,7 +170,7 @@
|
|
|
|
|
if (req && Array.isArray(req.messages)) messages = req.messages |
|
|
|
|
else if (req && typeof req.prompt === 'string' && req.prompt) messages = [{ role: 'user', content: req.prompt }] |
|
|
|
|
} catch (e) { return } |
|
|
|
|
var assistant = ''; var sseCalls = 0; var respLen = 0; var respHead = ''; var hasData = 0; var fetchTotal = 0; var finPos = -1; var finCtx = ''; var sseTools = ''; |
|
|
|
|
var assistant = ''; var sseCalls = 0; var respLen = 0; var respHead = ''; var hasData = 0; var fetchTotal = 0; var finPos = -1; var finCtx = ''; |
|
|
|
|
respLen = (entry.resp || '').length; finPos = (entry.resp || '').indexOf('FINISHED'); if (finPos > 40) { finCtx = String(entry.resp).slice(finPos - 40, finPos + 80) } respHead = String(entry.resp || '').slice(0, 60); hasData = (entry.resp && entry.resp.indexOf('data: ') !== -1) ? 1 : 0; |
|
|
|
|
if (!dumpDone && respLen > 200 && hasData === 1) { dumpDone = true; try { var __bl = String(entry.resp).split(String.fromCharCode(10) + String.fromCharCode(10)); sendLines(DUMP_FILE, __bl.slice(0, 190)) } catch (e) { } } |
|
|
|
|
|
|
|
|
|
@ -218,7 +218,7 @@
@@ -218,7 +218,7 @@
|
|
|
|
|
accum: accum, |
|
|
|
|
delta: delta, |
|
|
|
|
chars: ctxChars, |
|
|
|
|
chat_id: chatId, parent_id: pid, sse_calls: sseCalls, sse_len: assistant.length, resp_len: respLen, has_data: hasData, resp_head: respHead, fetch_total: fetchTotal, fin_pos: finPos, fin_ctx: finCtx, sse_tools: sseTools, ev_total: evTotal, ev_v: evV, ev_p: evP, sse_len: assistant.length, req_keys: reqKeys, est_tok: Math.round(ctxChars / K_RATIO), ctx_chars: charsAccum, ctx_tok: Math.round(charsAccum / K_RATIO), ctx_pct: Math.round(charsAccum / K_RATIO * 1000 / CONTEXT_LIMIT) / 10 |
|
|
|
|
chat_id: chatId, parent_id: pid, sse_calls: sseCalls, sse_len: assistant.length, resp_len: respLen, has_data: hasData, resp_head: respHead, fetch_total: fetchTotal, fin_pos: finPos, fin_ctx: finCtx, ev_total: evTotal, ev_v: evV, ev_p: evP, sse_len: assistant.length, req_keys: reqKeys, est_tok: Math.round(ctxChars / K_RATIO), ctx_chars: charsAccum, ctx_tok: Math.round(charsAccum / K_RATIO), ctx_pct: Math.round(charsAccum / K_RATIO * 1000 / CONTEXT_LIMIT) / 10 |
|
|
|
|
} |
|
|
|
|
lines.push(JSON.stringify(meta)); try { window.dispatchEvent(new CustomEvent('dshmem:metrics', { detail: JSON.stringify({ accum: accum, delta: delta, chars: ctxChars, est_tok: Math.round(ctxChars / K_RATIO), ctx_chars: charsAccum, ctx_tok: Math.round(charsAccum / K_RATIO), ctx_pct: Math.round(charsAccum / K_RATIO * 1000 / CONTEXT_LIMIT) / 10 }) })) } catch (e) { } |
|
|
|
|
} |
|
|
|
|
|