Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Implementeer een POST-endpoint op route /analyze.
  • Valideer de request in de functie analyze_comment() volgens de CommentRequest.
  • Maak voorspellingen met sentiment_model door de text uit de request door te geven.
  • Retourneer de voorspellingsattributen (text uit request, "label" en "score" uit result[0]) om de uitgaande response te formatteren in CommentResponse.

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"
        )
Code bewerken en uitvoeren