Módulo de audio y avance imágenes (schemas y openAI)

This commit is contained in:
lansan69
2026-03-31 02:25:58 -06:00
parent 4d6152a9fe
commit fc25a47f04
37 changed files with 538 additions and 82 deletions

View File

@@ -14,28 +14,22 @@ Pendiente (recomendación personal):
- Delimitar los proveedores de IA soportados inicialmente
"""
from dataclasses import dataclass
from fastapi import UploadFile
from fastapi.params import File, Form
from pydantic import BaseModel, Field
from typing import List, Optional
@dataclass
class AudioRequestFile:
"""Modelo de solicitud para transcripción de audio."""
def __init__(
self,
file: UploadFile = File(..., description="Archivo de audio a procesar (ej. mp3, wav)"),
provider: str = Form(..., description="Proveedor de IA a utilizar (ej. openai, assemblyai)"),
model: str = Form(..., description="Modelo de IA a utilizar (ej. whisper-1)"),
diarization: Optional[bool] = Form(False, description="Activa la separación e identificación de múltiples hablantes"),
timestamps: Optional[bool] = Form(False, description="Activa las marcas de tiempo exactas por cada segmento hablado"),
sentiment: Optional[bool] = Form(False, description="Activa el análisis de sentimiento (POSITIVO/NEGATIVO) por segmento")
):
self.file = file
self.provider = provider
self.model = model
self.diarization = diarization
self.timestamps = timestamps
self.sentiment = sentiment
file: UploadFile = File(..., description="Archivo de audio a procesar (ej. mp3, wav)")
provider: str = Form(..., description="Proveedor de IA a utilizar (ej. openai, assemblyai)")
model: str = Form(..., description="Modelo de IA a utilizar (ej. whisper-1)")
diarization: Optional[bool] = Form(False, description="Activa la separación e identificación de múltiples hablantes")
timestamps: Optional[bool] = Form(False, description="Activa las marcas de tiempo exactas por cada segmento hablado")
sentiment: Optional[bool] = Form(False, description="Activa el análisis de sentimiento (POSITIVO/NEGATIVO) por segmento")
class TranscriptionSegment(BaseModel):
"""Modelo que representa un segmento de transcripción de audio detallado."""