File size: 3,893 Bytes
9730fbc |
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 116 117 118 |
#!/usr/bin/env python3
"""
Script para testar a integração Maritaca AI no Cidadão.AI
"""
import requests
import json
from datetime import datetime
# URL do backend no HuggingFace Spaces
BASE_URL = "https://neural-thinker-cidadao-ai-backend.hf.space"
def test_health():
"""Testa se a API está online"""
try:
response = requests.get(f"{BASE_URL}/health")
print(f"✅ Health Check: {response.status_code}")
if response.status_code == 200:
print(f" Response: {response.json()}")
return response.status_code == 200
except Exception as e:
print(f"❌ Health Check Error: {e}")
return False
def test_chat_endpoint():
"""Testa o endpoint de chat com a Maritaca AI"""
endpoint = f"{BASE_URL}/api/v1/chat/message"
# Mensagens de teste
test_messages = [
{
"message": "Olá, tudo bem?",
"expected_agent": "drummond"
},
{
"message": "Quero investigar contratos de saúde em São Paulo",
"expected_agent": "abaporu"
},
{
"message": "Me explique como funciona o portal da transparência",
"expected_agent": "drummond"
}
]
headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}
for test in test_messages:
print(f"\n📤 Testando: '{test['message']}'")
print(f" Agente esperado: {test['expected_agent']}")
payload = {
"message": test["message"],
"session_id": f"test-{datetime.now().timestamp()}"
}
try:
response = requests.post(
endpoint,
json=payload,
headers=headers,
timeout=30
)
print(f" Status: {response.status_code}")
if response.status_code == 200:
data = response.json()
print(f" ✅ Resposta recebida!")
print(f" Agente: {data.get('agent_name', 'N/A')}")
print(f" Mensagem: {data.get('message', 'N/A')[:100]}...")
print(f" Confiança: {data.get('confidence', 'N/A')}")
# Verifica se está usando Maritaca
if "drummond" in data.get('agent_id', '').lower():
print(f" 🤖 Drummond ativado (deve estar usando Maritaca AI)")
elif response.status_code == 422:
print(f" ❌ Erro de validação: {response.json()}")
else:
print(f" ❌ Erro: {response.text[:200]}")
except requests.exceptions.Timeout:
print(f" ⏱️ Timeout - a requisição demorou mais de 30 segundos")
except Exception as e:
print(f" ❌ Erro na requisição: {e}")
def test_api_docs():
"""Verifica se a documentação da API está acessível"""
try:
response = requests.get(f"{BASE_URL}/docs")
print(f"\n📚 API Docs: {response.status_code}")
if response.status_code == 200:
print(f" ✅ Documentação disponível em: {BASE_URL}/docs")
return response.status_code == 200
except Exception as e:
print(f"❌ API Docs Error: {e}")
return False
if __name__ == "__main__":
print("🧪 Testando integração Maritaca AI no Cidadão.AI")
print(f"🌐 Backend URL: {BASE_URL}")
print("="*50)
# Testa health check
if test_health():
# Testa documentação
test_api_docs()
# Testa endpoint de chat
test_chat_endpoint()
else:
print("\n❌ API não está respondendo. Verifique se o HuggingFace Spaces está online.")
print("\n"+"="*50)
print("✅ Testes concluídos!") |