空概括回显探测修复:extractJson收紧空值判null后,旧'parsed!=null'式emptyEcho探测永远进不去(重试提示词误标'不是合法JSON');改原文正则探测{"概括":""},重试用准确措辞'空概括'并附强约束;现场raw(9)=空schema回显(键名正确格式合法,纯EMPTY进EMPTY出)
This commit is contained in:
parent
caee985dcc
commit
b14c5486ef
|
|
@ -396,10 +396,12 @@ class SummarizePipeline(
|
||||||
maxNewTokens = 900, temperature = 0f,
|
maxNewTokens = 900, temperature = 0f,
|
||||||
)
|
)
|
||||||
var parsed = extractJson(out)
|
var parsed = extractJson(out)
|
||||||
// 空笔记视同失败:小模型吃不透指令时会把输入的空模板原样复读
|
// 空概括回显(EMPTY 进 EMPTY 出):小模型(尤其 MiniCPM5)会把提示词里
|
||||||
// (EMPTY 进 EMPTY 出)。首轮空结果带一次强约束重试再判。
|
// 的空 schema 原样抄回。2026-09-16 现场 raw(9)={"概括":""}。
|
||||||
val emptyEcho = parsed != null && idx == 0 &&
|
// 注意:extractJson 对空值已判 null,"parsed!=null"式旧探测永远
|
||||||
resumeNotes == null && notesEntriesEmpty(parsed)
|
// 进不去——改为对原文正则探测,让重试提示词用准确措辞
|
||||||
|
val emptyEcho = parsed == null && idx == 0 && resumeNotes == null &&
|
||||||
|
Regex("\"概括\"\\s*:\\s*\"\\s*\"").containsMatchIn(out)
|
||||||
if (parsed == null || emptyEcho) {
|
if (parsed == null || emptyEcho) {
|
||||||
// 一次修复重试:把畸形/空洞输出递回去(仍失败保留旧笔记,计 failed)
|
// 一次修复重试:把畸形/空洞输出递回去(仍失败保留旧笔记,计 failed)
|
||||||
if (listener.isCancelled()) throw SummarizeCancelledException()
|
if (listener.isCancelled()) throw SummarizeCancelledException()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue