Spaces:
Sleeping
Sleeping
| import requests | |
| import json | |
| import time | |
| BASE_URL = "http://localhost:7860" | |
| print("=" * 60) | |
| print("LEGAL RAG BACKEND - API TEST") | |
| print("=" * 60) | |
| print("\n1. Testing health endpoint...") | |
| try: | |
| response = requests.get(f"{BASE_URL}/health", timeout=5) | |
| if response.status_code == 200: | |
| print(f" ✓ Health check passed: {response.json()}") | |
| else: | |
| print(f" ✗ Health check failed: {response.status_code}") | |
| except Exception as e: | |
| print(f" ✗ Cannot connect to server: {e}") | |
| print("\n Make sure the server is running:") | |
| print(" ./start.sh") | |
| exit(1) | |
| print("\n2. Testing /predict endpoint...") | |
| test_case = { | |
| "text": "The accused was found in possession of stolen goods worth Rs. 50,000. The police recovered the items from his residence during a search operation." | |
| } | |
| try: | |
| start = time.time() | |
| response = requests.post(f"{BASE_URL}/predict", json=test_case, timeout=30) | |
| duration = time.time() - start | |
| if response.status_code == 200: | |
| result = response.json() | |
| print(f" ✓ Prediction successful ({duration:.2f}s)") | |
| print(f" Verdict: {result['verdict']}") | |
| print(f" Confidence: {result['confidence']:.4f}") | |
| else: | |
| print(f" ✗ Prediction failed: {response.status_code}") | |
| print(f" Error: {response.text}") | |
| except Exception as e: | |
| print(f" ✗ Error: {e}") | |
| print("\n3. Testing /explain endpoint...") | |
| try: | |
| start = time.time() | |
| response = requests.post(f"{BASE_URL}/explain", json=test_case, timeout=60) | |
| duration = time.time() - start | |
| if response.status_code == 200: | |
| result = response.json() | |
| print(f" ✓ Explanation successful ({duration:.2f}s)") | |
| print(f" Verdict: {result['verdict']}") | |
| print(f" Confidence: {result['confidence']:.4f}") | |
| print(f" Explanation length: {len(result['explanation'])} chars") | |
| print(f" Retrieved chunks:") | |
| for category, chunks in result['retrievedChunks'].items(): | |
| print(f" - {category}: {len(chunks)} chunks") | |
| else: | |
| print(f" ✗ Explanation failed: {response.status_code}") | |
| print(f" Error: {response.text}") | |
| except Exception as e: | |
| print(f" ✗ Error: {e}") | |
| print("\n" + "=" * 60) | |
| print("✅ API TESTING COMPLETE") | |
| print("=" * 60) | |