Zacznij terazZacznij za darmo

Zwracanie ustrukturyzowanych wyników z API

Tworzysz system moderacji treści, w którym musisz zdefiniować endpoint POST, aby przetestować wstępnie wytrenowany model analizy wydźwięku (sentymentu) na komentarzach użytkowników.

Należy stworzyć endpoint, który korzysta z modeli pydantic i zwraca predykcje w ustrukturyzowanym formacie.

Uwaga: Modele Pydantic – CommentRequest i CommentResponse – są już gotowe do użycia, podobnie jak wstępnie wytrenowany sentiment_model z predefiniowanej klasy SentimentAnalyzer.

To ćwiczenie jest częścią kursu

Wdrażanie AI na produkcję z FastAPI

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimplementuj endpoint POST pod ścieżką /analyze.
  • Zwaliduj request w funkcji analyze_comment() zgodnie z modelem CommentRequest.
  • Wykonaj predykcję za pomocą sentiment_model, przekazując pole text z obiektu request.
  • Zwróć atrybuty predykcji (text z request, "label" i "score" z result[0]), aby sformatować odpowiedź wychodzącą zgodnie z modelem CommentResponse.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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"
        )
Edytuj i uruchom kod