forked from ericorps/ia-microservice
Versión 1.0
This commit is contained in:
37
app/api/v1/endpoints/document/rubricated_analysis.py
Normal file
37
app/api/v1/endpoints/document/rubricated_analysis.py
Normal file
@@ -0,0 +1,37 @@
|
||||
"""
|
||||
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))
|
||||
Reference in New Issue
Block a user