|
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 ia.inference(contents, 'en') |