はじめに——「画像を読めるAI」をクラウドに出さずに使いたい
製造業の外観検査写真、不動産の図面、経理のレシートや請求書——業務で扱う画像やPDFには、社外に出せない情報が大量に含まれています。
クラウドAPIのGPT-4oやClaude Visionを使えば高精度な画像認識は可能ですが、「この画像をクラウドに送信して大丈夫か?」という懸念が常につきまといます。特に機密性の高い書類や個人情報を含む画像は、社外のサーバーに送ること自体がセキュリティポリシー上許容されないケースも多いでしょう。
そこで注目されているのが、VLM(Vision-Language Model:視覚言語モデル)のローカル実行です。2025年以降、Qwen2.5-VL、Gemma 3、LLaVAといったオープンソースのマルチモーダルモデルが急速に進化し、Ollamaを使えば自社のPC1台で、完全オフラインの画像認識AIを動かせるようになりました。
本記事では、モデル選定からOllamaでのセットアップ、Python・AnythingLLMからの呼び出し、業務シナリオ別のプロンプト設計まで、ローカルVLMの実践ガイドを一気通貫で解説します。
関連記事:ローカルLLMの基本概念やメリットをまだ把握していない方は、まず「ローカルLLM入門ガイド」からご覧ください。
ローカルVLM(Vision-Language Model)とは何か
VLMの基本的な仕組み
VLMとは、テキストだけでなく画像も入力として受け取り、画像の内容を理解した上でテキストで回答できるAIモデルのことです。「マルチモーダルモデル」や「ビジョンモデル」とも呼ばれます。
内部的には、画像をビジョンエンコーダー(Vision Transformer等)で特徴量に変換し、その特徴量をテキストと一緒に大規模言語モデル(LLM)に入力する仕組みです。つまり、VLMは「目(ビジョンエンコーダー)」と「脳(LLM)」の2つのコンポーネントで構成されています。
なぜ「ローカル」で動かすのか
ローカルVLMの最大のメリットは以下の3点です。
| メリット | 説明 |
|---|---|
| データが外部に出ない | 画像データはすべて自社のPC内で処理されるため、クラウドへの送信が不要。機密図面、個人情報を含む書類、医療画像なども安心して処理できる |
| 通信コストゼロ | API利用料が発生しない。大量の画像を処理するバッチ業務では、クラウドAPIと比較して大幅なコスト削減が可能 |
| オフラインで動作 | インターネット接続なしで動作するため、ネットワーク環境が制限された工場や現場でも利用可能 |
関連記事:マルチモーダルAIの業務活用シナリオ全般については「マルチモーダルAI業務活用ガイド」で詳しく解説しています。
2026年版 ローカルVLMモデル比較——どれを選ぶべきか
2026年3月時点でOllamaから利用できる主要なVLMを比較します。
主要モデル一覧
| モデル | 開発元 | パラメータサイズ | VRAM目安(Q4量子化) | コンテキスト長 | 特徴 |
|---|---|---|---|---|---|
| Qwen2.5-VL | Alibaba(通義千問) | 3B / 7B / 72B | 3B: 約3GB / 7B: 約6GB / 72B: 約40GB | 128K | 文書・表・図の理解に特に強い。請求書やフォームの構造化出力、バウンディングボックスによる物体位置特定に対応。7Bモデルが性能とサイズのバランスに優れる |
| Gemma 3 | Google DeepMind | 4B / 12B / 27B | 4B: 約3GB / 12B: 約8GB / 27B: 約16GB | 128K | 140以上の言語に対応。スライディングウィンドウアテンションによりメモリ効率が高い。シングルGPUで動作する最も高性能なオープンモデルの一つ。1Bモデルはテキスト専用なので注意 |
| LLaVA 1.6 | LLaVA Team | 7B / 13B / 34B | 7B: 約5GB / 13B: 約9GB / 34B: 約20GB | 4K〜32K | VLMの先駆け的モデル。高解像度画像に対応し、テキスト認識と論理推論が改善。コミュニティの蓄積が豊富で参考資料が多い |
| Llama 3.2 Vision | Meta | 11B / 90B | 11B: 約8GB / 90B: 約50GB | 128K | MetaのLlamaファミリーのビジョン対応版。汎用的な画像理解に強いが、文書OCRではQwen2.5-VLに劣る傾向 |
| MiniCPM-V 2.6 | OpenBMB / 清華大学 | 8B | 約5.5GB | 32K | サイズの割に高性能。複数画像の同時処理やビデオフレームの理解に対応。エッジデバイス向けに最適化 |
業務用途別おすすめモデル
| 業務用途 | おすすめモデル | 理由 |
|---|---|---|
| 請求書・レシートのOCR+構造化 | Qwen2.5-VL(7B) | DocVQAベンチマークで95.7のスコア。表やフォームの構造化JSON出力に対応しており、経理業務との親和性が最も高い |
| 製造業の外観検査写真の分析 | Gemma 3(12B) | 汎用的な画像理解力が高く、128Kの長いコンテキストで複数枚の比較分析も可能。日本語対応も良好 |
| 不動産の図面・間取り図の読み取り | Qwen2.5-VL(7B) | 図やレイアウトの空間的理解に強く、バウンディングボックスで領域を特定できる |
| 日本語ドキュメントの汎用分析 | Gemma 3(12B) | 140以上の言語をサポートし、日本語のテキスト認識と理解で安定した性能 |
| 軽量環境(ノートPC)での利用 | Gemma 3(4B)またはQwen2.5-VL(3B) | 3〜4GB程度のVRAMで動作し、Apple Silicon搭載のMacBookでも実用的な速度 |
関連記事:テキスト処理LLMのモデル選定については「ローカルLLMモデル選定ガイド」をご覧ください。
Ollamaセットアップ手順——VLMを動かすまでの最短ルート
ステップ1:Ollamaのインストール
Ollamaは公式サイト(https://ollama.com/)からダウンロードできます。macOS、Windows、Linuxに対応しています。
■ macOSの場合 公式サイトからzipをダウンロード → 解凍 → ApplicationsフォルダにドラッグしてCLIを有効化 ■ Windowsの場合 公式サイトからインストーラー(.exe)をダウンロード → 実行 ■ Linuxの場合 curl -fsSL https://ollama.com/install.sh | sh
インストール後、ターミナルで以下のコマンドを実行してバージョンを確認します。
ollama --version
重要:Qwen2.5-VLを利用するにはOllama 0.7.0以上が必要です。バージョンが古い場合はアップデートしてください。
ステップ2:VLMモデルのダウンロード
利用したいモデルをpullコマンドでダウンロードします。
# Qwen2.5-VL(7B、推奨) ollama pull qwen2.5vl # Qwen2.5-VL(3B、軽量版) ollama pull qwen2.5vl:3b # Gemma 3(4B、デフォルト) ollama pull gemma3 # Gemma 3(12B) ollama pull gemma3:12b # LLaVA 1.6(7B) ollama pull llava # Llama 3.2 Vision(11B) ollama pull llama3.2-vision
ダウンロード容量の目安:Qwen2.5-VL 7Bで約6GB、Gemma 3 4Bで約3GB。初回のみダウンロードが必要で、以降はローカルから即座に起動できます。
ステップ3:画像を入力してテスト
CLIから直接画像を入力してテストできます。
# CLIで対話モードを起動 ollama run qwen2.5vl # 対話モード内で画像パスを指定 >>> /Users/username/Desktop/invoice.jpg この請求書の金額と日付を読み取ってください
画像ファイルのパスを入力し、続けてプロンプトを書くだけで、モデルが画像を分析して回答を返します。Ollamaの2025年5月のマルチモーダルエンジン刷新により、複数画像の同時入力にも対応しています。
# 複数画像の同時入力例(Gemma 3) ollama run gemma3:12b >>> /path/to/image1.jpg /path/to/image2.jpg この2枚の製品写真を比較して、外観上の違いを列挙してください
関連記事:Mac miniでのローカルLLM環境構築の詳細は「Mac mini ローカルLLM構築ガイド」をご覧ください。
PythonからVLMを呼び出す——業務自動化への第一歩
CLIでの手動テストの次は、Pythonスクリプトからの呼び出しです。これにより、大量の画像を自動処理するバッチ処理や、社内システムとの連携が可能になります。
基本的な呼び出しコード
まず、Ollama公式Pythonライブラリをインストールします。
pip install ollama
基本的な画像分析コードは以下の通りです。
import ollama
response = ollama.chat(
model='qwen2.5vl',
messages=[{
'role': 'user',
'content': 'この画像の内容を日本語で説明してください。',
'images': ['./sample_image.jpg']
}]
)
print(response['message']['content'])
請求書読み取りの自動化スクリプト(実用例)
経理業務でよくある「紙の請求書をスキャンしてデータ化する」処理の自動化例です。
import ollama
import json
import glob
def extract_invoice_data(image_path):
"""請求書画像から構造化データを抽出する"""
response = ollama.chat(
model='qwen2.5vl',
messages=[{
'role': 'user',
'content': '''この請求書画像から以下の情報をJSON形式で抽出してください。
{
"発行日": "",
"請求書番号": "",
"発行元会社名": "",
"合計金額": "",
"税額": "",
"支払期限": "",
"明細": [{"品目": "", "数量": "", "単価": "", "金額": ""}]
}
読み取れない項目は"不明"としてください。''',
'images': [image_path]
}]
)
return response['message']['content']
# フォルダ内の全請求書画像を一括処理
for image_file in glob.glob('./invoices/*.jpg'):
print(f"処理中: {image_file}")
result = extract_invoice_data(image_file)
print(result)
print("---")
REST APIを使った呼び出し(他言語・他システム連携用)
Ollamaはデフォルトで http://localhost:11434 にREST APIを公開しています。Pythonに限らず、どの言語・システムからでもHTTPリクエストで呼び出せます。
# curlでの呼び出し例(画像はBase64エンコード)
curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5vl",
"messages": [{
"role": "user",
"content": "この画像を説明してください。",
"images": ["(Base64エンコードされた画像データ)"]
}]
}'
AnythingLLMからVLMを使う——ノーコードで画像+RAGを統合
AnythingLLMは、OllamaをバックエンドとしてGUIベースでLLMを操作できるオーケストレーションツールです。コーディング不要で画像のドラッグ&ドロップ入力やRAG(社内文書検索)との組み合わせが可能です。
AnythingLLMでVLMを使うメリット
| 機能 | 説明 |
|---|---|
| 画像のドラッグ&ドロップ | チャット画面に画像をドラッグするだけでVLMに入力できる。ITに詳しくないスタッフでも利用可能 |
| RAGとの統合 | 社内マニュアルや仕様書をベクトルDBに格納し、画像分析結果と組み合わせた回答が可能。例:「この部品の写真を見て、マニュアルの該当箇所を教えて」 |
| マルチユーザー・ワークスペース | 部署ごとにワークスペースを分け、それぞれ異なるモデルやドキュメントを割り当てられる |
| Webウィジェット | 社内ポータルにチャットウィジェットを埋め込み、画像付きの問い合わせ窓口として利用可能 |
セットアップ手順
■ 1. AnythingLLMのインストール 公式サイト(https://anythingllm.com/)からデスクトップ版をダウンロード ■ 2. LLMプロバイダーとしてOllamaを選択 設定 → LLM Preference → Ollamaを選択 サーバーURL: http://localhost:11434(デフォルト) ■ 3. ビジョン対応モデルを選択 モデル一覧からqwen2.5vl、gemma3等のビジョン対応モデルを選択 ■ 4. ワークスペースを作成してドキュメントをアップロード RAGを使う場合は、関連する社内文書(PDF・テキスト)をワークスペースにドラッグ&ドロップ ■ 5. チャット画面で画像を入力 チャット入力欄に画像をドラッグ&ドロップまたはクリップボードから貼り付け
関連記事:RAGの構築手順や最適化については「ローカルLLM×RAG統合ガイド」をご覧ください。
業務シナリオ別プロンプト集——コピペで使える実践テンプレート
以下は、業種・業務ごとにそのまま使えるプロンプトテンプレートです。モデルにはQwen2.5-VL(7B)またはGemma 3(12B)を推奨します。
シナリオ1:経理——レシート・請求書のデータ化
この画像はレシートまたは請求書です。以下の情報をJSON形式で抽出してください。
{
"店舗名または発行元": "",
"日付": "YYYY-MM-DD形式",
"合計金額": "数値のみ(円記号不要)",
"消費税額": "数値のみ",
"支払方法": "現金/クレジットカード/その他",
"主な品目": ["品目1", "品目2", "品目3"]
}
読み取れない項目は null としてください。
推測で補完せず、画像に記載されている情報のみを抽出してください。
シナリオ2:製造業——外観検査写真の異常検出
この画像は製品の外観検査写真です。以下の観点で分析してください。
1. 表面に傷、ヒビ、変色、汚れなどの異常が見られるか
2. 異常がある場合、その位置(画像内の上下左右)と大きさの概算
3. 異常の深刻度(軽微 / 要確認 / 重大)
4. 総合判定(合格 / 要再検査 / 不合格)
回答は以下のJSON形式で出力してください。
{
"異常の有無": "あり/なし",
"異常箇所": [{"位置": "", "種類": "", "深刻度": ""}],
"総合判定": "",
"補足コメント": ""
}
シナリオ3:不動産——間取り図の情報抽出
この画像は物件の間取り図です。以下の情報を読み取ってください。 1. 間取りタイプ(例:2LDK、3DK等) 2. 各部屋の名称と広さ(帖数または㎡) 3. バルコニー・ベランダの有無と方角 4. 水回り(キッチン・バス・トイレ)の配置 5. 玄関の位置 6. 特記事項(ウォークインクローゼット、床暖房表記など) 読み取れない情報は「図面からは判読不可」と明記してください。
シナリオ4:総務・法務——契約書スキャン画像のサマリー作成
この画像はスキャンされた契約書のページです。以下の情報を抽出してください。 1. 契約書のタイトル 2. 契約当事者(甲・乙) 3. 契約日 4. 契約期間 5. 主要な条項のサマリー(各条項を1〜2文で要約) 6. 特に注意すべき条項(違約金、解除条件、競業避止など) 注意:法的アドバイスではなく、文書の内容の読み取りと整理のみを行ってください。
シナリオ5:小売・EC——商品写真からの説明文自動生成
この画像は販売用の商品写真です。ECサイトの商品説明文を作成してください。 条件: - 文字数:150〜200文字 - トーン:カジュアルで親しみやすい - 含めるべき情報:色、素材感、サイズ感、使用シーン - 最後に商品のアピールポイントを1文で 写真から確認できる情報のみで記述し、推測は「〜のように見えます」と表現してください。
ハードウェア要件と性能チューニング
推奨ハードウェア構成
| 利用レベル | 構成例 | 対応モデル | 処理速度の目安 |
|---|---|---|---|
| エントリー | MacBook Air / Pro(M1/M2、16GB RAM) | Qwen2.5-VL 3B、Gemma 3 4B | 画像1枚あたり10〜30秒 |
| スタンダード | Mac mini M4 Pro(48GB RAM)またはRTX 4070搭載PC(12GB VRAM) | Qwen2.5-VL 7B、Gemma 3 12B | 画像1枚あたり5〜15秒 |
| ハイエンド | RTX 4090搭載PC(24GB VRAM)またはMac Studio M2 Ultra | Gemma 3 27B、Llama 3.2 Vision 11B | 画像1枚あたり3〜8秒 |
性能を改善するポイント
■ 画像サイズを適切にリサイズする → 多くのVLMは内部で画像をリサイズするが、事前に長辺1,024px程度に縮小しておくと 読み込み時間が短縮される ■ Q4量子化モデルを使う → Ollamaのデフォルトダウンロードは通常Q4量子化版。 精度を優先する場合はQ8版(例:ollama pull qwen2.5vl:7b-instruct-q8_0)も選択可能 だが、VRAM消費は約2倍になる ■ GPUオフロードを確認する → NVIDIA GPUの場合、ollama ps コマンドでGPU利用状況を確認 → Apple SiliconのMacでは自動的にMetal Performance Shadersが利用される ■ コンテキスト長を制限する → 長いコンテキストが不要な場合、環境変数 OLLAMA_NUM_CTX で制限するとメモリ節約に
注意点とローカルVLMの限界
ローカルVLMは強力ですが、万能ではありません。現時点での限界を正直にお伝えします。
精度の限界
| 項目 | クラウドAPI(GPT-4o / Claude Vision) | ローカルVLM(7B〜12Bクラス) |
|---|---|---|
| 手書き日本語の認識 | 高精度 | やや不安定(特に崩し字) |
| 複雑な表の構造化 | ほぼ正確 | セル結合や多段ヘッダーで誤りが出る場合あり |
| 写真中の微細な欠陥検出 | 高感度 | 明確な異常は検出可能だが、微妙な色むらや微小な傷は見逃す場合あり |
| ハルシネーション | 少ない | 比較的多い。読み取れない文字を「推測」で補完する傾向がある |
運用上の注意
- VLMの出力を最終判断にしない。特に外観検査や契約書の読み取りでは、VLMの出力は「一次スクリーニング」として扱い、最終判断は人間が行うワークフローを設計してください。
- ハルシネーション対策として「読み取れない場合はnullと回答せよ」をプロンプトに明記する。これにより、モデルが無理に補完するリスクを低減できます。
- モデルの更新に注意。Ollamaのモデルは頻繁にアップデートされます。本番環境では特定バージョンを固定して運用し、更新時は検証環境でテストしてから切り替えてください。
- PDFの直接入力には一工夫必要。現時点のOllama VLMはPDFを直接読めません。PDFをページ単位でPNG/JPEG画像に変換してから入力する必要があります。Pythonの
pdf2imageライブラリ等で自動変換が可能です。
よくある質問(Q&A)
Q1. GPUがないPCでもVLMは動かせる?
はい、CPU実行も可能です。ただし処理速度は大幅に遅くなります(画像1枚あたり数分かかる場合があります)。実用的な速度で使うには、Apple Silicon搭載のMac(M1以降)またはNVIDIA GPUを搭載したPCを推奨します。Intel CPUのみのPCでは、Qwen2.5-VL 3BやGemma 3 4B等の小型モデルに限定して試用可能です。
Q2. Qwen2.5-VLは中国製モデルだが、セキュリティ上の問題はないか?
ローカル実行の場合、モデルはダウンロード後にPC内で完全にオフライン動作します。推論時にデータが外部に送信されることはありません。ただし、モデルファイルのダウンロード元の信頼性は確認すべきです。Ollamaの公式ライブラリ経由でのダウンロードであれば、改ざんリスクは低いと考えられます。組織のセキュリティポリシーで中国製モデルが禁止されている場合は、Gemma 3(Google)やLlama 3.2 Vision(Meta)を選択してください。
Q3. PDF文書をそのままVLMに入力できる?
現時点のOllamaのVLMは、画像ファイル(JPEG、PNG等)の入力に対応していますが、PDFの直接入力はサポートしていません。PDFを処理するには、ページ単位で画像に変換する前処理が必要です。Pythonの pdf2image ライブラリや、macOSの sips コマンドで自動変換できます。AnythingLLMはPDFのテキスト抽出(RAG用)に対応していますが、これはVLMによる画像認識ではなくテキスト抽出エンジンによる処理です。
Q4. VLMとOCR専用ツール(Tesseract等)はどう使い分ける?
OCR専用ツールは「文字を正確にテキスト化する」ことに特化しています。一方、VLMは「画像の内容を理解して自然言語で回答する」ことが得意です。定型フォーマットの帳票で文字抽出精度が最重要ならOCR専用ツール、画像の文脈理解や構造化出力が必要ならVLMが適しています。両者を組み合わせるアプローチ(OCRで文字を抽出→VLMで構造化・要約)も有効です。
Q5. 複数枚の画像を一度に処理できる?
Ollamaの2025年5月のマルチモーダルエンジン刷新により、Gemma 3等のモデルでは1つのプロンプト内で複数画像の同時入力が可能になっています。CLIでは画像パスをスペース区切りで並べ、Python APIでは images リストに複数のパスを含めます。ただし、画像枚数が増えるとVRAM消費と処理時間が増大するため、同時入力は4〜5枚程度を目安にしてください。
まとめ——「見せるAI」をクラウドに出さない選択肢がここにある
2026年のローカルVLMは、「実験的なおもちゃ」から「業務で使える実用ツール」へと確実に進化しています。
本記事のポイントを3つに絞ります。
1. Qwen2.5-VL(7B)とGemma 3(12B)が実用の中心。文書OCR・構造化出力にはQwen2.5-VL、汎用的な画像理解と日本語対応にはGemma 3を選択。どちらもOllamaでワンコマンドでセットアップ可能。
2. まずはCLIで試し、Pythonで自動化し、AnythingLLMで全社展開する。段階的に導入することで、技術的なハードルとコストを最小限に抑えられます。
3. 精度の限界を理解した上で「一次スクリーニング」として使う。ローカルVLMの出力は人間のレビューと組み合わせることで、安全かつ効率的なワークフローが実現します。
機密画像をクラウドに送らずに済む——それだけで、AIの活用範囲は大きく広がります。今日からOllamaをインストールして、自社の画像やPDFで試してみてください。
参考リンク
- Ollama公式サイト
- Ollama — Visionモデル一覧
- Ollama Blog — Multimodal Models
- Ollama — Qwen2.5-VL
- Ollama — Gemma 3
- Google — Introducing Gemma 3
- AnythingLLM公式サイト
免責事項:本記事は2026年3月時点の公開情報に基づく情報提供です。各AIモデルの性能は利用環境やバージョンにより異なります。業務での利用にあたっては、自社のデータと要件で十分なテストを行った上で導入判断してください。モデルやツールのバージョンアップにより、本記事の手順やコマンドが変更される可能性があります。

コメント