Setup Guide - Receipt OCR Sorter
OCR領収書仕分けツールの環境構築手順。
必要要件
| 要件 | バージョン | 備考 |
|---|---|---|
| Python | 3.11+ | 3.12推奨 |
| GPU | CUDA対応 | 任意(CPUでも動作するが遅い) |
| ffmpeg | 最新安定版 | 動画変換時のみ |
| ストレージ | ~3GB | モデルキャッシュ含む |
Step 1: Python venv 作成
python -m venv "$env:USERPROFILE\ocr_env"
& "$env:USERPROFILE\ocr_env\Scripts\Activate.ps1"Step 2: CUDA版 PyTorch インストール(GPU利用時)
# まず既存のCPU版を削除
pip uninstall torch torchvision torchaudio -y
# CUDA 12.4 版をインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124確認:
python -c "import torch; print('CUDA:', torch.cuda.is_available(), torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'N/A')"Step 3: Surya OCR + 依存パッケージ
pip install surya-ocr Pillow jaconvStep 4: ffmpeg(動画対応時のみ)
winget install Gyan.FFmpeg確認:
ffmpeg -versionStep 5: receipt_sorter.py 配置
receipt_sorter.py をワークスペースルートに配置する。
Skill の references/receipt_sorter.py にリファレンスコピーがある。
Step 6: Intake Folder を決める
未分類の生ファイルは、workspace root に置かず専用の intake folder に集約する。
例:
incoming/unassigned/- 案件が確定しているファイルは intake folder を経由せず、対象の project folder に直接置いてよい
- dry-run 用のコピーや検証入力は一時フォルダで扱い、完了後に削除する
環境変数
| 変数 | 値 | 説明 |
|---|---|---|
PYTHONUTF8 |
1 |
Python UTF-8 出力強制 |
UV_CACHE_DIR |
C:\Temp\uv_cache |
キャッシュ先(任意) |
$env:PYTHONUTF8='1'
$env:UV_CACHE_DIR='C:\Temp\uv_cache'トラブルシューティング
| 問題 | 解決策 |
|---|---|
torch.cuda.is_available() が False |
Step 2 の CUDA版 PyTorch を再インストール |
ModuleNotFoundError: surya |
pip install surya-ocr を実行 |
WinError 32 ファイルロック |
receipt_sorter.py 最新版を使用(画像ハンドル自動クローズ対応済み) |
| OCRが遅い | GPU未使用の可能性。CUDA確認コマンドで検証 |
| 文字化け | $env:PYTHONUTF8='1' を設定 |