forked from ericorps/ia-microservice
Versión 1.0
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -18,7 +18,7 @@ from app.services.audio.transcription_adapters import transcribe_audio_with_prov
|
||||
# Inicializar el router de FastAPI para este módulo
|
||||
audio_router_transcription = APIRouter()
|
||||
|
||||
@audio_router_transcription.post("/transcripts/", response_model=StandardTranscriptionResult)
|
||||
@audio_router_transcription.post("/transcripts", response_model=StandardTranscriptionResult)
|
||||
async def transcribe_audio(audio_request: AudioRequestFile = Depends()) -> StandardTranscriptionResult:
|
||||
"""
|
||||
Endpoint para transcribir audio simple infiriendo el proveedor de IA
|
||||
|
||||
Binary file not shown.
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))
|
||||
@@ -17,18 +17,19 @@ from fastapi import APIRouter, UploadFile, File, HTTPException
|
||||
from fastapi.security import APIKeyHeader
|
||||
|
||||
# Importar los routers específicos de cada módulo
|
||||
from app.api.v1.endpoints.audio.transcription import audio_router_transcription # Endpoint de transcripción de audio
|
||||
from app.api.v1.endpoints.texto.resume import text_router_summary # Endpoint de resumen de texto
|
||||
from app.api.v1.endpoints.texto.rubricated_analysis import text_router_analysis # Endpoint de análisis rubricado de texto
|
||||
from app.api.v1.endpoints.video.transcription import video_router_transcription # Endpoint de transcripción de video
|
||||
from app.api.v1.endpoints.image.rubricated_analysis import image_router_analysis # Endpoint de análisis rubricado de imágenes
|
||||
from app.api.v1.endpoints.audio.transcription import audio_router_transcription # Endpoint de transcripción de audio
|
||||
from app.api.v1.endpoints.texto.resume import text_router_summary # Endpoint de resumen de texto
|
||||
from app.api.v1.endpoints.texto.rubricated_analysis import text_router_analysis # Endpoint de análisis rubricado de texto
|
||||
from app.api.v1.endpoints.video.transcription import video_router_transcription # Endpoint de transcripción de video
|
||||
from app.api.v1.endpoints.image.rubricated_analysis import image_router_analysis # Endpoint de análisis rubricado de imágenes
|
||||
from app.api.v1.endpoints.document.rubricated_analysis import document_router_analysis # Endpoint de análisis rubricado de documentos
|
||||
|
||||
# Inicializar el router de FastAPI para los módulos de procesamiento
|
||||
api_router_audio = APIRouter()
|
||||
api_router_text = APIRouter()
|
||||
api_router_video = APIRouter()
|
||||
api_router_image = APIRouter()
|
||||
|
||||
api_router_document = APIRouter()
|
||||
|
||||
api_router_audio.include_router(
|
||||
audio_router_transcription,
|
||||
@@ -58,4 +59,10 @@ api_router_image.include_router(
|
||||
image_router_analysis,
|
||||
prefix="/image",
|
||||
tags=["Procesamiento de Imágenes"]
|
||||
)
|
||||
)
|
||||
|
||||
api_router_document.include_router(
|
||||
document_router_analysis,
|
||||
prefix="/document",
|
||||
tags=["Procesamiento de Documentos"]
|
||||
)
|
||||
Binary file not shown.
Binary file not shown.
@@ -19,7 +19,7 @@ from app.services.text.resume_adapters import summarize_text_with_provider
|
||||
# Inicializar el router de FastAPI para este módulo
|
||||
text_router_summary = APIRouter()
|
||||
|
||||
@text_router_summary.post("/summaries/", response_model=StandardTextAnalysisResult)
|
||||
@text_router_summary.post("/summaries", response_model=StandardTextAnalysisResult)
|
||||
async def summarize_text(text_request: TextRequestFile = Depends()) -> StandardTextAnalysisResult:
|
||||
"""
|
||||
Endpoint para resumir texto simple infiriendo el proveedor de IA
|
||||
|
||||
@@ -19,7 +19,7 @@ from app.services.text.evaluations_adapters import evaluate_text_with_provider
|
||||
# Inicializar el router de FastAPI para este módulo
|
||||
text_router_analysis = APIRouter()
|
||||
|
||||
@text_router_analysis.post("/evaluations/", response_model=StandardTextAnalysisResult)
|
||||
@text_router_analysis.post("/evaluations", response_model=StandardTextAnalysisResult)
|
||||
async def evaluate_text(text_request: TextRequestFile = Depends()) -> StandardTextAnalysisResult:
|
||||
"""
|
||||
Endpoint para analizar texto usando una rúbrica de evaluación infiriendo el proveedor de IA
|
||||
|
||||
Binary file not shown.
@@ -16,7 +16,7 @@ from app.services.video.transcription_adapters import transcribe_video_with_prov
|
||||
# Inicializar el router de FastAPI para este módulo
|
||||
video_router_transcription = APIRouter()
|
||||
|
||||
@video_router_transcription.post("/transcripts/", response_model=StandardTranscriptionResult)
|
||||
@video_router_transcription.post("/transcripts", response_model=StandardTranscriptionResult)
|
||||
async def transcribe_video(video_request: VideoRequestFile = Depends()) -> StandardTranscriptionResult:
|
||||
"""
|
||||
Endpoint para transcribir video simple infiriendo el proveedor de IA
|
||||
|
||||
Reference in New Issue
Block a user