Browse Source

fix-separate-thinking-from-answer-in-sse

master
Serge Shutov 2 weeks ago
parent
commit
bf2f8b6f12
  1. 6
      injected/chat-logger.js

6
injected/chat-logger.js

@ -120,10 +120,10 @@ @@ -120,10 +120,10 @@
var o = null
try { o = JSON.parse(json) } catch (e) { continue }
if (!o || typeof o !== 'object') continue
if (o.p) { evP = evP + 1; continue }
if (o.p) { evP = evP + 1; var __pp = String(o.p); if (__pp.indexOf(String.fromCharCode(114,101,115,112,111,110,115,101)) === 0) { if (Array.isArray(o.v)) { for (var __q = 0; __q < o.v.length; __q++) { var __fr = o.v[__q]; if (__fr && String(__fr['type']) === 'RESPONSE' && typeof __fr['content'] === 'string') { evV = evV + 1; out.push(__fr['content']) } } } else if (typeof o.v === 'string') { evV = evV + 1; out.push(o.v) } } continue }
if (typeof o.v !== 'string') continue
if (Object.keys(o).length !== 1) continue
evV = evV + 1; out.push(o.v)
evT = evT + 1
}
return out.join('')
}
@ -172,7 +172,7 @@ @@ -172,7 +172,7 @@
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()
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 } } catch (e) { } var all = messages.slice()
if (assistant) all.push({ role: 'assistant', content: assistant })
var file = today() + '.jsonl'
var lines = []

Loading…
Cancel
Save