space ocr
指南文章價格文件
developer

同樣的文件,同樣的結構,不同的答案: space-ocr vs Mistral

8份高難度文件、463個欄位、每個引擎3輪的受控基準測試:欄位讀取率、多輪穩定性,以及分數表看不到的座標差距。

6 分鐘閱讀· 2026-08-08

每家OCR廠商的展示都能完美讀出一張乾淨的列印發票,我們也不例外。但這對你的選型決策毫無資訊量。真正重要的問題有三個:碰到難的文件會怎樣?同一頁跑兩次,答案會不會變?不把每個值都人工複核一遍,要怎麼找出讀錯的值?

所以我們直接測了。從自家的回歸語料裡挑出最難的8份文件,給space-ocr和Mistral Document AI發送完全相同的請求,用同一個腳本評分。這篇文章就是結果,方法寫得夠細,想反駁的人可以精確地反駁。

設置如下:8份真實文件(幾張日文送貨單、一張商品名和數量單價分打兩行的超市收據、一張對著螢幕拍攝的22行批發行情表、一張佣金明細),共463個可評分欄位。三個測試組拿到完全相同的圖片、欄位結構和「按印刷原樣擷取」的指令:space-ocr正式環境的欄位擷取API、Mistral OCR加JSON結構註釋(mistral-ocr-latest)、Mistral視覺大模型加結構化輸出(mistral-medium)。每組跑3輪,按去空白後的精確比對對照凍結的標準答案評分,72輪原始輸出全部存檔。2026年8月。

基準測試結果卡:8份文件463個欄位,space-ocr 91.1%,Mistral OCR 70.0%,Mistral視覺大模型73.5%
8份高難度文件,463個欄位,每組3輪,同樣的結構和評分腳本。2026年8月。

先說結果。space-ocr在463個欄位中以精確比對讀出91.1%(3輪平均)。Mistral OCR註釋是70.0%,視覺大模型是73.5%。為排除格式雜訊,我們把只差分隔符或空格的不一致全部剔除,只數內容錯誤:每輪space-ocr約23個,Mistral兩組分別是119個和93個。

在下結論之前有件事值得先說清楚:Mistral認字認得不錯。在這組裡最乾淨的文件,那張22行的列印行情表上,Mistral OCR以141中139和我們打平。差距是在文件結構變得棘手時拉開的。在那張商品名一行、數量和單價另起一行的收據上,Mistral每輪13個欄位只拿到2.3個:它把合計區塊捲進了商品行,配不上那兩行。在雜亂的送貨單上,數量跑進了規格欄。字大多是對的,字落進的表格是錯的。

穩定性本身就是一個發現。同樣的輸入跑3輪,我們的總分波動16個欄位,Mistral OCR波動100個。一小時前還能讀出72中58的文件,下一輪變成3,43行表格的每一欄都被悄悄打亂。回應裡沒有任何訊號告訴你,你剛付費的是哪一種輪次。

並排對比:space-ocr在22行行情表上畫出138個欄位級方框,Mistral返回一個覆蓋整張表的矩形
同一張行情表經過兩個引擎。左邊每個欄位一個錨定框,右邊整張表一個區塊。

這張圖才是真正的論點,而它在任何分數表裡都看不到。那張行情表上,space-ocr返回了138個方框,每個欄位一個,各自釘在讀取它的像素上。Mistral給整張表返回了一個矩形,因為它的回應裡根本不存在欄位級座標,任何文件都一樣,區塊輪廓就是極限。也沒有任何驗證訊號。Mistral讀錯的時候是悄悄讀錯的,找出來的唯一辦法是全部複核。

space-ocr的每個值都帶著方框、說明框下文字是否吻合的text_verified、帶原因的needs_review,這個版本起還有ocr_confidence分數,以及給頁面上重複出現的值用的label錨點。這次基準測試的誠實總結不是Mistral不會讀,乾淨的印刷品它讀得挺好;而是一個API告訴你哪些答案可以信,另一個要求你全信。

✓ Verified

驗證的運作方式:語言模型只返回值和詞元提示,從不生成座標。引擎把每個返回值與OCR環節在頁面上實際偵測到的符號逐字比對,以match_ratio打分(0.85以上算確信比對),再讓兩個引擎互相核對,不一致就成為帶原因的needs_review標記。方框是xmin/ymin/xmax/ymax,0到1000正規化。關於上面數字的一條公平性說明:標準答案是按我們管線的輸出慣例凍結的,所以包括我們在內的所有即時引擎都會因邊界切分差異被扣分。絕對值請當下限看,相對比較才是結論。完整方法和72輪原始輸出都有存檔。

價格也照基準測試文章的樣子直說:每張成功掃描$0.05,失敗自動退款,每月前100頁免費,不用綁卡。在相信任何人的圖表之前,包括這篇文章的,拿你自己的5份文件在兩邊都跑一遍。下面的步驟就是我們用的流程。

  1. 挑難啃的文件,不要展示樣張
    選5到10頁真正折磨人的:多行紀錄、重複的值、拍螢幕照片、密集表格。乾淨的樣張分不出廠商高下。
  2. 固定一套結構和指令
    欄位清單只寫一次,用同樣的名稱和描述原樣發給每個引擎。要求按印刷原樣返回值。
  3. 先手寫標準答案
    在跑任何東西之前,把每個欄位的期望值抄下來,之後不再修改。
  4. 每個引擎至少跑3輪
    只跑一輪會掩蓋不穩定。所有輪次用同一個腳本評分,看波動而不是只看平均。
  5. 單獨統計無聲的錯誤
    每個錯誤值都記下引擎是否給了標記。帶標記的錯值只花你一眼,沒有訊號的錯值花的是你在它上面搭的整個流程。
這是說Mistral OCR讀不了文件嗎?
不是。在乾淨密集的印刷品上,它的認字和我們打平。我們測到的差距在於文件結構處理(多行紀錄配對、表格欄的保持)、多輪穩定性,以及欄位級座標和信任訊號的缺失。
這個基準測試能重現嗎?
能。語料定義、實際請求、評分腳本和72輪原始輸出全部存檔。內文寫明了方法:同樣的圖片、同樣的欄位結構、同樣的指令、同樣的評分,每組3輪。
廠商自己做的基準測試為什麼可信?
請當作起點而不是結論。我們公開了方法、注意事項,連Mistral和我們打平的案例也一併公開。最有力的證據是一次呼叫就能自己驗證的結構性差異:一個API返回欄位級座標和複核標記,另一個不返回。
space-ocr在每份文件上都贏嗎?
不是。在最乾淨的列印表格上兩個引擎讀出的欄位數相同。貫穿整個語料的差異是結構處理、多輪一致性和驗證層。
欄位級座標實際給我什麼?
可稽核性。人可以點擊一個值看到它是從哪裡讀出來的,只複核被標記的欄位而不是全部,在錯誤值進入表格或ERP之前把它攔下來。

跑一次你自己的基準測試

每月100頁免費。每個值都帶著方框和信任判定返回。