1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

話題のMistral OCR 4をAzureでゼロから動かして手書き帳票を読ませてみた【2026年7月】

1
Last updated at Posted at 2026-07-14

前回、日本語の手書き作業日報を最安帯のマルチモーダルLLM3つに読ませて比較したところ、Gemini 3.1 Flash-Lite が満点で圧勝という結果になりました。

この記事に対して、@Rambosan さんの記事(Mistral OCR 4 を .NET デスクトップアプリから EntraID 認証で呼び出す構成の解説。実務目線の検証が参考になります)で「汚い日本語の手書き文字はGeminiが圧勝」と引用いただきました。あわせて「活字の複雑な帳票×自然言語抽出は Mistral OCR 4 が強い」という実務所感も書かれています。

Mistral OCR 4 は、Mistral AI社が2026年6月に発表したOCR特化モデルです。「OCR性能でGPT-5.5やGeminiを凌駕」という触れ込みで話題になりました。表・数式・署名・バウンディングボックスまで取れる構造化抽出が売りで、170言語対応。そして Azure AI Foundry からもデプロイできます。

そこで今回は、この Mistral OCR 4 を前回とまったく同じ条件(同じ画像・同じスキーマ・同じ採点基準)のベンチマークにかけて、「OCR特化モデルは日本語の手書き帳票を読めるのか」を確かめます。

せっかくなので、Microsoftアカウントの新規作成から Mistral OCR 4 のAPI疎通まで、Azureをゼロから構築する全手順も記録しました。

この記事でやること

  1. Microsoftアカウント+Azure無料アカウントの新規作成
  2. Azure AI Foundry プロジェクト作成
  3. mistral-ocr-4-0 のデプロイ(→ちょっとした罠がありました)
  4. APIキーで疎通(EntraID不要)
  5. 手書き作業日報ベンチマーク(前回と同一条件)

料金の目安:Mistral OCR 4 はページ単位の課金で OCR が $4/1,000ページ、構造化抽出(Document AI / annotation)を使うと $5/1,000ページです(Mistral公式の料金表・2026年7月時点。Azure側の料金ページにはまだ OCR 4 の行が載っていません)。

1. Microsoftアカウント+Azure無料アカウントの作成

Azureが初めての場合、azure.microsoft.com/free から無料アカウントを作ります。「無料で始める」を押すと、Microsoftアカウントのサインインを求められるので、持っていなければここで新規作成します。

Azure無料アカウントのランディングページ

メールアドレスを入れて確認コードを受け取ります。パスワードレス(コード認証のみ)で作れました。

Microsoftアカウントの新規作成画面

アカウントができたらAzureのサインアップに戻り、氏名・国・電話番号確認とクレジットカード登録を済ませます(無料トライアルでもカード登録は必須です。勝手に課金はされません)。

Azureサインアップのプロフィール入力

サインアップが終わるとAzureポータルに入れます。この時点で30日間有効の無料クレジットが付与されています。

Azureポータルのホーム画面

2. Azure AI Foundry プロジェクトを作る

AIモデルのデプロイは Azure AI Foundry(旧 Azure AI Studio)から行います。ai.azure.com にアクセスして、プロジェクトを新規作成します。今回は mistral-ocr-demo という名前で、リージョンは West US 3 にしました(Mistral OCR 4 が利用可能なリージョンから選びました)。

Foundryプロジェクトの新規作成ダイアログ

プロジェクトができると、エンドポイントやキーが確認できるホーム画面に入ります。

Foundryプロジェクトのホーム画面

3. mistral-ocr-4-0 をデプロイする(→つまずきポイント)

モデルカタログで「mistral」と検索すると mistral-ocr-4-0 が出てきます。

モデルカタログのMistral OCR 4モデルカード

「Deploy」を押せば終わり……かと思いきや、ここでつまずきました。

デプロイ失敗。quota不足のエラー

注意:無料トライアルのサブスクリプションは、モデルのquota(TPM)が全モデル 0 になっていて、1つもデプロイできません。
quota管理画面を見ると、Mistralに限らず GPT系もPhi系も、利用可能枠がすべて「0 / 0」。無料クレジットが残っていても関係ありません。

quota管理画面。全モデルが0/0 TPM

解決策:従量課金にアップグレードする

サブスクリプションを無料トライアルから従量課金制(Pay-As-You-Go)にアップグレードすると、quotaが付与されてデプロイできるようになります。

  • 無料クレジットは失われません(30日の期限内はクレジットが優先消費され、実課金はクレジット切れ後)
  • アップグレードのボタンはサブスクリプション画面には見当たらず、「Cost Management + Billing」→ 課金アカウント → Summaryタブ の「Upgrade now」バナーから行けました

Cost Management + Billing のアップグレードバナー

アップグレード完了画面

アップグレードすると実課金の可能性が生まれるので、あわせて予算アラートを設定しておくと安心です。Cost Management の「Budgets」から、月額の上限と通知しきい値(例:50%でメール)を決めます。

予算アラートの設定完了

あらためてデプロイすると、今度は成功しました。デプロイの種別は GlobalStandard です。

mistral-ocr-4-0 のデプロイ成功

4. API疎通 ― APIキーだけで呼べる

デプロイ詳細画面に表示されるエンドポイントとAPIキーで、すぐに呼び出せます。認証は Authorization: Bearer <APIキー> を付けるというシンプルなもの。

冒頭で紹介した @Rambosan さんの記事は、業務のデスクトップアプリにAPIキーを埋め込めないという要件からEntraID認証を構成されていますのでそちらもぜひご覧ください。サーバーサイドやバッチ処理でキーを安全に管理できるなら、APIキーだけで動くので検証はすぐ始められます

curl -s "https://<リソース名>.services.ai.azure.com/providers/mistral/azure/ocr" \
  -H "Authorization: Bearer $AZURE_MISTRAL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-ocr-4-0",
    "document": {"type": "image_url", "image_url": "data:image/jpeg;base64,..."}
  }'

レスポンスはこんな構造です。pages[].markdown に、レイアウトをmarkdownとして保持したテキストが入ってきます。

{
  "pages": [{"index": 0, "markdown": "# 作業日報\n\n...", "images": [...], "tables": [...]}],
  "model": "mistral-ocr-4-0",
  "document_annotation": null,
  "usage_info": {"pages_processed": 1}
}

5. ベンチマーク ― 前回とまったく同じ条件で

読ませるのは前回と同じく、建設現場の手書き作業日報(記載内容はすべて架空)です。日本式天気記号、気象庁の区切り表記(/=のち)、二重線の訂正跡、○囲みの進捗欄など、OCRの実力差が出るよう"難所"を仕込んであります。詳細は前回の記事をご覧ください。

テストに使った手書きの作業日報(内容はすべて架空)。前回と同一の画像

Mistral OCR にプロンプトはない ― 指示はスキーマのdescriptionに書く

前回の3モデルはchat APIなので「天気記号を名称に変換して」とプロンプトで指示しました。Mistral OCR 4 のAPIにchat型のプロンプトはありません。構造化抽出は document_annotation_format にJSONスキーマを渡す方式で、指示は各フィールドの description に埋め込みます。前回のプロンプトと同じ内容(天気記号の変換規約・訂正の扱い)をdescriptionに書いて、条件を揃えました。

WEATHER_DESC = (
    "日本式天気記号を天気の名称に変換: ○=快晴/○に縦棒=晴れ/◎=くもり/●=雨/結晶マーク=雪。"
    "記号間の区切りは移り変わり(気象庁表記): 『/』=『のち』、『|』=『時々(一時)』。"
    "例: 晴れの記号/くもりの記号 → 『晴れのちくもり』。"
    "二重線などの訂正がある場合は訂正後の記入を採用。"
)

body = {
    "model": "mistral-ocr-4-0",
    "document": {"type": "image_url", "image_url": f"data:image/jpeg;base64,{b64}"},
    "document_annotation_format": {
        "type": "json_schema",
        "json_schema": {"name": "work_report", "schema": SCHEMA, "strict": True},
    },
}

スキーマ本体(SCHEMA)と採点コードは前回と同一です。採点も同じく、正解データとのフィールド単位の突き合わせ(全48項目+ヘッダ5項目)で行いました。

結果 ― 総合70%、4モデル中3位

モデル ヘッダ 天候 全項目 総合 1,000枚あたり
Gemini 3.1 Flash-Lite 5/5 6/6 48/48 100% 5.0 $1.53
GPT-5.4 mini 5/5 5/6 45/48 94% 5.1 $5.11
Mistral OCR 4 3/5 3/6 34/48 70% 10.4 $5.00
GPT-5.4 nano 1/5 3/6 24/48 47% 6.3 $1.38

コスト×精度の散布図(4モデル)。Mistral OCR 4 は mini と同価格帯で精度70%

「OCR特化モデルだから帳票に強いはず」という予想は、日本語の手書き帳票に関しては外れました。Rambosanさんの「手書きはGemini」という所感は、私のベンチマークでも追認された形です。

内訳を見ていくと、単にMistral OCR 4が劣っているわけではなく、得意・不得意が見えた結果でした。

良かった点:表の構造保持は4モデルで最も丁寧

構造化抽出とは別に素のOCR(annotationなし)も走らせたところ、pages[].markdown には8列×6行の表がmarkdownテーブルとして完全に再現されていました。天気記号も無理に解釈せず記号のまま保持します。「レイアウトを崩さず文書をmarkdown化する」という点に関しては、OCR専用モデルの利点が見えました。

|  日付 | 天候 (記号) | 気温℃ | 作業内容 | 作業 人数 | 使用機材・資材 | 数量 | 進捗 |
| --- | --- | --- | --- | --- | --- | --- | --- |
|  2/2 | ☉ | 8.2 | 基礎配筋 D13 組立 | 5 | 異形鉄筋 D-13 | 120本 | ... |

弱点1:「○で囲む」形式は全滅

進捗欄は「順調・要注意・遅延」のどれかを丸で囲む形式です。素のOCRは3択を全行そのまま出力(どれが囲まれているか判定せず)、構造化抽出は全行「順調」に倒しました。正解は2/4が「要注意」、2/5と2/6が「遅延」。遅延を順調と報告してしまうので、実務ではかなり危険な落とし方です。

弱点2:手書きの崩し字・記号の意味解釈

  • 天気記号の区別が不安定:快晴(○)を「晴れ」、晴れ(○に縦棒)を「快晴」と取り違え。「晴れ/くもり=晴れのちくもり」の組合せも「晴れ」止まり。面白いのは、素のOCRでは記号自体(⏱◎)は取れているのに、構造化抽出の段階で規約変換に失敗している点です
  • 手書き固有名詞の誤読:「ブルーシート」→「ブルーミート」、「融雪剤」→「雨水暖かい」、「東町」→「柴町」など14件/48項目

弱点3:前回のGPT-5.4 miniと同じ場所で、同じように間違えた

2/6の作業内容「降雪により現場閉所」を「現場開所」と誤読しました。実は前回、GPT-5.4 mini もまったく同じセルで閉→開の誤読をしています。「複数モデルで読ませてクロスチェックすれば安心」とは言い切れない実例になりました。人の目によるチェック(human-in-the-loop)は、やはり外せません

結論 ― 使い分けの指針

  • 日本語の手書き帳票を読むなら、引き続き Gemini 3.1 Flash-Lite。最安帯で満点、Mistral OCR 4 の1/3以下のコストです
  • Mistral OCR 4 の土俵は活字文書の構造化(表・レイアウト保持・markdown化)。手書きの意味解釈を求めるモデルではありませんでした。Rambosanさんの「活字の複雑な帳票はMistralが強い」という所感とも整合します
  • チェック式・丸囲み式の欄は要注意。どのモデルでも精度が落ちやすいポイントですが、Mistral OCR 4 は特に苦手でした

前回と同じ締めになりますが、モデルは数か月で入れ替わります。この数字も2026年7月時点のスナップショットとして、実際に使う帳票で測り直すことをおすすめします。

なお、検証が終わったら Azure のリソース(デプロイとプロジェクト)は消しておきましょう。従量課金にアップグレードした場合は、予算アラートも忘れずに。


私たちPROMPT-X(プロンプトX)は、こうした「現場の困りごとをAIとデータで解く」開発を、地方拠点から全国のプロジェクトで手がけています。未経験からの参加も歓迎しています。

  • 地方から、全国レベルの開発に挑戦しませんか? → 採用情報
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?