CLMARRARA's picture
Adicionado POC do serviço de audio (Adicionado Roberta)
53e656d
# audio_service/main.py
# AUDIO SERVICE (Whisper + VADER)
from app.logger import get_logger, log
from fastapi import FastAPI, Request, HTTPException
from app.audio_processor import process_audio
app = FastAPI()
def get_logger_from_request(request: Request):
return request.app.state.logger
@app.on_event("startup")
def startup_event():
app.state.logger = get_logger("API")
app.state.logger.info("Aplicação iniciada.")
@app.get("/")
def root():
return {"status": "running"}
@app.post("/analyze")
def analyze(request: Request, data: dict):
logger = get_logger_from_request(request)
log("Iniciando analise de audio...", logger=logger)
video_base64 = data.get("video_base64")
audio_base64 = data.get("audio_base64")
# 🔥 LOG SEGURO (não quebra e não imprime base64 gigante)
log(f"video_base64 recebido: {'SIM' if video_base64 else 'NÃO'}", logger=logger)
log(f"audio_base64 recebido: {'SIM' if audio_base64 else 'NÃO'}", logger=logger)
# 🔥 VALIDAÇÃO CORRETA (evita 500)
if not video_base64 and not audio_base64:
raise HTTPException(
status_code=400,
detail="É necessário enviar video_base64 ou audio_base64"
)
try:
result = process_audio(
video_base64=video_base64,
audio_base64=audio_base64,
logger=logger
)
log("Finalizado analise de audio", logger=logger)
return result
except Exception as e:
log(f"Erro no processamento: {str(e)}", logger=logger)
raise HTTPException(
status_code=500,
detail=f"Erro ao processar áudio: {str(e)}"
)