Spaces:
Sleeping
Sleeping
import logging | |
from app import LegalTextSearchBot | |
import numpy as np | |
logging.basicConfig(level=logging.INFO) | |
logger = logging.getLogger(__name__) | |
def test_embeddings(): | |
try: | |
logger.info("Initializing LegalTextSearchBot...") | |
bot = LegalTextSearchBot() | |
# Test queries | |
test_queries = [ | |
"What are the penalties for corruption?", | |
"Explain criminal conspiracy", | |
"What constitutes culpable homicide?" | |
] | |
for query in test_queries: | |
logger.info(f"\nTesting query: {query}") | |
# Generate embedding | |
logger.info("Generating embedding...") | |
embedding = bot.get_embedding(query) | |
# Verify embedding | |
logger.info(f"Embedding dimension: {len(embedding)}") | |
assert len(embedding) == 1024, f"Embedding dimension should be 1024, got {len(embedding)}" | |
# Verify embedding values | |
embedding_array = np.array(embedding) | |
logger.info(f"Embedding stats - Mean: {embedding_array.mean():.4f}, Std: {embedding_array.std():.4f}") | |
# Test search | |
logger.info("Testing vector search...") | |
results = bot._search_astra(query) | |
if results: | |
logger.info(f"Successfully retrieved {len(results)} results") | |
# Print first result title | |
logger.info(f"First result: {results[0].get('title', 'No title')}") | |
else: | |
logger.warning("No results found") | |
return True | |
except Exception as e: | |
logger.error(f"Test failed: {str(e)}") | |
return False | |
if __name__ == "__main__": | |
print("\n=== Starting Embedding Tests ===\n") | |
success = test_embeddings() | |
if success: | |
print("\n✅ All embedding tests passed!") | |
else: | |
print("\n❌ Embedding tests failed!") |