🐞 Debugging & Observability
Debug and monitor Rankify applications.
Logging
Inspecting Results
def debug_retrieval(documents):
"""Inspect retrieval results."""
for doc in documents:
print(f"Q: {doc.question.question}")
print(f"Contexts retrieved: {len(doc.contexts)}")
for i, ctx in enumerate(doc.contexts[:3]):
print(f" [{i}] Score: {ctx.score:.4f}")
print(f" Has answer: {ctx.has_answer}")
Performance Profiling
import time
def timed_operation(name, func, *args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
elapsed = time.time() - start
print(f"{name}: {elapsed:.2f}s")
return result
# Usage
reranked = timed_operation("Reranking", reranker.rank, documents)