#!/usr/bin/env python3
"""
Teste automatizado da UI do Chat GPT-OSS 120B
"""

import json
import urllib.request
import time

API_URL = "http://192.168.1.30:1234/v1/chat/completions"
MODEL = "openai/gpt-oss-120b"

def test_chat():
    print("🧪 Testando UI do Chat GPT-OSS 120B")
    print("="*60)

    # Simular uma conversa
    messages = [
        {"role": "system", "content": "Você é um assistente de IA especializado em programação."},
        {"role": "user", "content": "Olá! Você está funcionando?"}
    ]

    print("\n💬 Enviando mensagem de teste...")
    print(f"   Usuário: {messages[1]['content']}")

    try:
        # Fazer requisição
        data = {
            "model": MODEL,
            "messages": messages,
            "temperature": 0.7,
            "max_tokens": 100,
            "stream": False
        }

        req = urllib.request.Request(
            API_URL,
            data=json.dumps(data).encode('utf-8'),
            headers={'Content-Type': 'application/json'}
        )

        start_time = time.time()

        with urllib.request.urlopen(req, timeout=60) as response:
            result = json.loads(response.read().decode('utf-8'))

        elapsed = time.time() - start_time

        ai_response = result['choices'][0]['message']['content']

        print(f"\n🤖 Resposta da IA:")
        print(f"   {ai_response}")
        print(f"\n⏱️  Tempo de resposta: {elapsed:.2f}s")

        # Estatísticas
        if 'usage' in result:
            print(f"\n📊 Estatísticas:")
            print(f"   • Tokens de entrada: {result['usage']['prompt_tokens']}")
            print(f"   • Tokens de saída: {result['usage']['completion_tokens']}")
            print(f"   • Total: {result['usage']['total_tokens']}")

        print("\n" + "="*60)
        print("✅ Teste concluído com SUCESSO!")
        print("\n🌐 Acesse a UI em:")
        print("   • Local: http://localhost:8000/chat-gpt-oss-120b.html")
        print("   • Tailscale: http://100.75.88.8:8000/chat-gpt-oss-120b.html")
        print("   • Rede local: http://192.168.1.x:8000/chat-gpt-oss-120b.html")

        return True

    except Exception as e:
        print(f"\n❌ Erro: {e}")
        print("\n💡 Verifique:")
        print("   1. LM Studio está rodando")
        print("   2. Modelo openai/gpt-oss-120b está carregado")
        print("   3. Servidor está acessível em 192.168.1.30:1234")
        return False

if __name__ == "__main__":
    test_chat()
