Spaces:
Sleeping
Sleeping
File size: 1,978 Bytes
3120cc0 |
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 |
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!") |