forked from ericorps/ia-microservice
37 lines
1.6 KiB
Python
37 lines
1.6 KiB
Python
"""
|
|
Gateway de IA de Qualidot - Módulo de Procesamiento de Documentos
|
|
|
|
Propósito:
|
|
Este endpoint recibe un documento y lo analiza usando inteligencia artificial,
|
|
extrayendo información relevante y estructurada.
|
|
|
|
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 app.schemas.document_standard import DocumentRequestFile, StandardDocumentAnalysisResult
|
|
from app.services.document.evaluations_adapters import evaluate_document_with_provider
|
|
|
|
# Inicializar el router de FastAPI para este módulo
|
|
document_router_analysis = APIRouter()
|
|
|
|
@document_router_analysis.post("/evaluations", response_model=StandardDocumentAnalysisResult)
|
|
async def evaluate_document(document_request: DocumentRequestFile = Depends()) -> StandardDocumentAnalysisResult:
|
|
"""
|
|
Endpoint para analizar documentos usando inteligencia artificial
|
|
|
|
Args:
|
|
document_request: Objeto DocumentRequestFile que contiene el archivo de documento,
|
|
el proveedor, el modelo y la rúbrica de evaluación.
|
|
|
|
Returns:
|
|
StandardDocumentAnalysisResult: Resultado del análisis de documentos en formato estándar de Qualidot
|
|
"""
|
|
try:
|
|
# Analizar el documento usando el adaptador de análisis que infiere el proveedor
|
|
analysis_result = await evaluate_document_with_provider(document_request)
|
|
return analysis_result
|
|
except Exception as e:
|
|
raise HTTPException(status_code=500, detail=str(e)) |