from contextlib import asynccontextmanager from fastapi import FastAPI from settings import settings from api import router from utils import billing_manager @asynccontextmanager async def lifespan(app: FastAPI): """应用生命周期管理""" await billing_manager.start() yield await billing_manager.shutdown() app = FastAPI( title="JEmbedding", description="文本向量化服务", version="1.0.0", lifespan=lifespan ) app.include_router(router) if __name__ == "__main__": import uvicorn uvicorn.run( "app:app", host=settings.host, port=settings.port, reload=settings.debug )