phytoevidence-api / endpoints /validate_numeric.py
debpc
Deploy claims-first v97 extraction and validation
b2e9550
Raw
History Blame Contribute Delete
1.02 kB
"""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}