Files
ia-microservice/app/schemas/image_standard.py

44 lines
1.7 KiB
Python

"""
Esquema de resultado esperado de modelos de análisis de imágenes.
Propósito:
Define el formato estándar de los resultados devueltos por los modelos de análisis
de imágenes, independientemente del proveedor de IA utilizado.
Homologación:
Garantiza que el resultado del análisis de imágenes siempre se entregue en el mismo
formato estándar para Qualidot.
"""
from fastapi import UploadFile
from fastapi.params import File, Form
from pydantic import BaseModel, Field
from typing import List, Optional
class ImageRequestFile:
"""Modelo de solicitud para análisis de imágenes."""
def __init__(
self,
file: UploadFile = File(..., description="Archivo de imagen a procesar (ej. jpg, png)"),
provider: str = Form(..., description="Proveedor de IA a utilizar (ej. openai, google)"),
model: str = Form(..., description="Modelo de IA a utilizar (ej. vision-1)"),
rubric: Optional[str] = Form(None, description="Rúbrica de evaluación personalizada para el análisis")
):
self.file = file
self.provider = provider
self.model = model
self.rubric = rubric
class StandardImageAnalysisResult(BaseModel):
"""Modelo que representa el resultado estándar de un análisis de imágenes para Qualidot."""
status: str = Field(
...,
description="Estado del análisis (ej. 'success', 'error')"
)
analysis: Optional[dict] = Field(
None,
description="Resultados detallados del análisis de la imagen, estructurados según la rúbrica si se proporcionó"
)
error: Optional[str] = Field(
None,
description="Mensaje de error en caso de que el análisis haya fallado"
)