Format entire codebase with ruff and add type hints across all modules: - Apply ruff formatting to all Python files (121 files, 17K insertions) - Add type hints to function signatures throughout lightrag core and API - Update test suite with improved type annotations and docstrings - Add pyrightconfig.json for static type checking configuration - Create prompt_optimized.py and test_extraction_prompt_ab.py test files - Update ruff.toml and .gitignore for improved linting configuration - Standardize code style across examples, reproduce scripts, and utilities
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}')
|