Returnera strukturerade utdata från API
Du bygger ett system för innehållsmoderering där du behöver definiera en POST-endpoint för att testa en förtränad sentimentanalysmodell på användarkommentarer.
Du ska skapa en endpoint som använder pydantic-modeller för att returnera prediktioner i ett strukturerat format.
Obs: Pydantic-modellerna CommentRequest och CommentResponse är redan skapade och redo att använda, tillsammans med den förtränade sentiment_model från den fördefinierade klassen SentimentAnalyzer.
Den här övningen är en del av kursen
Driftsättning av AI i produktion med FastAPI
Övningsinstruktioner
- Implementera en
POST-endpoint på routen/analyze. - Validera
requesti funktionenanalyze_comment()enligtCommentRequest. - Gör prediktioner med
sentiment_modelgenom att skickatextfrånrequest. - Returnera prediktionsattributen (
textfrånrequest,"label"och"score"frånresult[0]) för att formatera det utgående svaret iCommentResponse.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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"
)