feat: Agrega primera version de template (revisar archivo de documentacion - docs.md)

This commit is contained in:
Francisco Pineda
2026-03-15 08:44:25 +01:00
parent d433942981
commit 4d6152a9fe
45 changed files with 1151 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
"""
Gateway de IA de Qualidot - Módulo de Adaptadores de Resumen de Texto
Propósito:
Este módulo contiene funciones de adaptadores que permiten resumir texto usando diferentes proveedores de IA.
Cada función de adaptador se encarga de interactuar con un proveedor específico (como OpenAI, AssemblyAI, Deepgram, etc.)
y de convertir la respuesta del proveedor al formato estándar de resumen de texto de Qualidot.
"""
import tempfile
import os
from fastapi import HTTPException
from openai import OpenAI, AsyncOpenAI
import assemblyai as aai
from app.core.config import settings
from app.schemas.text_standard import TextRequestFile, StandardTextAnalysisResult
from app.core import config
# Función de adaptador principal que infiere el proveedor y llama al adaptador específico
async def evaluate_text_with_provider(text_request: TextRequestFile) -> StandardTextAnalysisResult:
"""
Función de adaptador para evaluar texto usando el proveedor de IA configurado.
"""
provider = text_request.provider.lower()
match provider:
case "openai":
return await evaluate_with_openai(text_request)
# AGREGAR OTROS CASOS PARA DIFERENTES PROVEEDORES DE IA AQUÍ
case _:
raise ValueError(f"Proveedor de IA no soportado: {text_request.provider}")
# Función de adaptador para evaluar texto usando OpenAI
async def evaluate_with_openai(text_request: TextRequestFile) -> StandardTextAnalysisResult:
"""
Función de adaptador para evaluar texto usando OpenAI.
(Plantilla para futuras implementaciones)
"""
client = AsyncOpenAI(api_key=settings.OPENAI_API_KEY)
# PASOS A SEGUIR PARA IMPLEMENTAR LA LÓGICA DE EVALUACIÓN CON OPENAI:
# 1. Validar el texto de entrada (tamaño, formato, etc.)
# 2. Configurar el cliente de OpenAI con la clave API
# 3. Llamar a la API de OpenAI para evaluar el texto
# 4. Convertir la respuesta de OpenAI al formato estándar de evaluación de texto de Qualidot
# 5. Manejar errores y excepciones adecuadamente
raise NotImplementedError("La función evaluate_with_openai aún no está implementada.")
# Otros modelos de IA