Spaces:
Sleeping
Sleeping
| from contextlib import asynccontextmanager | |
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from app import db | |
| from app.api import chat, documents, model | |
| from app.config import settings | |
| from app.models import HealthOut | |
| from app.seed import seed_documents | |
| async def lifespan(_: FastAPI): | |
| db.init_db() | |
| seed_documents() | |
| yield | |
| app = FastAPI( | |
| title=settings.app_name, | |
| version="1.0.0", | |
| description="RAG API for grounded Egyptian legal research over uploaded PDFs.", | |
| lifespan=lifespan, | |
| ) | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=settings.cors_origins, | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| app.include_router(documents.router) | |
| app.include_router(chat.router) | |
| app.include_router(model.router) | |
| def health() -> HealthOut: | |
| return HealthOut(status="ok", app=settings.app_name, environment=settings.app_env) | |