Sajikan Model Produksi
Muat model yang telah disiapkan ke layanan FastAPI Anda.
Sajikan Model Produksi adalah pelajaran MLOps Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar MLOps Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus MLOps Academy mencakup 4 pelajaran total.
Dari Registri ke API
Model yang dipromosikan berada di registri. Sekarang Anda memuatnya ke dalam layanan FastAPI agar permintaan nyata dapat memperoleh prediksi. 🌐
Referensikan Berdasarkan Alias
Buat URI model yang mengarah ke alias champion. Kode Anda tidak pernah menetapkan versi secara langsung, sehingga promosi dapat langsung berfungsi.
MODEL_URI = "models:/churn-classifier@champion"Muat Model
Gunakan mlflow.pyfunc.load_model untuk mengambil model produksi ke dalam memori sebagai objek Python yang dapat dipanggil.
import mlflow.pyfunc
model = mlflow.pyfunc.load_model(MODEL_URI)Muat Sekali Saat Startup
Pemuatan memerlukan waktu, jadi lakukan sekali saat aplikasi dimulai, bukan untuk setiap permintaan. Gunakan penangan lifespan FastAPI untuk memuat model sebelum lalu lintas datang.
from contextlib import asynccontextmanager
@asynccontextmanager
async def lifespan(app):
app.state.model = mlflow.pyfunc.load_model(MODEL_URI)
yieldBuat Aplikasi
Hubungkan lifespan ke instans FastAPI Anda. Mulai dari sini, model yang dimuat berada di app.state dan digunakan bersama oleh setiap permintaan.
from fastapi import FastAPI
app = FastAPI(lifespan=lifespan)Validasi Input
Definisikan model Pydantic untuk isi permintaan agar input yang formatnya salah ditolak sebelum pernah mencapai model.
from pydantic import BaseModel
class Features(BaseModel):
tenure: int
monthly_charges: floatTulis Titik Akhir Prediksi
Ubah input yang telah divalidasi menjadi satu baris, lalu panggil model. Metode predict mengembalikan prediksi yang Anda kirim kembali sebagai JSON.
@app.post("/predict")
def predict(f: Features):
pred = app.state.model.predict([[f.tenure, f.monthly_charges]])
return {"prediction": int(pred[0])}Tambahkan Pemeriksaan Kesehatan
Rute kecil /health memberi tahu pengorkestra bahwa layanan aktif dan model selesai dimuat sebelum mereka mengarahkan lalu lintas.
@app.get("/health")
def health():
return {"status": "ok"}Jalankan Server
Luncurkan dengan uvicorn dan model Anda akan aktif melalui HTTP. Klien apa pun yang dapat mengirim POST berisi JSON kini dapat memperoleh prediksi.
uvicorn serve:app --host 0.0.0.0 --port 8000Pemeriksaan Singkat
Mengapa model dimuat dalam penangan lifespan, bukan di dalam fungsi predict?
Memperbarui Model Aktif
Untuk mengirim model baru, arahkan ulang alias champion dan mulai ulang layanan. Layanan akan memuat versi baru secara otomatis saat startup.
Model yang Sama di Mana Saja
Karena layanan mengambil model dari registri, pengembangan, staging, dan produksi dapat memuat artefak yang sama persis berdasarkan alias. Tidak perlu menyalin-tempel bobot.
Ringkasan: Menyajikan Model Produksi
Anda memuat champion saat startup, memvalidasi input, menyediakan /predict dan /health, lalu menjalankannya dengan uvicorn. Model Anda kini menjadi layanan aktif. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Sajikan Model Produksi” gratis?
Ya — teks lengkap “Sajikan Model Produksi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus MLOps Academy, upgrade ke CoddyKit PRO. Kursus MLOps Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Sajikan Model Produksi”?
Muat model yang telah disiapkan ke layanan FastAPI Anda. Kamu berlatih MLOps Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai MLOps Academy?
Tidak diperlukan pengalaman sebelumnya. MLOps Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Sajikan Model Produksi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran MLOps Academy ini?
Ya. Setiap pelajaran MLOps Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Latih dan Catat ke Registry
- Naikkan Model Terbaik ke Produksi
- Sajikan Model Produksi
- Telusuri Perjalanan Pulang-Pergi Prediksi