Spaces:
Sleeping
Sleeping
anh-khoa-nguyen commited on
Commit ·
7ff4e74
1
Parent(s): 25f341a
update description
Browse files
app.py
CHANGED
|
@@ -11,14 +11,26 @@ from typing import Optional
|
|
| 11 |
import cv2
|
| 12 |
import numpy as np
|
| 13 |
from fastapi import FastAPI, File, UploadFile, HTTPException
|
|
|
|
| 14 |
from pydantic import BaseModel
|
| 15 |
|
| 16 |
# --- KHỞI TẠO ỨNG DỤNG VÀ CÁC BIẾN TOÀN CỤC ---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
app = FastAPI(
|
| 19 |
-
title="Vietnamese Citizen ID OCR
|
| 20 |
-
description=
|
| 21 |
-
version="1.
|
| 22 |
)
|
| 23 |
|
| 24 |
# Khởi tạo các biến model toàn cục là None. Chúng sẽ được tải sau.
|
|
@@ -82,9 +94,12 @@ class ExtractionResponse(BaseModel):
|
|
| 82 |
|
| 83 |
# --- API ENDPOINT ---
|
| 84 |
|
| 85 |
-
@app.get("/")
|
| 86 |
-
def
|
| 87 |
-
|
|
|
|
|
|
|
|
|
|
| 88 |
|
| 89 |
|
| 90 |
@app.post("/extract/", response_model=ExtractionResponse, tags=["CCCD Extraction"])
|
|
|
|
| 11 |
import cv2
|
| 12 |
import numpy as np
|
| 13 |
from fastapi import FastAPI, File, UploadFile, HTTPException
|
| 14 |
+
from fastapi.responses import RedirectResponse
|
| 15 |
from pydantic import BaseModel
|
| 16 |
|
| 17 |
# --- KHỞI TẠO ỨNG DỤNG VÀ CÁC BIẾN TOÀN CỤC ---
|
| 18 |
+
description_md = """
|
| 19 |
+
### Microservice trích xuất thông tin CCCD 🔎
|
| 20 |
+
|
| 21 |
+
API này sử dụng các thư viện `vietocr` và `paddleocr` để thực hiện các chức năng sau:
|
| 22 |
+
|
| 23 |
+
1. **Nhận diện và đọc (OCR)** các trường thông tin trên ảnh Căn cước công dân.
|
| 24 |
+
2. **Phát hiện và cắt ảnh chân dung** từ ảnh CCCD gốc.
|
| 25 |
+
3. Sử dụng cơ chế **Lazy Loading** để tối ưu hóa thời gian khởi động server.
|
| 26 |
+
|
| 27 |
+
_API được xây dựng với FastAPI._
|
| 28 |
+
"""
|
| 29 |
|
| 30 |
app = FastAPI(
|
| 31 |
+
title="Vietnamese Citizen ID OCR API",
|
| 32 |
+
description=description_md,
|
| 33 |
+
version="1.4.0"
|
| 34 |
)
|
| 35 |
|
| 36 |
# Khởi tạo các biến model toàn cục là None. Chúng sẽ được tải sau.
|
|
|
|
| 94 |
|
| 95 |
# --- API ENDPOINT ---
|
| 96 |
|
| 97 |
+
@app.get("/", include_in_schema=False)
|
| 98 |
+
async def root():
|
| 99 |
+
"""
|
| 100 |
+
Khi người dùng truy cập trang gốc, tự động chuyển hướng đến trang tài liệu API.
|
| 101 |
+
"""
|
| 102 |
+
return RedirectResponse(url="/docs")
|
| 103 |
|
| 104 |
|
| 105 |
@app.post("/extract/", response_model=ExtractionResponse, tags=["CCCD Extraction"])
|