P8 短板齊平:模型品質實測(granite 否決、qwen3-30b 定案)+額度撞牆三句話接上畫面

① docs/benchmarks/p8-extractor-quality/:leo 真筆記 8 篇 × 5 模型可複驗實測
   (production 同 prompt/參數、CF 原生 usage.neurons 計量)——
   scout 84 n/檔(119 檔/日)→ qwen3-30b 43 n/檔(232 檔/日)品質不降反升;
   granite 最便宜(858 檔/日)但 5/8 缺段、三元組全滅=否決。
   誠實結論:免金鑰路物理撐不起「幾千篇當天匯入」(差 13 倍),
   正解=消化節奏(3,000 篇約 13 天背景跑完、新筆記優先)+出口(Gemini/付費/ollama)。
② 撞牆體驗:quota_message 08-07 就在 status.json,App 從來沒接——
   app.go pickQuotaNotice(過期快照不說謊)+ main.js cardQuota(三句話卡)+
   progress.go ClassifyFailure 補認三句話(原本掉「其他」)。
   Go 兩 module 全綠;瀏覽器實載 dist 深淺兩主題截圖、console 0 錯。
③ 公開鏡像排除 docs/benchmarks(輸入是 leo 私人筆記)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-09 00:44:34 +08:00
parent 779a1b801e
commit ef8126201c
5 changed files with 162 additions and 1 deletions
+6 -1
View File
@@ -100,7 +100,12 @@ var FailCategories = []string{FailUnsupportedFormat, FailQuotaExhausted, FailNoT
func ClassifyFailure(raw string) string {
switch {
case strings.Contains(raw, "neurons"), strings.Contains(raw, "4006"),
strings.Contains(raw, "額度"):
strings.Contains(raw, "額度"),
// 2026-08-09(P8):額度用完的檔,錯誤欄位存的是 QuotaNotice 三句話
// quota.go Combined()),文案裡刻意沒有「額度」「4006」這些字——
// 少了這兩個識別字,這批檔會被歸進「其他」,畫面上「今天的 AI 額度用完了」
// 反而一份都沒有。識別字取三句話裡最不會變動的兩段。
strings.Contains(raw, "幫你整理了"), strings.Contains(raw, "會自動恢復"):
return FailQuotaExhausted
case strings.Contains(raw, "沒有可抽取的文字"):
return FailNoTextInFile