Spaces:
Sleeping
Sleeping
| """FastAPI wrapper for deterministic numeric validation.""" | |
| from fastapi import HTTPException | |
| from numeric_core import validate_numeric | |
| async def post_validate_numeric(request: dict) -> dict: | |
| items = request.get("items", []) | |
| if not items: | |
| raise HTTPException( | |
| status_code=400, | |
| detail="'items' requis", | |
| ) | |
| results = [] | |
| rel_tol = float( | |
| request.get("relative_tolerance", 0.02) | |
| ) | |
| for item in items: | |
| claim = str(item.get("claim", "")) | |
| evidence = str(item.get("evidence", "")) | |
| if not claim or not evidence: | |
| results.append({ | |
| "id": item.get("id", 0), | |
| "error": "claim/evidence manquant", | |
| }) | |
| continue | |
| validation = validate_numeric( | |
| claim, | |
| evidence, | |
| rel_tol=rel_tol, | |
| ) | |
| results.append({ | |
| "id": item.get("id", 0), | |
| **validation, | |
| }) | |
| return {"results": results} | |