Повернення структурованого результату з API
Ви створюєте систему модерації контенту, у якій потрібно визначити кінцеву точку POST, щоб протестувати заздалегідь натреновану модель аналізу тональності на коментарях користувачів.
Вам потрібно створити кінцеву точку, що використовує моделі pydantic, щоб повертати прогнози у структурованому форматі.
Примітка: моделі Pydantic — CommentRequest і CommentResponse — уже створені для вашого використання разом із попередньо натренованою sentiment_model з попередньо визначеного класу SentimentAnalyzer.
Ця вправа є частиною курсу
Розгортання AI у продакшні з FastAPI
Інструкції до вправи
- Реалізуйте кінцеву точку
POSTза маршрутом/analyze. - Провалідуйте
requestу функціїanalyze_comment()згідно зCommentRequest. - Зробіть прогноз за допомогою
sentiment_model, передавшиtextзrequest. - Поверніть атрибути прогнозу (
textзrequest,"label"і"score"зresult[0]), щоб сформувати вихідну відповідь уCommentResponse.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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"
)