Files
ia-microservice/app/api/v1/endpoints/image/rubricated_analysis.py

39 lines
1.7 KiB
Python

"""
Gateway de IA de Qualidot - Módulo de Procesamiento de Imágenes con una rubrica de análisis
Propósito:
Este endpoint recibe una imagen y la analiza usando una rúbrica de evaluación basada en inteligencia artificial.
Homologación:
Sin importar qué proveedor de IA se utilice, el resultado siempre se entrega en el mismo formato estándar para Qualidot.
"""
from dotenv import load_dotenv
from fastapi import APIRouter, Depends, UploadFile, File, HTTPException
from fastapi.security import APIKeyHeader
from app.api.v1.endpoints import router
from app.schemas.image_standard import StandardImageAnalysisResult, ImageRequestFile
from app.services.image.evaluations_adapters import evaluate_image_with_provider
# Inicializar el router de FastAPI para este módulo
image_router_analysis = APIRouter()
@image_router_analysis.post("/evaluations/", response_model=StandardImageAnalysisResult)
async def evaluate_image(image_request: ImageRequestFile = Depends()) -> StandardImageAnalysisResult:
"""
Endpoint para analizar imágenes usando una rúbrica de evaluación infiriendo el proveedor de IA
Args:
image_request: Objeto ImageRequestFile que contiene la imagen,
el proveedor, el modelo y las opciones de análisis.
Returns:
StandardImageAnalysisResult: Resultado del análisis de imágenes en formato estándar de Qualidot
"""
try:
# Analizar imagen usando el adaptador de análisis de imagen que infiere el proveedor
analysis_result = await evaluate_image_with_provider(image_request)
return analysis_result
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))