Download backend/main.py from lablab-ai-amd-developer-hackathon/ReliefLensDemo: direct link, hf CLI and curl.
- Browser
- Download file 1.82 kB
-
https://huggingface.co/spaces/lablab-ai-amd-developer-hackathon/ReliefLensDemo/resolve/main/backend/main.py
- Command line
-
hf download hf://spaces/lablab-ai-amd-developer-hackathon/ReliefLensDemo/backend/main.py
-
curl -L -o main.py https://huggingface.co/spaces/lablab-ai-amd-developer-hackathon/ReliefLensDemo/resolve/main/backend/main.py
1.82 kB
| from __future__ import annotations | |
| import logging | |
| from contextlib import asynccontextmanager | |
| from pathlib import Path | |
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from api.routes import amd, crisis_room, demo, incidents, reports | |
| from core.config import get_settings | |
| logging.basicConfig( | |
| level=logging.INFO, | |
| format="%(asctime)s — %(name)s — %(levelname)s — %(message)s", | |
| ) | |
| logger = logging.getLogger(__name__) | |
| async def lifespan(app: FastAPI): | |
| settings = get_settings() | |
| storage_path = Path(settings.storage_path) | |
| for sub in ("sessions", "incidents", "signals", "resources", "dispatch"): | |
| (storage_path / sub).mkdir(parents=True, exist_ok=True) | |
| logger.info("ReliefLensAI backend started (demo_mode=%s)", settings.demo_mode) | |
| yield | |
| logger.info("ReliefLensAI backend shutting down") | |
| app = FastAPI( | |
| title="ReliefLensAI", | |
| description="Real-time multimodal disaster triage system powered by AMD MI300X + vLLM", | |
| version="1.0.0", | |
| lifespan=lifespan, | |
| ) | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| app.include_router(crisis_room.router, prefix="/api") | |
| app.include_router(reports.router, prefix="/api") | |
| app.include_router(incidents.router, prefix="/api") | |
| app.include_router(amd.router, prefix="/api") | |
| app.include_router(demo.router, prefix="/api") | |
| async def health_check() -> dict: | |
| settings = get_settings() | |
| return { | |
| "status": "healthy", | |
| "demo_mode": settings.demo_mode, | |
| "app_env": settings.app_env, | |
| } | |
| async def root() -> dict: | |
| return {"name": "ReliefLensAI", "version": "1.0.0", "status": "ready"} | |