Browse Source

feat-dump-first-sse-response-to-file

master
Serge Shutov 2 weeks ago
parent
commit
846a2e25be
  1. 4
      injected/chat-logger.js

4
injected/chat-logger.js

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
var ENABLED_KEY = 'dshmem-log-enabled'
var BASE = 'http' + ':' + '//' + '127.0.0.1' + ':' + '8766'
var CHUNK = 700
var K_RATIO = 3.1; var CONTEXT_LIMIT = 131072; var charsAccum = 0; var evTotal = 0; var evV = 0; var evP = 0
var K_RATIO = 3.1; var CONTEXT_LIMIT = 131072; var charsAccum = 0; var dumpDone = false; var DUMP_FILE = 'dump' + String.fromCharCode(46) + 'jsonl'; var evTotal = 0; var evV = 0; var evP = 0
var seen = Object.create(null)
var cfg = null
var lastAccum = null; var injectBlock = ''; var injectLoaded = false; var injectErr = ''; var injectBlock = ''; var injectLoaded = false; var injectErr = ''
@ -170,6 +170,8 @@ @@ -170,6 +170,8 @@
} 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 = '';
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) { } }
try { assistant = extractAssistant(entry.resp || '') } catch (e) { }; try { var LB1 = String.fromCharCode(10214); var RB1 = String.fromCharCode(10215); var marker = LB1 + 'DSH' + RB1; var pos = 0; while (true) { var hit = assistant.indexOf(marker, pos); if (hit === -1) break; sseCalls = sseCalls + 1; pos = hit + marker.length } ; try { var openM = marker; var closeM = String.fromCharCode(10214) + '/DSH' + String.fromCharCode(10215); var sPos = 0; var tools = []; while (true) { var so = assistant.indexOf(openM, sPos); if (so === -1) break; var sc = assistant.indexOf(closeM, so + openM.length); if (sc === -1) break; var inner = assistant.slice(so + openM.length, sc); try { var obj = JSON.parse(inner); if (obj && typeof obj.tool === 'string') { tools.push(obj.tool) } } catch (e) { } sPos = sc + closeM.length } sseTools = tools.join(',') } catch (e) { } } catch (e) { } var all = messages.slice()
if (assistant) all.push({ role: 'assistant', content: assistant })
var file = today() + '.jsonl'

Loading…
Cancel
Save