ranbac commited on
Commit
d506c21
·
verified ·
1 Parent(s): f766e2f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -7
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 (Cho phép giao diện web gọi API mà không bị chặn)
13
  app.add_middleware(
14
  CORSMiddleware,
15
  allow_origins=["*"],
@@ -18,14 +20,22 @@ app.add_middleware(
18
  allow_headers=["*"],
19
  )
20
 
21
- # 2. Tải hình PaddleOCR vào RAM (Chỉ chạy 1 lần khi khởi động Server)
22
- print("Đang tải mô hình PaddleOCR (Tiếng Việt - Bản CPU) vào RAM...")
23
- # use_angle_cls=True: Tự động xoay ảnh nếu chữ bị nghiêng
24
- # lang='vi': Nhận diện tiếng Việt
25
- # use_gpu=False: Chạy hoàn toàn trên CPU
26
- ocr = PaddleOCR(use_angle_cls=True, lang='vi', ocr_version='PP-OCRv4')
 
 
 
 
 
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 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 hình PaddleOCR (Tiếng Việt v3) vào RAM...")
27
+ # Ép sử dụng PP-OCRv3 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)