MLOps Academy · Pelajaran

Validasi Permintaan dengan Pydantic

Tolak input yang cacat sebelum mencapai model.

Pelajaran 2 dari 413 langkah

Validasi Permintaan dengan Pydantic adalah pelajaran MLOps Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Masukan Buruk, Keluaran Buruk

Jika klien mengirim bidang atau tipe yang salah, model Anda akan menerima data yang tidak bermakna. Anda perlu menolak masukan yang buruk sebelum masukan tersebut mencapai model. 🛡️

Berkenalan dengan Pydantic

FastAPI menggunakan Pydantic untuk memvalidasi permintaan. Anda menjelaskan bentuk data dengan class Python, dan validasi berlangsung secara otomatis.

Definisikan Skema

Anda membuat subclass dari BaseModel dan mencantumkan bidang beserta tipenya. Class ini menjadi kontrak untuk badan permintaan /predict Anda.

from pydantic import BaseModel

class IrisInput(BaseModel):
    sepal_length: float
    petal_width: float

Gunakan di Rute

Anda memberi anotasi tipe pada argumen endpoint menggunakan model Anda. FastAPI mengurai dan memvalidasinya, lalu memberikan objek yang bersih kepada Anda.

@app.post("/predict")
def predict(data: IrisInput):
    ...

Akses Bidang

Di dalam fungsi, data yang telah divalidasi merupakan objek biasa. Anda membaca setiap nilai dengan akses titik sederhana.

x = [data.sepal_length, data.petal_width]
pred = model.predict([x])

Kesalahan 422 Otomatis

Jika suatu bidang tidak ada atau memiliki tipe yang salah, FastAPI mengembalikan respons 422 dengan pesan yang jelas. Anda tidak perlu menulis kode penanganan kesalahan apa pun.

Tambahkan Batasan Nilai

Anda dapat memberlakukan rentang nilai dengan Field. Di sini, suatu pengukuran harus lebih besar dari nol, sehingga nilai negatif otomatis ditolak.

from pydantic import Field

sepal_length: float = Field(gt=0)

Validasi Daftar Baris

Untuk menilai banyak sampel sekaligus, Anda menerima sebuah list berisi model Anda. Pydantic memvalidasi setiap item dalam kelompok tersebut untuk Anda.

@app.post("/predict")
def predict(rows: list[IrisInput]):
    ...

Dokumentasikan Bidang

Tambahkan deskripsi dan contoh ke bidang, lalu semuanya akan muncul di halaman /docs agar pemanggil tahu persis apa yang harus dikirim. 📘

sepal_length: float = Field(description="cm", examples=[5.1])

Bentuk Respons Juga

Anda dapat mendeklarasikan response_model agar keluaran divalidasi dan didokumentasikan seperti masukan, sehingga kontrak API Anda tetap ketat.

@app.post("/predict", response_model=Prediction)
def predict(data: IrisInput):
    ...

Mengapa Ini Penting

Validasi masukan yang kuat adalah garis pertahanan pertama Anda di lingkungan produksi. Validasi ini memblokir permintaan yang formatnya tidak benar, sehingga model hanya menerima data yang bersih dan sesuai harapan. ✅

Pemeriksaan Singkat

Klien mengirim permintaan yang tidak menyertakan bidang wajib. Apa yang dilakukan FastAPI berkat Pydantic?

Rangkuman

Anda mendefinisikan skema BaseModel, mengetikkan rute dengan skema tersebut, menambahkan batasan bidang, dan membiarkan FastAPI otomatis menolak masukan buruk dengan kesalahan 422 yang jelas. Data bersih masuk! 🙌

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Validasi Permintaan dengan Pydantic” gratis?

Ya — teks lengkap “Validasi Permintaan dengan Pydantic” 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 “Validasi Permintaan dengan Pydantic”?

Tolak input yang cacat sebelum mencapai model. 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 2 dari 4.

Berapa lama pelajaran “Validasi Permintaan dengan Pydantic” 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

  1. Endpoint /predict Pertama Anda
  2. Validasi Permintaan dengan Pydantic
  3. Muat Model Sekali Saat Startup
  4. Tambahkan Pemeriksaan Kesiapan /health
← Kembali ke MLOps Academy