白卷事故诊断:单句路径转储提示词两段长度+首尾(usr.head/tail),排除提示词层脏数据;现场梳理:空raw=两引擎同现+PERFHAL 'Translate to physical failed'+频繁自重启→头号嫌疑转向设备/模型文件层,代码侧翻译路径在好/坏构建间零差异(逐提交核对)

This commit is contained in:
liwenhao2 2026-09-16 11:22:47 +08:00
parent 206037994f
commit 9a8391d913
1 changed files with 15 additions and 7 deletions

View File

@ -2518,15 +2518,23 @@ class MainActivity : AppCompatActivity() {
.coerceAtMost(1200) .coerceAtMost(1200)
val got = HashMap<String, String>() val got = HashMap<String, String>()
if (segKeys.size == 1) { if (segKeys.size == 1) {
val one = try { val sys1 = "你是专业翻译。把给出的句子翻译成" + targetName +
engine.generate(
systemPrompt = "你是专业翻译。把给出的句子翻译成" + targetName +
"。只输出译文本身,不要解释、不要引号、不要抄写原文," + "。只输出译文本身,不要解释、不要引号、不要抄写原文," +
"不要以「翻訳:」等任何标签开头," + "不要以「翻訳:」等任何标签开头," +
"禁止道歉或说明无法完成,翻不了就输出空字符串。" + "禁止道歉或说明无法完成,翻不了就输出空字符串。" +
"你只在中文、日本語、English 三种语言之间翻译;" + "你只在中文、日本語、English 三种语言之间翻译;" +
"输入不属于这三种语言时输出空字符串。" + langHint + "。", "输入不属于这三种语言时输出空字符串。" + langHint + "。"
userPrompt = ctxBlock + segKeys[0].second, val usr1 = ctxBlock + segKeys[0].second
// 白卷事故诊断(2026-09-16):空 raw= 的现场缺"模型看到了什么"
// 这一环;转储两段长度与首尾,排除提示词层脏数据
Log.i(TAG, "TRANSLATE prompt sys.len=" + sys1.length +
" usr.len=" + usr1.length +
" usr.head=" + usr1.take(40).replace("\n", " ") +
" usr.tail=" + usr1.takeLast(48).replace("\n", " "))
val one = try {
engine.generate(
systemPrompt = sys1,
userPrompt = usr1,
maxNewTokens = budget, temperature = temp, maxNewTokens = budget, temperature = temp,
repeatPenalty = 1.1f, repeatPenalty = 1.1f,
) )