在服务器启动时加载 AI 模型
您需要部署一个已训练的情感分析模型,用于协助审核用户评论。为了确保零停机时间,API 必须在启动后立即就绪,能够分析用户评论。
在本练习中,您将实现 FastAPI 的 lifespan 事件,高效加载模型以构建评论审核系统。SentimentAnalyzer 模型类已经为您定义并导入。
本练习是课程的一部分
使用 FastAPI 在生产环境中部署 AI
练习说明
- 从
contextlib模块导入上下文管理器装饰器以创建 lifespan 事件。 - 使用 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
____
____