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

44 lines
1.7 KiB
Python

"""
Esquema de resultado esperado de modelos de análisis de texto (JSON).
Propósito:
Define el formato estándar de los resultados devueltos por los modelos de análisis
de texto, independientemente del proveedor de IA utilizado.
Homologación:
Garantiza que el resultado del análisis de texto 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 TextRequestFile:
"""Modelo de solicitud para análisis de texto."""
def __init__(
self,
file: UploadFile = File(..., description="Archivo de texto a procesar (ej. txt, json)"),
provider: str = Form(..., description="Proveedor de IA a utilizar (ej. openai, google)"),
model: str = Form(..., description="Modelo de IA a utilizar (ej. text-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 StandardTextAnalysisResult(BaseModel):
"""Modelo que representa el resultado estándar de un análisis de texto 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 texto, 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"
)