始める無料で始める

非同期センチメント分析エンドポイントの作成

ソーシャルメディア分析プラットフォームを構築しており、レビューのセンチメントを分析する必要があります。高トラフィックを効率よく処理するために、async エンドポイントを実装しましょう。センチメント分析モデルはすでに読み込まれており、sentiment_model として利用できます。

この演習はコースの一部です

FastAPI を使った AI のプロダクション環境へのデプロイ

コースを見る

演習の手順

  • FastAPI アプリを使って、非同期の POST エンドポイント /analyze を作成します。
  • 他の処理をブロックせずに sentiment_model を非同期で呼び出すためのキーワードを追加します。
  • レビューのテキストを渡しながら sentiment_model を別スレッドで実行し、イベントループをブロックしないようにします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Review(BaseModel):
    text: str

# Create async endpoint at /analyze route
@app.post("____")
# Write an asynchronous function to process review's text
____ def analyze_review(review: Review):
    # Run the model in a separate thread to avoid any event loop blockage
    result = ____ asyncio.____(sentiment_model, ____)
    return {"sentiment": result[0]["label"]}
コードを編集して実行