import logging from contextlib import asynccontextmanager from fastapi import FastAPI from app.core.config import settings from app.routers import chat, health from app.services.config_reader import load_ai_config logger = logging.getLogger("ai-service") @asynccontextmanager async def lifespan(app: FastAPI): config = await load_ai_config() provider = config.get("provider", "lmstudio") model = config.get(provider, {}).get("model", "unknown") logger.info("[ai-service] active provider: %s model: %s", provider, model) yield app = FastAPI(title=settings.PROJECT_NAME, lifespan=lifespan) app.include_router(chat.router, tags=["chat"]) app.include_router(health.router, tags=["health"])