diff --git a/app/src/main/java/com/k2fsa/sherpa/onnx/MainActivity.kt b/app/src/main/java/com/k2fsa/sherpa/onnx/MainActivity.kt index 2f7de2e..df576d3 100644 --- a/app/src/main/java/com/k2fsa/sherpa/onnx/MainActivity.kt +++ b/app/src/main/java/com/k2fsa/sherpa/onnx/MainActivity.kt @@ -314,6 +314,12 @@ class MainActivity : AppCompatActivity() { else "gemma-4-E2B_q4_0-it.gguf" private val summarizeChatTemplate: String get() = if (useMinicpm5) "minicpm" else "gemma4" + // 翻译兜底引擎(2026-09-16 用户拍板与摘要 A/B 解耦):固定 E2B——日语强项、 + // 本机已验证(9/11 纪要首跑);不再寄生 useMinicpm5(那只是纪要方向的决定, + // MiniCPM5 日语未标定且本工程纪要场景对日语表现差) + private val fallbackModelDirName = "gemma4-e2b" + private val fallbackGgufName = "gemma-4-E2B_q4_0-it.gguf" + private val fallbackChatTemplate = "gemma4" private lateinit var summarizeButton: Button private lateinit var copyMinutesButton: Button private lateinit var minutesStatus: TextView @@ -2375,8 +2381,8 @@ class MainActivity : AppCompatActivity() { Log.i(TAG, "TAP-FALLBACK sid=$sid skipped=budget") return null } - val gguf = File(File(externalModelDir, summarizeModelDirName), - summarizeGgufName) + val gguf = File(File(externalModelDir, fallbackModelDirName), + fallbackGgufName) if (!gguf.isFile) { Log.i(TAG, "TAP-FALLBACK sid=$sid skipped=no-model " + gguf.absolutePath) @@ -2391,7 +2397,7 @@ class MainActivity : AppCompatActivity() { return try { e = LlmEngine(gguf.absolutePath, SUMMARY_CTX, if (isRecording) SUMMARY_THREADS_BUSY else SUMMARY_THREADS, - chatTemplate = summarizeChatTemplate) + chatTemplate = fallbackChatTemplate) val out = e.generate( systemPrompt = "你是专业翻译。把给出的句子翻译成" + transTargetName() + "。只输出译文本身,不要解释、不要引号、不要抄写原文," +