From d18554d73175487fe10701e1afaa51d8e2fcb1e4 Mon Sep 17 00:00:00 2001 From: liwenhao2 Date: Wed, 16 Sep 2026 11:31:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=85=9C=E5=BA=95=E5=BC=95?= =?UTF-8?q?=E6=93=8E=E4=B8=8E=E6=91=98=E8=A6=81A/B=E8=A7=A3=E8=80=A6:?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=20gemma4-e2b(=E6=97=A5=E8=AF=AD=E5=BC=BA?= =?UTF-8?q?=E9=A1=B9+=E6=9C=AC=E6=9C=BA=E5=B7=B2=E9=AA=8C=E8=AF=81),?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E5=AF=84=E7=94=9F=20useMinicpm5(=E7=BA=AA?= =?UTF-8?q?=E8=A6=81=E6=96=B9=E5=90=91=E7=9A=84=E5=BC=80=E5=85=B3;MiniCPM5?= =?UTF-8?q?=E6=97=A5=E8=AF=AD=E6=9C=AA=E6=A0=87=E5=AE=9A=E3=80=81=E6=9C=AC?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E7=BA=AA=E8=A6=81=E5=9C=BA=E6=99=AF=E6=97=A5?= =?UTF-8?q?=E8=AF=AD=E8=A1=A8=E7=8E=B0=E5=B7=AE);=E6=96=B0=E5=A2=9E=20fall?= =?UTF-8?q?backModelDirName/GgufName/ChatTemplate=20=E4=B8=89=E5=B8=B8?= =?UTF-8?q?=E9=87=8F,translateFallback=20=E6=94=B9=E7=94=A8;=E6=91=98?= =?UTF-8?q?=E8=A6=81=E7=AE=A1=E7=BA=BF=E7=BB=B4=E6=8C=81=E5=8E=9F=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E4=B8=8D=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/k2fsa/sherpa/onnx/MainActivity.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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() + "。只输出译文本身,不要解释、不要引号、不要抄写原文," +