evalsuite-python 0.5.1__py3-none-any.whl → 0.5.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- evalsuite/_lazy.py +32 -0
- evalsuite/api.py +2 -1
- evalsuite/calibration.py +7 -1
- evalsuite/classification/metrics.py +4 -2
- evalsuite/clinical/report.py +7 -1
- evalsuite/llmsys/code.py +42 -33
- evalsuite/llmsys/safety.py +1 -1
- evalsuite/stats/effect.py +8 -2
- evalsuite/stats/hypothesis.py +8 -2
- evalsuite/stats/intervals.py +9 -2
- evalsuite/stats/paired.py +9 -2
- evalsuite/text/judge.py +8 -2
- evalsuite/text/structured.py +5 -1
- evalsuite/version.py +1 -1
- evalsuite/vision/segmentation.py +7 -1
- {evalsuite_python-0.5.1.dist-info → evalsuite_python-0.5.2.dist-info}/METADATA +2 -2
- {evalsuite_python-0.5.1.dist-info → evalsuite_python-0.5.2.dist-info}/RECORD +20 -19
- {evalsuite_python-0.5.1.dist-info → evalsuite_python-0.5.2.dist-info}/WHEEL +1 -1
- {evalsuite_python-0.5.1.dist-info → evalsuite_python-0.5.2.dist-info}/entry_points.txt +0 -0
- {evalsuite_python-0.5.1.dist-info → evalsuite_python-0.5.2.dist-info}/licenses/LICENSE +0 -0
evalsuite/_lazy.py
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""Deferred imports for heavy optional-at-import-time dependencies (SciPy submodules).
|
|
2
|
+
|
|
3
|
+
``import evalsuite`` should not pay for SciPy until a function that needs it runs.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
import importlib
|
|
9
|
+
from types import ModuleType
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class LazyModule(ModuleType):
|
|
14
|
+
"""Module proxy that imports the real module on first attribute access."""
|
|
15
|
+
|
|
16
|
+
def __init__(self, name: str) -> None:
|
|
17
|
+
super().__init__(name)
|
|
18
|
+
self.__dict__["_mod"] = None
|
|
19
|
+
|
|
20
|
+
def _load(self) -> ModuleType:
|
|
21
|
+
mod = self.__dict__["_mod"]
|
|
22
|
+
if mod is None:
|
|
23
|
+
mod = importlib.import_module(self.__name__)
|
|
24
|
+
self.__dict__["_mod"] = mod
|
|
25
|
+
return mod # type: ignore[no-any-return]
|
|
26
|
+
|
|
27
|
+
def __getattr__(self, attr: str) -> Any:
|
|
28
|
+
return getattr(self._load(), attr)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def lazy_module(name: str) -> Any:
|
|
32
|
+
return LazyModule(name)
|
evalsuite/api.py
CHANGED
|
@@ -63,7 +63,8 @@ def _classification_registry(
|
|
|
63
63
|
|
|
64
64
|
def _hamming(ctx: ClassificationContext) -> MetricResult:
|
|
65
65
|
if ctx.target_type == "multilabel":
|
|
66
|
-
|
|
66
|
+
if ctx.y_pred is None:
|
|
67
|
+
raise InputValidationError("y_pred is required for this metric.")
|
|
67
68
|
wrong = (ctx.y_true != ctx.y_pred).mean(axis=1)
|
|
68
69
|
else:
|
|
69
70
|
wrong = (ctx.true_idx != ctx.pred_idx).astype(float)
|
evalsuite/calibration.py
CHANGED
|
@@ -14,7 +14,13 @@ from typing import TYPE_CHECKING, Any, Literal, Optional, cast
|
|
|
14
14
|
|
|
15
15
|
import numpy as np
|
|
16
16
|
from numpy.typing import NDArray
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
if TYPE_CHECKING:
|
|
19
|
+
from scipy import stats
|
|
20
|
+
else:
|
|
21
|
+
from ._lazy import lazy_module
|
|
22
|
+
|
|
23
|
+
stats = lazy_module("scipy.stats")
|
|
18
24
|
|
|
19
25
|
from .classification.metrics import (
|
|
20
26
|
_binary_target,
|
|
@@ -109,7 +109,8 @@ def accuracy(y_true: ArrayLike, y_pred: ArrayLike, *, sample_weight: Optional[Ar
|
|
|
109
109
|
|
|
110
110
|
def _accuracy(ctx: ClassificationContext) -> MetricResult:
|
|
111
111
|
if ctx.target_type == "multilabel":
|
|
112
|
-
|
|
112
|
+
if ctx.y_pred is None:
|
|
113
|
+
raise InputValidationError("y_pred is required for this metric.")
|
|
113
114
|
correct = (ctx.y_true == ctx.y_pred).all(axis=1)
|
|
114
115
|
else:
|
|
115
116
|
correct = ctx.true_idx == ctx.pred_idx
|
|
@@ -491,7 +492,8 @@ def hamming_loss(
|
|
|
491
492
|
"""Hamming loss."""
|
|
492
493
|
ctx = _ctx(y_true, y_pred, sample_weight=sample_weight)
|
|
493
494
|
if ctx.target_type == "multilabel":
|
|
494
|
-
|
|
495
|
+
if ctx.y_pred is None:
|
|
496
|
+
raise InputValidationError("y_pred is required for this metric.")
|
|
495
497
|
wrong = (ctx.y_true != ctx.y_pred).mean(axis=1)
|
|
496
498
|
else:
|
|
497
499
|
wrong = (ctx.true_idx != ctx.pred_idx).astype(float)
|
evalsuite/clinical/report.py
CHANGED
|
@@ -10,7 +10,13 @@ from typing import TYPE_CHECKING, Any, Optional, cast
|
|
|
10
10
|
|
|
11
11
|
import numpy as np
|
|
12
12
|
from numpy.typing import NDArray
|
|
13
|
-
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from scipy import special
|
|
16
|
+
else:
|
|
17
|
+
from .._lazy import lazy_module
|
|
18
|
+
|
|
19
|
+
special = lazy_module("scipy.special")
|
|
14
20
|
|
|
15
21
|
from ..core.exceptions import InputValidationError
|
|
16
22
|
from ..core.export import PathLike, csv_text, html_document, html_table, save_as
|
evalsuite/llmsys/code.py
CHANGED
|
@@ -40,6 +40,10 @@ __all__ = [
|
|
|
40
40
|
]
|
|
41
41
|
|
|
42
42
|
_C = "code"
|
|
43
|
+
|
|
44
|
+
# Errors CPython raises for source it cannot parse: syntax errors, null bytes (ValueError), and input nested
|
|
45
|
+
# too deeply for the parser (MemoryError "parser stack overflowed") or for the compiler (RecursionError).
|
|
46
|
+
_PARSE_ERRORS = (SyntaxError, ValueError, MemoryError, RecursionError)
|
|
43
47
|
_REF_HUMANEVAL = (
|
|
44
48
|
"Chen M, Tworek J, Jun H, et al. Evaluating large language models trained on code. arXiv:2107.03374. 2021."
|
|
45
49
|
)
|
|
@@ -141,7 +145,7 @@ def syntax_validity_rate(
|
|
|
141
145
|
with warnings.catch_warnings():
|
|
142
146
|
warnings.simplefilter("ignore", SyntaxWarning)
|
|
143
147
|
compile(src, "<generated>", "exec", dont_inherit=True) # parses only; nothing runs
|
|
144
|
-
except
|
|
148
|
+
except _PARSE_ERRORS:
|
|
145
149
|
return False
|
|
146
150
|
return True
|
|
147
151
|
|
|
@@ -562,12 +566,16 @@ def code_complexity(code: Any) -> MetricResult:
|
|
|
562
566
|
with warnings.catch_warnings():
|
|
563
567
|
warnings.simplefilter("ignore", SyntaxWarning)
|
|
564
568
|
tree = ast.parse(src)
|
|
569
|
+
visitor = _Complexity.run(tree)
|
|
570
|
+
v = _halstead_volume(tree)
|
|
565
571
|
except SyntaxError as exc:
|
|
566
572
|
raise InputValidationError(f"code[{i}] is not valid Python: {exc.msg} (line {exc.lineno}).") from exc
|
|
567
|
-
|
|
573
|
+
except _PARSE_ERRORS as exc:
|
|
574
|
+
raise InputValidationError(
|
|
575
|
+
f"code[{i}] is too deeply nested to analyse ({type(exc).__name__})."
|
|
576
|
+
) from exc
|
|
568
577
|
blocks = visitor.blocks
|
|
569
578
|
funcs += [c for _, c in blocks]
|
|
570
|
-
v = _halstead_volume(tree)
|
|
571
579
|
g = visitor.total
|
|
572
580
|
lloc, sloc, comments = _raw(src)
|
|
573
581
|
c_pct = comments / sloc * 100 if sloc else 0.0
|
|
@@ -720,38 +728,38 @@ def _parse(src: str) -> Optional[ast.AST]:
|
|
|
720
728
|
with warnings.catch_warnings():
|
|
721
729
|
warnings.simplefilter("ignore", SyntaxWarning)
|
|
722
730
|
return ast.parse(_strip(src))
|
|
723
|
-
except
|
|
731
|
+
except _PARSE_ERRORS:
|
|
724
732
|
return None
|
|
725
733
|
|
|
726
734
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
]
|
|
735
|
+
_SKIP_NODES = (ast.expr_context, ast.operator, ast.unaryop, ast.boolop, ast.cmpop)
|
|
736
|
+
|
|
737
|
+
|
|
738
|
+
def _kids(node: ast.AST) -> list[ast.AST]:
|
|
739
|
+
return [c for c in ast.iter_child_nodes(node) if not isinstance(c, _SKIP_NODES)]
|
|
740
|
+
|
|
741
|
+
|
|
742
|
+
def _subtrees(tree: ast.AST, table: dict[tuple[Any, ...], int]) -> list[int]:
|
|
743
|
+
"""Every subtree with children (and the root), as ids that are equal exactly when the subtrees are
|
|
744
|
+
structurally equal. Built bottom-up without recursion: ``table`` interns (node type, child ids), so the
|
|
745
|
+
cost is linear in the tree size (comparing serialised subtrees would be quadratic)."""
|
|
746
|
+
ids: dict[int, int] = {}
|
|
747
|
+
out: list[int] = []
|
|
748
|
+
stack: list[tuple[ast.AST, bool]] = [(tree, False)]
|
|
749
|
+
while stack:
|
|
750
|
+
node, ready = stack.pop()
|
|
751
|
+
kids = _kids(node)
|
|
752
|
+
if not ready:
|
|
753
|
+
stack.append((node, True))
|
|
754
|
+
stack.extend((k, False) for k in kids)
|
|
755
|
+
continue
|
|
756
|
+
tag = type(node).__name__
|
|
757
|
+
if isinstance(node, (ast.BinOp, ast.UnaryOp, ast.BoolOp, ast.AugAssign)):
|
|
758
|
+
tag += ":" + type(node.op).__name__
|
|
759
|
+
sid = table.setdefault((tag, tuple(ids[id(k)] for k in kids)), len(table))
|
|
760
|
+
ids[id(node)] = sid
|
|
753
761
|
if kids or node is tree:
|
|
754
|
-
out.append(
|
|
762
|
+
out.append(sid)
|
|
755
763
|
return out
|
|
756
764
|
|
|
757
765
|
|
|
@@ -878,15 +886,16 @@ def codebleu(
|
|
|
878
886
|
ngram = _corpus_bleu(t_refs, t_hyps, None)
|
|
879
887
|
weighted = _corpus_bleu(t_refs, t_hyps, kw)
|
|
880
888
|
match = total = df_match = df_total = 0
|
|
889
|
+
table: dict[tuple[Any, ...], int] = {}
|
|
881
890
|
for rs, p in zip(refs, preds):
|
|
882
891
|
cand = _parse(p)
|
|
883
|
-
cand_sub = set(_subtrees(cand)) if cand is not None else set()
|
|
892
|
+
cand_sub = set(_subtrees(cand, table)) if cand is not None else set()
|
|
884
893
|
cand_flow = _normalize_flow(_dataflow(cand)) if cand is not None else []
|
|
885
894
|
for r in rs:
|
|
886
895
|
ref = _parse(r)
|
|
887
896
|
if ref is None:
|
|
888
897
|
continue
|
|
889
|
-
ref_sub = _subtrees(ref)
|
|
898
|
+
ref_sub = _subtrees(ref, table)
|
|
890
899
|
match += sum(s in cand_sub for s in ref_sub)
|
|
891
900
|
total += len(ref_sub)
|
|
892
901
|
ref_flow = _normalize_flow(_dataflow(ref))
|
evalsuite/llmsys/safety.py
CHANGED
|
@@ -362,7 +362,7 @@ def _luhn(digits: str) -> bool:
|
|
|
362
362
|
|
|
363
363
|
|
|
364
364
|
PII_PATTERNS: dict[str, str] = {
|
|
365
|
-
"email": r"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}",
|
|
365
|
+
"email": r"(?<![A-Za-z0-9._%+-])[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}",
|
|
366
366
|
"phone": r"(?<!\d[\s.-])(?<!\w)(?:\+?\d{1,3}[\s.-]?)?(?:\(\d{2,4}\)[\s.-]?)?\d{3,4}[\s.-]\d{3,4}"
|
|
367
367
|
r"(?:[\s.-]\d{2,4})?(?![\s.-]?\d)(?!\w)",
|
|
368
368
|
"credit_card": r"(?<!\d)\d(?:[ -]?\d){12,18}(?!\d)",
|
evalsuite/stats/effect.py
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Literal
|
|
5
|
+
from typing import TYPE_CHECKING, Literal
|
|
6
6
|
|
|
7
7
|
import numpy as np
|
|
8
8
|
from numpy.typing import NDArray
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from scipy import special
|
|
12
|
+
else:
|
|
13
|
+
from .._lazy import lazy_module
|
|
14
|
+
|
|
15
|
+
special = lazy_module("scipy.special")
|
|
10
16
|
|
|
11
17
|
from ..core.exceptions import InputValidationError, StatisticalTestError
|
|
12
18
|
from ..core.types import ArrayLike
|
evalsuite/stats/hypothesis.py
CHANGED
|
@@ -8,11 +8,17 @@ implementations are the reference; EvalSuite adds input validation, effect sizes
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
10
|
import math
|
|
11
|
-
from typing import Literal
|
|
11
|
+
from typing import TYPE_CHECKING, Literal
|
|
12
12
|
|
|
13
13
|
import numpy as np
|
|
14
14
|
from numpy.typing import NDArray
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from scipy import stats
|
|
18
|
+
else:
|
|
19
|
+
from .._lazy import lazy_module
|
|
20
|
+
|
|
21
|
+
stats = lazy_module("scipy.stats")
|
|
16
22
|
|
|
17
23
|
from ..core.exceptions import InputValidationError, StatisticalTestError
|
|
18
24
|
from ..core.types import ArrayLike
|
evalsuite/stats/intervals.py
CHANGED
|
@@ -3,11 +3,18 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import warnings
|
|
6
|
-
from typing import Any, Literal, Optional
|
|
6
|
+
from typing import TYPE_CHECKING, Any, Literal, Optional
|
|
7
7
|
|
|
8
8
|
import numpy as np
|
|
9
9
|
from numpy.typing import NDArray
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from scipy import special, stats
|
|
13
|
+
else:
|
|
14
|
+
from .._lazy import lazy_module
|
|
15
|
+
|
|
16
|
+
special = lazy_module("scipy.special")
|
|
17
|
+
stats = lazy_module("scipy.stats")
|
|
11
18
|
|
|
12
19
|
from ..core.exceptions import EvalSuiteError, InputValidationError, StatisticalTestError
|
|
13
20
|
from ..core.types import ArrayLike
|
evalsuite/stats/paired.py
CHANGED
|
@@ -2,10 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Any, Literal, Optional
|
|
5
|
+
from typing import TYPE_CHECKING, Any, Literal, Optional
|
|
6
6
|
|
|
7
7
|
import numpy as np
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from scipy import special, stats
|
|
11
|
+
else:
|
|
12
|
+
from .._lazy import lazy_module
|
|
13
|
+
|
|
14
|
+
special = lazy_module("scipy.special")
|
|
15
|
+
stats = lazy_module("scipy.stats")
|
|
9
16
|
|
|
10
17
|
from ..core.exceptions import InputValidationError
|
|
11
18
|
from ..core.types import ArrayLike
|
evalsuite/text/judge.py
CHANGED
|
@@ -9,10 +9,16 @@ from __future__ import annotations
|
|
|
9
9
|
|
|
10
10
|
import math
|
|
11
11
|
from collections.abc import Sequence
|
|
12
|
-
from typing import Any, Optional
|
|
12
|
+
from typing import TYPE_CHECKING, Any, Optional
|
|
13
13
|
|
|
14
14
|
import numpy as np
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from scipy import stats
|
|
18
|
+
else:
|
|
19
|
+
from .._lazy import lazy_module
|
|
20
|
+
|
|
21
|
+
stats = lazy_module("scipy.stats")
|
|
16
22
|
|
|
17
23
|
from ..core.exceptions import InputValidationError
|
|
18
24
|
from ..core.registry import register
|
evalsuite/text/structured.py
CHANGED
|
@@ -712,7 +712,11 @@ def constraint_satisfaction_rate(checks: Any) -> MetricResult:
|
|
|
712
712
|
def format_compliance(
|
|
713
713
|
outputs: Any, pattern: str, *, flags: int = re.S, average: Optional[str] = "mean"
|
|
714
714
|
) -> MetricResult:
|
|
715
|
-
"""``re.fullmatch(pattern, output.strip())`` per output.
|
|
715
|
+
"""``re.fullmatch(pattern, output.strip())`` per output.
|
|
716
|
+
|
|
717
|
+
The pattern is compiled with Python's backtracking ``re`` engine; patterns with nested quantifiers such as
|
|
718
|
+
``(a+)+$`` can take exponential time on some outputs, so only pass patterns you trust.
|
|
719
|
+
"""
|
|
716
720
|
outs = _outputs(outputs)
|
|
717
721
|
try:
|
|
718
722
|
rx = re.compile(pattern, flags)
|
evalsuite/version.py
CHANGED
evalsuite/vision/segmentation.py
CHANGED
|
@@ -27,7 +27,13 @@ from typing import TYPE_CHECKING, Any, Literal, Optional, Union, cast
|
|
|
27
27
|
|
|
28
28
|
import numpy as np
|
|
29
29
|
from numpy.typing import NDArray
|
|
30
|
-
|
|
30
|
+
|
|
31
|
+
if TYPE_CHECKING:
|
|
32
|
+
from scipy import ndimage
|
|
33
|
+
else:
|
|
34
|
+
from .._lazy import lazy_module
|
|
35
|
+
|
|
36
|
+
ndimage = lazy_module("scipy.ndimage")
|
|
31
37
|
|
|
32
38
|
from ..core.exceptions import InputValidationError, UndefinedMetricWarning
|
|
33
39
|
from ..core.export import PathLike, csv_text, html_document, html_table, save_as
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: evalsuite-python
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: A unified Python framework for machine-learning, clinical, statistical, segmentation, object-detection, uncertainty, and model evaluation.
|
|
5
5
|
Project-URL: Homepage, https://evalsuite-nine.vercel.app
|
|
6
6
|
Project-URL: Documentation, https://evalsuite-nine.vercel.app/docs
|
|
@@ -83,7 +83,7 @@ Description-Content-Type: text/markdown
|
|
|
83
83
|
EvalSuite brings classification, regression, clinical, statistical, segmentation and object-detection
|
|
84
84
|
evaluation into one consistent, validated, documented framework.
|
|
85
85
|
|
|
86
|
-
> **Status: stable (0.5.
|
|
86
|
+
> **Status: stable (0.5.2).** Every item on the 0.1.0–0.5.0 roadmaps is implemented and verified, including SPICE.
|
|
87
87
|
> **LLM systems arrive in 0.5.0**: safety, robustness, calibration and uncertainty, agents and tool use,
|
|
88
88
|
> multilingual, code generation, long context and summarization, and inference efficiency and cost.
|
|
89
89
|
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
evalsuite/__init__.py,sha256=nMwLJq_Ni8plZZmq1olG5HwDlBppn0pW-RJyFBzPF7o,5630
|
|
2
2
|
evalsuite/__main__.py,sha256=Nq90_8VlUN1mif-AVgX-kZRL63bd94F5-F7F9UkVZD4,117
|
|
3
3
|
evalsuite/_bench_metrics.py,sha256=GLLa9OhCNmu6IyWkxC0AcNf7p-CTpoOwWUS99C1o2o8,75792
|
|
4
|
-
evalsuite/
|
|
4
|
+
evalsuite/_lazy.py,sha256=Ddq0uWuiyxtsT0jBtCSITQPvttiQ7znXAbjkMIOVefk,901
|
|
5
|
+
evalsuite/api.py,sha256=DzWwmCgyEiqO2HvPrNg2RIDzqwap4e_UvbxA7PkJ3fE,10227
|
|
5
6
|
evalsuite/benchmarks.py,sha256=TWXIhdYPbdDPanCOFL1lRCo3ppRYaDF58PB-o3ZZyTA,37846
|
|
6
|
-
evalsuite/calibration.py,sha256=
|
|
7
|
+
evalsuite/calibration.py,sha256=jhCPOmCFGEkUkcx-hSAIb-JCMq9oF6JZt4uDGvg5NaU,15083
|
|
7
8
|
evalsuite/plot.py,sha256=7eOyzoRbg6Aad6OhtIQG3laIioQ8fs2K0YzodjG5rHA,26049
|
|
8
9
|
evalsuite/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
10
|
evalsuite/reporting.py,sha256=-LISv9vvEnltT26GtzLjVlxOCcAwmjv4-HyB8_1UF5o,9615
|
|
10
|
-
evalsuite/version.py,sha256=
|
|
11
|
+
evalsuite/version.py,sha256=XXivYAbOhDT-ji15jWK1TxpgAXnosxn_wRb7rCcTkJc,98
|
|
11
12
|
evalsuite/classification/__init__.py,sha256=ErBIXbBGnhfW6v-1Cn5SegiERoyxNlmO1tEKcLM15mA,833
|
|
12
13
|
evalsuite/classification/_common.py,sha256=3ANV33ix_mnOzvOAG8glyJO-iYVhhTGO0S3YG0ZddB8,4543
|
|
13
|
-
evalsuite/classification/metrics.py,sha256=
|
|
14
|
+
evalsuite/classification/metrics.py,sha256=h-DYF2wwdN8LA1bPbyIgkfuG4ovwBBgtGZFObEmiHzE,37044
|
|
14
15
|
evalsuite/cli/__init__.py,sha256=1x48hORLcg_Is2X08A7CPBT6VDJ1QL94zaJP1HTFxUY,96
|
|
15
16
|
evalsuite/cli/main.py,sha256=ktvy_5D-KfYevKH5ZxO5f0aVFtNXbGeN8zker0tguT0,23994
|
|
16
17
|
evalsuite/clinical/__init__.py,sha256=xaXLvNvTJsuP525fLb2FyVVNlopIrZczoPrwmEQIvzE,549
|
|
17
18
|
evalsuite/clinical/metrics.py,sha256=Abz4rA9FfOIWn7MXAMnxAH_C3XICY9x-nPQhP1-79xU,13453
|
|
18
|
-
evalsuite/clinical/report.py,sha256=
|
|
19
|
+
evalsuite/clinical/report.py,sha256=JaS9PKjUHkiKl_AURC1TwNiDc_V-6B2KNhV4kzHZhdE,14996
|
|
19
20
|
evalsuite/core/__init__.py,sha256=oDHl5Dc2GoZf1tCtJueMQ2KcmOq7zhzMZT9XF4uVC6U,93
|
|
20
21
|
evalsuite/core/context.py,sha256=gvRpH3b-S2oAgAGW9W0XWnBVbuydQP3UB9rgWQNM60g,7874
|
|
21
22
|
evalsuite/core/exceptions.py,sha256=9eZI_Lmgwc9fjkSUY9s3fwjAb7KoqgAlcYetrHRhbBg,1503
|
|
@@ -27,28 +28,28 @@ evalsuite/core/validation.py,sha256=nWWyISLdW2TtzxUs3gT-Qx2uh6euDOlYMvbnCrFRYME,
|
|
|
27
28
|
evalsuite/llmsys/__init__.py,sha256=NA-kVMc3hdmBSW-ufPKrgfd2NHI15wCXJRn3ZhIVFsE,4653
|
|
28
29
|
evalsuite/llmsys/_common.py,sha256=zUJ4R_1fSW79HJ6QvZlSJ9-_VF0Xa7fglyq_fNFJB-U,5380
|
|
29
30
|
evalsuite/llmsys/agents.py,sha256=giiHv3c179fFR6aFUp4VbBjzbdNotS941tZVG7W0UFE,15355
|
|
30
|
-
evalsuite/llmsys/code.py,sha256=
|
|
31
|
+
evalsuite/llmsys/code.py,sha256=6Im0Km5qPHLFTF4S4dnN05OucFFNRixRchDSGHqtJaQ,37004
|
|
31
32
|
evalsuite/llmsys/efficiency.py,sha256=Z6ZrcoT80D3OxNi-1iKHuVe5OQiDnPJthwHEDD84cO0,13884
|
|
32
33
|
evalsuite/llmsys/longcontext.py,sha256=koX58FMot3ZwUTPPiv9tM8fGvBY2ijYg0npA8pG278A,15145
|
|
33
34
|
evalsuite/llmsys/multilingual.py,sha256=IDdV5O5krDQdTximeJbYB3Kmh62qeSbLL--ElM7CGvc,13726
|
|
34
35
|
evalsuite/llmsys/robustness.py,sha256=OPe84s1H7IEX5GcuRVcAp_UA29tx_Qq8WlA88khY2cg,20377
|
|
35
|
-
evalsuite/llmsys/safety.py,sha256=
|
|
36
|
+
evalsuite/llmsys/safety.py,sha256=7Kcv9zJBhIWHS6GeAa0BedCncFOmsbIpnmUQCMvRMPU,22550
|
|
36
37
|
evalsuite/llmsys/uncertainty.py,sha256=Brm_LT8qHb-EtcPe7YBXq7HYMSTG93OkT3Cnx2SYBts,9367
|
|
37
38
|
evalsuite/regression/__init__.py,sha256=t2XEHUw6e5tyWBHcEeiog2WWd-wwaxf4m5AIX8dJyng,571
|
|
38
39
|
evalsuite/regression/metrics.py,sha256=5i3hmiFfZGfmqtFDaDOxGHRYCXzdt48-GNfgvVOX7CM,22914
|
|
39
40
|
evalsuite/stats/__init__.py,sha256=mtnEqpvlvscQ3C6ceRr8xLKoSHPQWsWB24pEVlvp6fs,1187
|
|
40
41
|
evalsuite/stats/_resolve.py,sha256=oauINI97AairuOB_fvlH5VlkiQnW5aIlR-bQT_zzhQ8,6119
|
|
41
42
|
evalsuite/stats/compare.py,sha256=TzBYHDbfHU1Uz2FtgXbMATTnmHuaDGUbrV9Eq4IphZY,18311
|
|
42
|
-
evalsuite/stats/effect.py,sha256=
|
|
43
|
-
evalsuite/stats/hypothesis.py,sha256=
|
|
44
|
-
evalsuite/stats/intervals.py,sha256=
|
|
45
|
-
evalsuite/stats/paired.py,sha256=
|
|
43
|
+
evalsuite/stats/effect.py,sha256=PCzpj_Lf1CdBAJdL8DoL0gEsNVVcwk-gjmlRyrcGAPM,7067
|
|
44
|
+
evalsuite/stats/hypothesis.py,sha256=n-8bUYWwur8ZElhDqRksA8MK09vLuwYd90Vzv1gI9hY,12893
|
|
45
|
+
evalsuite/stats/intervals.py,sha256=0lW87qZsejY8r2xXw0agWasudOGq-rEU1v-9u8OuiGA,13872
|
|
46
|
+
evalsuite/stats/paired.py,sha256=hF4qBAxdYOrKD8JnJJOa9A_Xn8xw08qpMkworXssUuU,8407
|
|
46
47
|
evalsuite/stats/results.py,sha256=nqXHUiW8l0fQJkbMiunU6Gz-2be1NApZ6Fif2B1K_Yw,4407
|
|
47
48
|
evalsuite/text/__init__.py,sha256=_r0Qi6X7cBcaYMAPRyC15CsTj9Tv8VcqMCtLiSJPogY,3632
|
|
48
49
|
evalsuite/text/_common.py,sha256=NeJroFlIFu_1HXNHgnTVZEyaeVScX-o5C0Qbfe3INe8,3659
|
|
49
50
|
evalsuite/text/factuality.py,sha256=Id8LnGjqvaVDYC5qMn4H0UJdjrwp1VrZ_zr_0jct8SM,20772
|
|
50
51
|
evalsuite/text/generation.py,sha256=6eHWccspuQeaup8qP8Pv3k2nx6IejG9UECYHwDlWuHE,42572
|
|
51
|
-
evalsuite/text/judge.py,sha256=
|
|
52
|
+
evalsuite/text/judge.py,sha256=ugqsaVih_n_h0jO5GrvIGHqq7XjqGnP7cKd4QbObEw0,22662
|
|
52
53
|
evalsuite/text/qa.py,sha256=rU0ya8TzV5mp7UiWq7w9IqSN9B0tDv8xymSaRzzbzMw,4097
|
|
53
54
|
evalsuite/text/rag.py,sha256=GF8GUp6Vnt9peBCIcdvFUapLUL36_NDApZisYG_rcqg,9641
|
|
54
55
|
evalsuite/text/reasoning.py,sha256=ydaTgAY--Tz_zEXm-Q_jLxJjTLnPgRlv39OzXWXD9yA,8885
|
|
@@ -56,12 +57,12 @@ evalsuite/text/report.py,sha256=nUAgt24rcQsnPLiNTVn3PlzZO3Y7fW_ch_lSelgfEc8,6241
|
|
|
56
57
|
evalsuite/text/retrieval.py,sha256=otQvOTbbR79kYtMum6o2HOT9UoDlSj0-JYLsFddkV1k,8969
|
|
57
58
|
evalsuite/text/semantic.py,sha256=V1Wc4bvcli0_6ZlA58guTGA65zGoCFMthbPeCh_IDjc,21408
|
|
58
59
|
evalsuite/text/spice.py,sha256=rdPCeilqKkXLMiSAE-rYOn0Zt2nKFum5Tf1oJdE6k-U,6847
|
|
59
|
-
evalsuite/text/structured.py,sha256=
|
|
60
|
+
evalsuite/text/structured.py,sha256=x08yYf2rdlmiA_D_dI1L-fc9quHiBPMKgAGQbG3kJr8,31981
|
|
60
61
|
evalsuite/vision/__init__.py,sha256=9gpOBTPveM_srE6BM-SgCssdQurya2LPHhoMLGOh2A0,991
|
|
61
62
|
evalsuite/vision/detection.py,sha256=eUnt5iFUVLEoUl1RB51q-vfr5juDCD3YH8ttLFrqxFg,27781
|
|
62
|
-
evalsuite/vision/segmentation.py,sha256=
|
|
63
|
-
evalsuite_python-0.5.
|
|
64
|
-
evalsuite_python-0.5.
|
|
65
|
-
evalsuite_python-0.5.
|
|
66
|
-
evalsuite_python-0.5.
|
|
67
|
-
evalsuite_python-0.5.
|
|
63
|
+
evalsuite/vision/segmentation.py,sha256=k8uGUsIrJByVygguFsiY3CsrLNhL5MZJ4xDEy6jcgjE,38756
|
|
64
|
+
evalsuite_python-0.5.2.dist-info/METADATA,sha256=5bTTH1ciXStnesbV5utt8-XpEPBikZn7kQB190hyXKM,25181
|
|
65
|
+
evalsuite_python-0.5.2.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
|
|
66
|
+
evalsuite_python-0.5.2.dist-info/entry_points.txt,sha256=YYIwisn4L4sQt3ntzbM0_Z4yZE2KCu3GJ6KfWL1kIwc,54
|
|
67
|
+
evalsuite_python-0.5.2.dist-info/licenses/LICENSE,sha256=cRRQ6Kk8w2qCqtDSSUJQGy-0rqjmjJG09cZ6iIiMvdc,1095
|
|
68
|
+
evalsuite_python-0.5.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|