Update app.py
Browse files
app.py
CHANGED
|
@@ -2,14 +2,16 @@ from fastapi import FastAPI, UploadFile, File, HTTPException
|
|
| 2 |
from fastapi.responses import HTMLResponse
|
| 3 |
from fastapi.middleware.cors import CORSMiddleware
|
| 4 |
from paddleocr import PaddleOCR
|
|
|
|
| 5 |
import numpy as np
|
| 6 |
from PIL import Image
|
| 7 |
import io
|
|
|
|
| 8 |
|
| 9 |
# 1. Khởi tạo ứng dụng FastAPI
|
| 10 |
app = FastAPI(title="PaddleOCR Tiếng Việt API")
|
| 11 |
|
| 12 |
-
# Cấu hình CORS
|
| 13 |
app.add_middleware(
|
| 14 |
CORSMiddleware,
|
| 15 |
allow_origins=["*"],
|
|
@@ -18,14 +20,22 @@ app.add_middleware(
|
|
| 18 |
allow_headers=["*"],
|
| 19 |
)
|
| 20 |
|
| 21 |
-
# 2.
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
#
|
| 26 |
-
ocr = PaddleOCR(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
print("Tải mô hình hoàn tất, sẵn sàng phục vụ!")
|
| 28 |
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
# -----------------------------------------------------
|
| 31 |
# ROUTE 1: Trả về giao diện người dùng (Frontend HTML)
|
|
|
|
| 2 |
from fastapi.responses import HTMLResponse
|
| 3 |
from fastapi.middleware.cors import CORSMiddleware
|
| 4 |
from paddleocr import PaddleOCR
|
| 5 |
+
import paddleocr # <-- Thêm dòng này để gọi lõi thư viện
|
| 6 |
import numpy as np
|
| 7 |
from PIL import Image
|
| 8 |
import io
|
| 9 |
+
import os # <-- Thêm dòng này để xử lý đường dẫn
|
| 10 |
|
| 11 |
# 1. Khởi tạo ứng dụng FastAPI
|
| 12 |
app = FastAPI(title="PaddleOCR Tiếng Việt API")
|
| 13 |
|
| 14 |
+
# Cấu hình CORS
|
| 15 |
app.add_middleware(
|
| 16 |
CORSMiddleware,
|
| 17 |
allow_origins=["*"],
|
|
|
|
| 20 |
allow_headers=["*"],
|
| 21 |
)
|
| 22 |
|
| 23 |
+
# 2. Bắt buộc tìm và trỏ đích danh vào file từ điển Tiếng Việt
|
| 24 |
+
vi_dict_path = os.path.join(os.path.dirname(paddleocr.__file__), 'ppocr', 'utils', 'dict', 'vi_dict.txt')
|
| 25 |
+
|
| 26 |
+
print("Đang tải mô hình PaddleOCR (Tiếng Việt v3) vào RAM...")
|
| 27 |
+
# Ép sử dụng PP-OCRv3 và file từ điển chuẩn
|
| 28 |
+
ocr = PaddleOCR(
|
| 29 |
+
use_angle_cls=True,
|
| 30 |
+
lang='vi',
|
| 31 |
+
ocr_version='PP-OCRv3', # Dùng v3 thay vì v4
|
| 32 |
+
rec_char_dict_path=vi_dict_path # Trỏ thẳng vào từ điển tiếng Việt
|
| 33 |
+
)
|
| 34 |
print("Tải mô hình hoàn tất, sẵn sàng phục vụ!")
|
| 35 |
|
| 36 |
+
# -----------------------------------------------------
|
| 37 |
+
# -----------------------------------------------------
|
| 38 |
+
|
| 39 |
|
| 40 |
# -----------------------------------------------------
|
| 41 |
# ROUTE 1: Trả về giao diện người dùng (Frontend HTML)
|