feat: implement PP-Structure table extraction pipeline with GPU runtime configuration support

This commit is contained in:
Adriankf59
2026-04-27 00:51:23 +07:00
parent 9d969e61fd
commit 6d793758ff
12 changed files with 896 additions and 31 deletions

49
docs/OCR-RUNTIME-MODES.md Normal file
View File

@@ -0,0 +1,49 @@
# OCR Runtime Modes
Backend OCR bisa dijalankan dalam mode CPU atau GPU lewat konfigurasi `OCR_USE_GPU`.
## Cara Pakai
Mode CPU:
```powershell
.\update.ps1 -OcrMode cpu
```
Mode GPU:
```powershell
.\update.ps1 -OcrMode gpu
```
Jika parameter tidak diberikan, `update.ps1` memakai nilai yang sudah ada di `.env`.
```env
OCR_USE_GPU=false
```
atau:
```env
OCR_USE_GPU=true
```
## Perilaku Script
- `-OcrMode cpu` menyimpan `OCR_USE_GPU=false` ke `.env`.
- `-OcrMode gpu` menyimpan `OCR_USE_GPU=true` ke `.env`.
- Script tidak menghapus package Paddle/CUDA yang sudah terpasang.
- Dalam mode GPU, script akan memasang `paddlepaddle-gpu` dan runtime cuDNN/cuBLAS jika belum ada.
- Dalam mode CPU, script hanya memasang `paddlepaddle` CPU jika belum ada runtime Paddle sama sekali.
## Catatan
Mode CPU tidak membutuhkan CUDA, cuDNN, atau driver NVIDIA.
Mode GPU membutuhkan NVIDIA driver dan runtime CUDA/cuDNN yang cocok. Pada Windows, backend juga menambahkan folder DLL NVIDIA dari `.venv` secara otomatis sebelum PaddleOCR diinisialisasi.
`TABLES_ENABLED` adalah konfigurasi terpisah dari mode CPU/GPU. Jika PP-Structure belum stabil di environment lokal, biarkan:
```env
TABLES_ENABLED=false
```