Mengembalikan keluaran terstruktur dari API
Anda sedang membangun sistem moderasi konten di mana Anda perlu mendefinisikan endpoint POST untuk menguji model analisis sentimen pra-latih pada komentar pengguna.
Anda perlu membuat endpoint yang memanfaatkan model pydantic untuk mengembalikan prediksi dalam format terstruktur.
Catatan: Model Pydantic — CommentRequest dan CommentResponse — sudah dibuat untuk Anda gunakan bersama sentiment_model pra-latih dari kelas SentimentAnalyzer yang telah didefinisikan sebelumnya.
Latihan ini merupakan bagian dari kursus
Menerapkan AI ke Produksi dengan FastAPI
Instruksi latihan
- Implementasikan endpoint
POSTpada rute/analyze. - Validasi
requestdalam fungsianalyze_comment()sesuaiCommentRequest. - Lakukan prediksi menggunakan
sentiment_modeldengan meneruskantextdarirequest. - Kembalikan atribut prediksi (
textdarirequest,"label"dan"score"dariresult[0]) untuk membentuk respons keluar dalamCommentResponse.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Create a POST request endpoint
@app.____("/analyze")
# Capture the request text for validation as per CommentRequest model
def analyze_comment(____: CommentRequest):
try:
# Specify pass the request text to the model
result = sentiment_model(____.____)
# Specify the result attributes to complete the comment response
return CommentResponse(text=____,
sentiment=____,
confidence=____)
except Exception:
raise HTTPException(status_code=500,
detail="Prediction failed"
)