Changes: - Move sys.exit() calls from module level to __init__() method - Raise proper exceptions (ImportError, ValueError, EnvironmentError) instead of sys.exit() - Add lazy import for RAGEvaluator in __init__.py using __getattr__ - Update README to clarify sample_dataset.json contains generic test data (not personal) - Fix README to reflect actual output format (JSON + CSV, not HTML) - Improve documentation for custom test case creation Addresses code review feedback about import-time validation and module exports.
25 lines
646 B
Python
25 lines
646 B
Python
"""
|
|
LightRAG Evaluation Module
|
|
|
|
RAGAS-based evaluation framework for assessing RAG system quality.
|
|
|
|
Usage:
|
|
from lightrag.evaluation import RAGEvaluator
|
|
|
|
evaluator = RAGEvaluator()
|
|
results = await evaluator.run()
|
|
|
|
Note: RAGEvaluator is imported lazily to avoid import errors
|
|
when ragas/datasets are not installed.
|
|
"""
|
|
|
|
__all__ = ["RAGEvaluator"]
|
|
|
|
|
|
def __getattr__(name):
|
|
"""Lazy import to avoid dependency errors when ragas is not installed."""
|
|
if name == "RAGEvaluator":
|
|
from .eval_rag_quality import RAGEvaluator
|
|
|
|
return RAGEvaluator
|
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|