Spaces:
Sleeping
Sleeping
File size: 2,042 Bytes
fe617ac 6ad997d fe617ac |
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 |
import sys
import os
import platform
import time
from pathlib import Path
# Add project root to path
sys.path.append(str(Path(__file__).parent.parent))
def print_status(component, status, message=""):
color = "\033[92m" if status == "OK" else "\033[91m"
reset = "\033[0m"
print(f"[{component.ljust(15)}] {color}{status}{reset} {message}")
def check_system():
print("\n=== System Info ===")
print(f"Python: {sys.version.split()[0]}")
print(f"OS: {platform.system()} {platform.release()}")
print_status("System", "OK")
def check_torch():
print("\n=== PyTorch Check ===")
try:
import torch
print(f"Torch Version: {torch.__version__}")
if torch.backends.mps.is_available():
print_status("Accelerator", "OK", "MPS (Metal Performance Shaders) is available! 🚀")
elif torch.cuda.is_available():
print_status("Accelerator", "OK", f"CUDA is available! ({torch.cuda.get_device_name(0)})")
else:
print_status("Accelerator", "WARN", "Running on CPU (Slow but safe)")
except ImportError:
print_status("PyTorch", "FAIL", "Not installed")
def check_vector_db():
print("\n=== Vector Database Check ===")
try:
from src.core.rag.vector_db import VectorDB
start = time.perf_counter()
print("Loading VectorDB (this loads embeddings)...")
vdb = VectorDB()
print(f"Load Time: {time.perf_counter() - start:.2f}s")
# Test Query
test_q = "fantasy"
results = vdb.search(test_q, k=1)
if results:
print_status("ChromaDB", "OK", f"Query '{test_q}' returned: {results[0].page_content[:50]}...")
else:
print_status("ChromaDB", "WARN", "Database loaded but returned empty results")
except Exception as e:
print_status("ChromaDB", "FAIL", str(e))
print("Tip: Ensure 'data/chroma_db' exists.")
if __name__ == "__main__":
check_system()
check_torch()
check_vector_db()
|