Gestructureerde output retourneren vanuit een API
Je bouwt een moderatiesysteem voor content waarin je een POST-endpoint moet definiëren om een voorgetraind sentimentanalysemodel te testen op gebruikersreacties.
Je moet een endpoint maken dat pydantic-modellen gebruikt om voorspellingen in een gestructureerd formaat terug te geven.
Opmerking: Pydantic-modellen — CommentRequest en CommentResponse — zijn al voor je aangemaakt, evenals het voorgetrainde sentiment_model uit de vooraf gedefinieerde klasse SentimentAnalyzer.
Deze oefening maakt deel uit van de cursus
AI in productie brengen met FastAPI
Oefeninstructies
- Implementeer een
POST-endpoint op route/analyze. - Valideer de
requestin de functieanalyze_comment()volgens deCommentRequest. - Maak voorspellingen met
sentiment_modeldoor detextuit derequestdoor te geven. - Retourneer de voorspellingsattributen (
textuitrequest,"label"en"score"uitresult[0]) om de uitgaande response te formatteren inCommentResponse.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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"
)