aditya0103's picture
Tasks 5-7: eval harness, FastAPI backend, Paper & Ink UI- src/eval/ β€” precision/recall/F1 harness with type-aware comparators,micro/macro F1, CSV + markdown reports, --model benchmark flag- src/api/ β€” FastAPI backend with /extract, /schemas, /health,request-ID middleware, typed error envelope, injectable extractor- ui/ β€” Vite + React + TS + Tailwind + Motion + React Three FiberPaper & Ink editorial UI with 3D paper hero, dark/light mode,confidence inkwell, wax-stamp metrics, kinetic typography- 95 passing tests (up from 54); UI is a separate npm workspace
557ab38
Raw
History Blame Contribute Delete
595 Bytes
"""Health + root routes.
GET / -> service banner (name, version, docs link)
GET /health -> {"status": "ok"} β€” probe target for orchestrators
"""
from __future__ import annotations
from fastapi import APIRouter
router = APIRouter(tags=["health"])
SERVICE_NAME = "structured-data-extraction"
SERVICE_VERSION = "0.1.0"
@router.get("/")
def root() -> dict:
return {
"service": SERVICE_NAME,
"version": SERVICE_VERSION,
"docs": "/docs",
"openapi": "/openapi.json",
}
@router.get("/health")
def health() -> dict:
return {"status": "ok"}