validmind 2.4.5__py3-none-any.whl → 2.4.6__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.
- validmind/__version__.py +1 -1
- validmind/tests/run.py +37 -13
- {validmind-2.4.5.dist-info → validmind-2.4.6.dist-info}/METADATA +1 -1
- {validmind-2.4.5.dist-info → validmind-2.4.6.dist-info}/RECORD +7 -7
- {validmind-2.4.5.dist-info → validmind-2.4.6.dist-info}/LICENSE +0 -0
- {validmind-2.4.5.dist-info → validmind-2.4.6.dist-info}/WHEEL +0 -0
- {validmind-2.4.5.dist-info → validmind-2.4.6.dist-info}/entry_points.txt +0 -0
validmind/__version__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "2.4.
|
1
|
+
__version__ = "2.4.6"
|
validmind/tests/run.py
CHANGED
@@ -89,22 +89,24 @@ def _update_plotly_titles(figures, input_groups, title_template):
|
|
89
89
|
for i, figure in enumerate(figures):
|
90
90
|
figure.figure.layout.title.text = title_template.format(
|
91
91
|
current_title=f"{current_title} " if current_title else "",
|
92
|
-
input_description="
|
93
|
-
f"{k}
|
92
|
+
input_description=" and ".join(
|
93
|
+
f"{k}: {v if isinstance(v, str) else ', '.join(item.input_id for item in v) if isinstance(v, list) and all(hasattr(item, 'input_id') for item in v) else v.input_id}"
|
94
94
|
for k, v in input_groups[i].items()
|
95
95
|
),
|
96
96
|
)
|
97
97
|
|
98
98
|
|
99
99
|
def _update_matplotlib_titles(figures, input_groups, title_template):
|
100
|
-
current_title =
|
100
|
+
current_title = (
|
101
|
+
figures[0].figure._suptitle.get_text() if figures[0].figure._suptitle else ""
|
102
|
+
)
|
101
103
|
|
102
104
|
for i, figure in enumerate(figures):
|
103
105
|
figure.figure.suptitle(
|
104
106
|
title_template.format(
|
105
107
|
current_title=f"{current_title} " if current_title else "",
|
106
108
|
input_description=" and ".join(
|
107
|
-
f"{k}: {v if isinstance(v, str) else v.input_id}"
|
109
|
+
f"{k}: {v if isinstance(v, str) else ', '.join(item.input_id for item in v) if isinstance(v, list) and all(hasattr(item, 'input_id') for item in v) else v.input_id}"
|
108
110
|
for k, v in input_groups[i].items()
|
109
111
|
),
|
110
112
|
)
|
@@ -139,10 +141,20 @@ def metric_comparison(
|
|
139
141
|
"""Build a comparison result for multiple metric results"""
|
140
142
|
ref_id = str(uuid4())
|
141
143
|
|
142
|
-
input_group_strings = [
|
143
|
-
|
144
|
-
|
145
|
-
|
144
|
+
input_group_strings = []
|
145
|
+
|
146
|
+
for group in input_groups:
|
147
|
+
new_group = {}
|
148
|
+
for k, v in group.items():
|
149
|
+
if isinstance(v, str):
|
150
|
+
new_group[k] = v
|
151
|
+
elif hasattr(v, "input_id"):
|
152
|
+
new_group[k] = v.input_id
|
153
|
+
elif isinstance(v, list) and all(hasattr(item, "input_id") for item in v):
|
154
|
+
new_group[k] = ", ".join([item.input_id for item in v])
|
155
|
+
else:
|
156
|
+
raise ValueError(f"Unsupported type for value: {v}")
|
157
|
+
input_group_strings.append(new_group)
|
146
158
|
|
147
159
|
merged_summary = _combine_summaries(
|
148
160
|
[
|
@@ -173,9 +185,11 @@ def metric_comparison(
|
|
173
185
|
),
|
174
186
|
],
|
175
187
|
inputs=[
|
176
|
-
|
188
|
+
item.input_id if hasattr(item, "input_id") else item
|
177
189
|
for group in input_groups
|
178
190
|
for input in group.values()
|
191
|
+
for item in (input if isinstance(input, list) else [input])
|
192
|
+
if hasattr(item, "input_id") or isinstance(item, str)
|
179
193
|
],
|
180
194
|
output_template=output_template,
|
181
195
|
metric=MetricResult(
|
@@ -198,10 +212,20 @@ def threshold_test_comparison(
|
|
198
212
|
"""Build a comparison result for multiple threshold test results"""
|
199
213
|
ref_id = str(uuid4())
|
200
214
|
|
201
|
-
input_group_strings = [
|
202
|
-
|
203
|
-
|
204
|
-
|
215
|
+
input_group_strings = []
|
216
|
+
|
217
|
+
for group in input_groups:
|
218
|
+
new_group = {}
|
219
|
+
for k, v in group.items():
|
220
|
+
if isinstance(v, str):
|
221
|
+
new_group[k] = v
|
222
|
+
elif hasattr(v, "input_id"):
|
223
|
+
new_group[k] = v.input_id
|
224
|
+
elif isinstance(v, list) and all(hasattr(item, "input_id") for item in v):
|
225
|
+
new_group[k] = ", ".join([item.input_id for item in v])
|
226
|
+
else:
|
227
|
+
raise ValueError(f"Unsupported type for value: {v}")
|
228
|
+
input_group_strings.append(new_group)
|
205
229
|
|
206
230
|
merged_summary = _combine_summaries(
|
207
231
|
[
|
@@ -1,5 +1,5 @@
|
|
1
1
|
validmind/__init__.py,sha256=UfmzPwUCdUWbWq3zPqqmq4jw0_kfl3hX4U72p_seE4I,3700
|
2
|
-
validmind/__version__.py,sha256=
|
2
|
+
validmind/__version__.py,sha256=jbv3GfuSUTWNtlhuY3Dgm_vD4Uuj9i1AVwV8tthwnik,22
|
3
3
|
validmind/ai/test_descriptions.py,sha256=Q1Ftus4x5eiVLKWJu7hqPLukBQZzhy-dARqq_6_JWtk,9464
|
4
4
|
validmind/ai/utils.py,sha256=TEXII_S5CpkpczzSyHwTlqLcPMLnPBJWEBR6QFMKh1U,3421
|
5
5
|
validmind/api_client.py,sha256=xr9VNqCmA_WFf8rVm-0M0pmzVyLAPFOnfEe4dAog1LA,17144
|
@@ -266,7 +266,7 @@ validmind/tests/prompt_validation/Robustness.py,sha256=fBdkYnO9yoBazz4wD-l62tT8D
|
|
266
266
|
validmind/tests/prompt_validation/Specificity.py,sha256=h3gKRTTi2rfnGWmGC1YnSt2s_VbZU4KX0iY7LciZ3PU,6068
|
267
267
|
validmind/tests/prompt_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
268
268
|
validmind/tests/prompt_validation/ai_powered_test.py,sha256=7TTeIR5GotQosm7oVT8Y3KnwPB3XkVT1Fzhckpr-SgE,1963
|
269
|
-
validmind/tests/run.py,sha256=
|
269
|
+
validmind/tests/run.py,sha256=24E5pRg6p0dUHoK6shB9KeKHWTOEJa5HymT6tD8Ozl4,15574
|
270
270
|
validmind/tests/test_providers.py,sha256=47xe5eb5ufvj1jmhdRsbSvDQTXSDpFDFNeXg3xtXwhw,5320
|
271
271
|
validmind/tests/utils.py,sha256=kNrxfUYbj4DwmkZtpp_1rG4GMUGxYEhvqnYR_A7qAKM,471
|
272
272
|
validmind/unit_metrics/__init__.py,sha256=AlFnWA9pmzVf8xysPxYpQ3kBTQ81-YVxRTJpgC0Q41w,7344
|
@@ -307,8 +307,8 @@ validmind/vm_models/test_suite/runner.py,sha256=aewxadRfoOPH48jes2Gtb3Ju_FWFfVM_
|
|
307
307
|
validmind/vm_models/test_suite/summary.py,sha256=GQRNe2ZvvqjQN0yKmaN7ohAUjRFQIN4YYUYxfOuWN6M,4682
|
308
308
|
validmind/vm_models/test_suite/test.py,sha256=_GfbK36l98SjzgVcucmp0OKBJKqMW3neO7SqJ3EWeps,5049
|
309
309
|
validmind/vm_models/test_suite/test_suite.py,sha256=Cns2wL54v0T5Mv5_HJb3kMeaa4rtycdqT8KxK9_rWEU,6279
|
310
|
-
validmind-2.4.
|
311
|
-
validmind-2.4.
|
312
|
-
validmind-2.4.
|
313
|
-
validmind-2.4.
|
314
|
-
validmind-2.4.
|
310
|
+
validmind-2.4.6.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
|
311
|
+
validmind-2.4.6.dist-info/METADATA,sha256=fcDV-5tH1o8RdJpJD07ablIH3yDsar6sWfWeEuXo0Fg,4222
|
312
|
+
validmind-2.4.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
313
|
+
validmind-2.4.6.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
|
314
|
+
validmind-2.4.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|