0Pricing
Learn AI with Python · Pelajaran

Skema Pydantic untuk Permintaan dan Respons

BaseModel, validasi bidang, petunjuk tipe, response_model, menangani kesalahan validasi.

Skema Pydantic untuk Permintaan dan Respons adalah pelajaran Learn AI with Python 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 Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Mengapa Skema?

Kamus mentah rentan terhadap kesalahan. Model Pydantic mendefinisikan bentuk permintaan dan respons secara tepat, memvalidasi tipe secara otomatis, serta mendokumentasikan API Anda. FastAPI menggunakannya secara bawaan.

BaseModel

Skema Pydantic merupakan turunan dari BaseModel. Setiap atribut bertipe menjadi kolom yang divalidasi; tipe yang salah ditolak sebelum kode Anda dijalankan.

from pydantic import BaseModel

class PredictRequest(BaseModel):
    features: list[float]

Skema Permintaan

Definisikan apa yang harus dikirim klien. Di sini, features harus berupa daftar bilangan pecahan, dan Anda dapat menambahkan kolom lain seperti versi model atau ID permintaan.

class PredictRequest(BaseModel):
    features: list[float]
    model_version: str = "latest"

Skema Respons

Definisikan apa yang dikembalikan API Anda agar klien memperoleh kontrak yang stabil dan terdokumentasi.

class PredictResponse(BaseModel):
    prediction: float
    probability: float

Menggunakan Skema di Titik Akhir

Tetapkan tipe parameter menggunakan model permintaan Anda, lalu FastAPI akan mengurai dan memvalidasi isi JSON secara otomatis menjadi objek bertipe.

from fastapi import FastAPI
app = FastAPI()

@app.post("/predict")
def predict(req: PredictRequest):
    pred = model.predict([req.features])[0]
    return {"prediction": pred, "probability": 0.92}

Parameter response_model

Teruskan response_model ke penghias rute. FastAPI memvalidasi dan menyaring keluaran agar sesuai dengan skema, menghapus kolom tambahan, serta mendokumentasikan respons di /docs.

@app.post("/predict", response_model=PredictResponse)
def predict(req: PredictRequest) -> PredictResponse:
    return PredictResponse(prediction=1.0, probability=0.92)

list[float] untuk Vektor Fitur

Menetapkan tipe fitur sebagai list[float] berarti Pydantic menolak string atau tipe campuran sebelum inferensi, sehingga masukan yang tidak valid terdeteksi di batas awal, bukan jauh di dalam kode model.

HTTPException untuk Kesalahan

Jika validasi tipe berhasil tetapi aturan bisnis gagal (jumlah fitur salah atau model tidak dikenal), naikkan HTTPException dengan kode status dan pesan.

from fastapi import HTTPException

@app.post("/predict")
def predict(req: PredictRequest):
    if len(req.features) != 4:
        raise HTTPException(status_code=422,
            detail="Expected exactly 4 features")
    return {"prediction": model.predict([req.features])[0]}

Validator Kolom

field_validator menerapkan aturan khusus pada suatu kolom, seperti menolak daftar fitur yang kosong, bahkan sebelum logika titik akhir dijalankan.

from pydantic import BaseModel, field_validator

class PredictRequest(BaseModel):
    features: list[float]

    @field_validator("features")
    @classmethod
    def not_empty(cls, v):
        if not v:
            raise ValueError("features cannot be empty")
        return v

Batasan Kolom

Gunakan Field untuk batasan deklaratif seperti panjang minimum atau rentang numerik, yang juga muncul dalam dokumentasi yang dibuat secara otomatis.

from pydantic import BaseModel, Field

class PredictRequest(BaseModel):
    features: list[float] = Field(min_length=1)

Respons 422 Otomatis

Ketika permintaan gagal dalam validasi Pydantic, FastAPI secara otomatis mengembalikan 422 Entitas Tidak Dapat Diproses dengan isi kesalahan yang terperinci, tanpa memerlukan kode tambahan. Ini adalah salah satu keunggulan produktivitas terbesar FastAPI.

Pemeriksaan Singkat

Uji pengetahuan Anda tentang skema Pydantic.

Ringkasan

Anda mendefinisikan skema BaseModel untuk permintaan dan respons, menggunakan list[float] untuk fitur, menerapkan response_model, menaikkan HTTPException untuk kesalahan bisnis, serta menambahkan validator kolom. FastAPI secara otomatis mengembalikan 422 untuk masukan yang tidak valid. Berikutnya: memuat dan menyajikan model.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Skema Pydantic untuk Permintaan dan Respons” gratis?

Ya — teks lengkap “Skema Pydantic untuk Permintaan dan Respons” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Skema Pydantic untuk Permintaan dan Respons”?

BaseModel, validasi bidang, petunjuk tipe, response_model, menangani kesalahan validasi. Kamu berlatih Learn AI with Python 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 Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python 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 “Skema Pydantic untuk Permintaan dan Respons” 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 Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python 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. Dasar-Dasar FastAPI untuk Insinyur Pembelajaran Mesin
  2. Skema Pydantic untuk Permintaan dan Respons
  3. Memuat dan Menyajikan Model Pembelajaran Mesin
  4. Mengemas API Model dengan Docker
← Kembali ke Learn AI with Python