forked from ericorps/ia-microservice
Módulo de audio y avance imágenes (schemas y openAI)
This commit is contained in:
@@ -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."""
|
||||
|
||||
Reference in New Issue
Block a user