НачатьНачать бесплатно

Возврат структурированного вывода из 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"
        )
Редактировать и запускать код