AI Backend Overview
Arsitektur layanan inferensi machine learning mandiri berbasis FastAPI, Uvicorn, dan Python 3.11.
backend/app/main.py, backend/requirements.txtTests: backend/tests/test_predict.pyAI Backend Overview#
Layanan OrthoBreath AI Engine adalah mikroservis inferensi berkinerja tinggi yang dibangun menggunakan FastAPI dan berjalan di dalam kontainer Docker pada platform Render.
1. Peran & Arsitektur AI Backend#
Layanan ini bertanggung jawab murni atas: 1. Memvalidasi payload citra dental intraoral berformat Base64 JPEG. 2. Mengekstraksi fitur visual menggunakan algoritma HOG (Histogram of Oriented Gradients). 3. Melakukan normalisasi fitur dengan StandardScaler. 4. Mengeksekusi klasifikasi biner menggunakan model Support Vector Machine (SVM) terlatih. 5. Mengembalikan hasil inferensi, label prediksi, skor probabilitas, dan waktu komputasi dalam satuan milidetik.
2. Stack Teknologi Backend#
| Library | Versi | Fungsi Utama |
|---|---|---|
| FastAPI | 0.115.8 | Web framework asinkron dengan dokumentasi OpenAPI otomatis |
| Uvicorn | 0.34.0 | ASGI web server production |
| Scikit-Learn | 1.6.1 | Runtime inferensi model klasifikasi SVC |
| Scikit-Image | 0.25.2 | Algoritma ekstraksi fitur skimage.feature.hog |
| NumPy | 2.2.3 | Manipulasi array matriks citra |
| Pillow (PIL) | 11.1.0 | Decode dan resize citra intraoral |
| Pydantic | 2.10.6 | Skema validasi data request & response |
3. Titik Masuk Aplikasi (main.py)#
Aplikasi menginisialisasi model SVM pada saat startup (lifespan event):
1@asynccontextmanager2async def lifespan(app: FastAPI):3 # Load model and scaler into memory on startup4 load_model_artifacts()5 yield6 # Clean up resources on shutdown