Menangani berbagai tipe input di FastAPI

Menerapkan AI ke Produksi dengan FastAPI

Matt Eckerle

Software and Data Engineering Leader

Restoran vs API

Sebuah restoran dibandingkan dengan input ke sebuah API

Menerapkan AI ke Produksi dengan FastAPI

Alur validasi

 

 

  • Data masuk lewat request
  • Validasi input dilakukan dengan Pydantic
  • Proses beragam tipe data sesuai kebutuhan model
  • Input yang diproses dikirim ke model

Diagram alur yang menjelaskan validasi request

Menerapkan AI ke Produksi dengan FastAPI

Sistem moderasi komentar

 

class CommentMetrics(BaseModel):
    length: int           
    user_karma: int     
    report_count: int

class CommentText(BaseModel): content: str

Gambar ikon kotak komentar

Menerapkan AI ke Produksi dengan FastAPI

Endpoint untuk bilangan pecahan

app = FastAPI()

@app.post("/predict")
def predict_score(data: CommentMetrics):
features = np.array([ data.length, data.user_karma, data.report_count ])
model = CommentScorer() prediction = model.predict(features)
return {"prediction": round(prediction, 2), "input": data.dict()}
Menerapkan AI ke Produksi dengan FastAPI

Endpoint untuk input teks

@app.post("/analyze_text")

def analyze(comment: CommentText):
forbidden = ["spam", "hate", "free" "fake", "sign up"]
text_lower = comment.lower()
issues = [word for word in forbidden if word in text_lower]
return { "issues": issues, "needs_moderation": len(issues) }

Keluaran untuk komentar: Sign up for free

{
    "issues": ["free", "sign up"],
    "needs_moderation": 2
}
Menerapkan AI ke Produksi dengan FastAPI

Ayo berlatih!

Menerapkan AI ke Produksi dengan FastAPI

Preparing Video For Download...