Coverage for langsmith/evaluation/__init__.py: 56%

39 statements  

« prev     ^ index     » next       coverage.py v7.10.1, created at 2025-12-11 16:15 -0800

1"""Evaluation Helpers.""" 

2 

3from typing import TYPE_CHECKING, Any 

4 

5if TYPE_CHECKING: 

6 from langsmith.evaluation._arunner import ( 

7 aevaluate, 

8 aevaluate_existing, 

9 ) 

10 from langsmith.evaluation._runner import ( 

11 evaluate, 

12 evaluate_comparative, 

13 evaluate_existing, 

14 ) 

15 from langsmith.evaluation.evaluator import ( 

16 EvaluationResult, 

17 EvaluationResults, 

18 RunEvaluator, 

19 run_evaluator, 

20 ) 

21 from langsmith.evaluation.integrations._langchain import LangChainStringEvaluator 

22 

23 

24def __getattr__(name: str) -> Any: 

25 if name == "evaluate": 

26 from langsmith.evaluation._runner import evaluate 

27 

28 return evaluate 

29 elif name == "evaluate_existing": 

30 from langsmith.evaluation._runner import evaluate_existing 

31 

32 return evaluate_existing 

33 elif name == "aevaluate": 

34 from langsmith.evaluation._arunner import aevaluate 

35 

36 return aevaluate 

37 elif name == "aevaluate_existing": 

38 from langsmith.evaluation._arunner import aevaluate_existing 

39 

40 return aevaluate_existing 

41 elif name == "evaluate_comparative": 

42 from langsmith.evaluation._runner import evaluate_comparative 

43 

44 return evaluate_comparative 

45 elif name == "EvaluationResult": 

46 from langsmith.evaluation.evaluator import EvaluationResult 

47 

48 return EvaluationResult 

49 elif name == "EvaluationResults": 

50 from langsmith.evaluation.evaluator import EvaluationResults 

51 

52 return EvaluationResults 

53 elif name == "RunEvaluator": 

54 from langsmith.evaluation.evaluator import RunEvaluator 

55 

56 return RunEvaluator 

57 elif name == "run_evaluator": 

58 from langsmith.evaluation.evaluator import run_evaluator 

59 

60 return run_evaluator 

61 elif name == "StringEvaluator": 

62 from langsmith.evaluation.string_evaluator import StringEvaluator 

63 

64 return StringEvaluator 

65 elif name == "LangChainStringEvaluator": 

66 from langsmith.evaluation.integrations._langchain import ( 

67 LangChainStringEvaluator, 

68 ) 

69 

70 return LangChainStringEvaluator 

71 raise AttributeError(f"module {__name__} has no attribute {name}") 

72 

73 

74__all__ = [ 

75 "run_evaluator", 

76 "EvaluationResult", 

77 "EvaluationResults", 

78 "RunEvaluator", 

79 "StringEvaluator", 

80 "aevaluate", 

81 "aevaluate_existing", 

82 "evaluate", 

83 "evaluate_existing", 

84 "evaluate_comparative", 

85 "LangChainStringEvaluator", 

86] 

87 

88 

89def __dir__() -> list[str]: 

90 return __all__