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')