holypug1274's picture
deploy: privacy-sanitizer backend 2026-04-27
dc6630c
Raw
History Blame
879 Bytes
from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.config import settings
from app.routers.sanitize import router as sanitize_router
from app.services.sanitizer import preload_pipeline
@asynccontextmanager
async def lifespan(app: FastAPI):
# Pre-load default model at startup; other models are lazy-loaded on first use
preload_pipeline(settings.default_model_name)
yield
app = FastAPI(
title="Privacy Text Sanitizer API",
version="1.0.0",
lifespan=lifespan,
)
app.add_middleware(
CORSMiddleware,
allow_origins=settings.allowed_origins,
allow_methods=["GET", "POST", "OPTIONS"],
allow_headers=["Content-Type"],
)
app.include_router(sanitize_router, prefix="/api")
@app.get("/health")
async def health() -> dict[str, str]:
return {"status": "ok"}