サーバー起動時への AI モデルの読み込み
学習済みの感情分析モデルをデプロイし、ユーザーのコメントをモデレートする API を構築します。ダウンタイムをゼロに抑えるために、API は起動直後からユーザーのコメントを分析できる状態である必要があります。
この演習では、FastAPI のライフスパンイベントを実装してモデルを効率的に読み込み、コメントモデレーションシステムを構築します。SentimentAnalyzer モデルクラスはすでに定義されており、インポート済みです。
この演習はコースの一部です
FastAPI を使った AI のプロダクション環境へのデプロイ
演習の手順
contextlibモジュールからコンテキストマネージャーデコレーターをインポートして、ライフスパンイベントを作成してください。- FastAPI のコンテキストマネージャーデコレーターを使用して、起動時にモデルが読み込まれるよう
lifespanイベント関数を定義してください。 lifespanイベント内で、起動時にモデルを読み込む関数を呼び出してください。- サーバーの起動処理を続行できるよう、
yieldを記述してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the context manager decorator from contextlib module
from contextlib import ____
sentiment_model = None
def load_model():
global sentiment_model
sentiment_model = SentmentAnalyzer("sentiment_model.joblib")
# Use FastAPI's context manager to define lifespan event
@____
def lifespan(app: FastAPI):
# Call the function to load the model
____
____