rapicash_old / app.py
Moibe's picture
DNI Panamá Listo
435164a
raw
history blame
1.57 kB
import ia
from io import BytesIO
from fastapi import FastAPI, Form
from fastapi import FastAPI, File, UploadFile
from fastapi.responses import StreamingResponse, FileResponse, JSONResponse
app = FastAPI()
@app.get("/health",
tags=["Monitoreo Server"],
description="Verifica el estado de salud de la API.",
summary="Health Check"
)
async def health_check():
"""
Este endpoint devuelve una respuesta 200 OK para indicar que la API está funcionando.
"""
return JSONResponse(content={"status": "ok"}, status_code=200)
@app.post("/echo-image/",
tags=["Monitoreo Server"],
description="Test endpoint para prueba de envío de imagenes.",
summary="Mirror test para envío de imagenes"
)
async def echo_image(image: UploadFile = File(...)):
if not image.content_type.startswith("image/"):
return {"error": "El archivo no es una imagen"}
contents = await image.read()
return StreamingResponse(BytesIO(contents), media_type=image.content_type)
@app.post("/procesa-dni/",
tags=["Rapicash"],
description="Procesa DNI de Panamá obteniendo los datos deseados.",
summary="Identificación de DNI con IA"
)
async def echo_image(image: UploadFile = File(...)):
if not image.content_type.startswith("image/"):
return {"error": "El archivo no es una imagen"}
contents = await image.read()
# return StreamingResponse(BytesIO(contents), media_type=image.content_type)
return ia.inference(contents, 'en')