File size: 3,535 Bytes
f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 f54fd63 74b77d4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
#!/usr/bin/env python3
"""
Teste simples: Inicia servidor + Testa pergunta em texto + Verifica resposta com áudio
"""
import requests
import time
import json
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def test_simple_audio_pipeline():
"""Testa pipeline simples com texto e geração de áudio"""
logger.info("🧪 Testando pipeline simples (texto -> LLM -> áudio)...")
# Testar primeiro sem áudio
logger.info("📝 Testando resposta sem áudio...")
try:
response = requests.post(
"http://127.0.0.1:8088/process_text",
json={
"text": "O que é inteligência artificial em uma frase simples?",
"generate_audio": False
},
timeout=30
)
logger.info(f"Status: {response.status_code}")
if response.status_code == 200:
result = response.json()
logger.info(f"✅ Resposta: {result.get('text', 'No response')}")
else:
logger.info(f"⚠️ Response: {response.text}")
except Exception as e:
logger.error(f"❌ Erro no teste sem áudio: {e}")
# Aguardar um pouco e testar com áudio
time.sleep(5)
logger.info("🎵 Testando resposta com geração de áudio...")
try:
response = requests.post(
"http://127.0.0.1:8088/process_text",
json={
"text": "Explique machine learning brevemente",
"generate_audio": True
},
timeout=60
)
logger.info(f"Status: {response.status_code}")
if response.status_code == 200:
result = response.json()
logger.info(f"✅ Resposta: {result.get('text', 'No response')}")
if 'audio_data' in result and result['audio_data']:
logger.info("✅ Áudio gerado com sucesso!")
logger.info(f"🎵 Tamanho do áudio: {len(result['audio_data'])} bytes")
return True
else:
logger.warning("⚠️ Resposta ok, mas áudio não foi gerado")
else:
logger.error(f"❌ Erro: {response.status_code}")
logger.error(f"Response: {response.text}")
except Exception as e:
logger.error(f"❌ Erro no teste com áudio: {e}")
return False
def main():
"""Função principal"""
logger.info("🎯 Teste Simples da Pipeline")
logger.info("=" * 40)
# Aguardar servidor estar pronto
logger.info("⏳ Aguardando servidor...")
for i in range(20):
try:
response = requests.get("http://127.0.0.1:8088/health", timeout=3)
if response.status_code == 200:
logger.info(f"✅ Servidor respondendo após {i+1}s!")
break
except:
pass
time.sleep(1)
else:
logger.error("❌ Servidor não respondeu")
return 1
# Aguardar pipeline carregar um pouco
logger.info("⏳ Aguardando pipeline carregar...")
time.sleep(10)
# Executar teste
success = test_simple_audio_pipeline()
if success:
logger.info("🎉 TESTE PASSOU!")
logger.info("✅ Pipeline processa texto")
logger.info("✅ LLM responde")
logger.info("✅ Áudio é gerado")
return 0
else:
logger.warning("⚠️ Teste parcial - pipeline funciona mas áudio pode ter problemas")
return 0
if __name__ == "__main__":
import sys
sys.exit(main())
|