Возврат структурированного вывода из API
Вы разрабатываете систему модерации контента, в которой необходимо определить POST-эндпоинт для тестирования предобученной модели анализа тональности на пользовательских комментариях.
Вам нужно создать эндпоинт, использующий модели pydantic для возврата предсказаний в структурированном формате.
Примечание: модели Pydantic — CommentRequest и CommentResponse — уже созданы для вас и готовы к использованию вместе с предобученной моделью sentiment_model из предопределённого класса SentimentAnalyzer.
Это упражнение является частью курса
Развёртывание ИИ в производственной среде с помощью 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"
)