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())