validmind 2.4.7__py3-none-any.whl → 2.4.9__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 CHANGED
@@ -1 +1 @@
1
- __version__ = "2.4.7"
1
+ __version__ = "2.4.9"
@@ -27,7 +27,8 @@ test_content_block_html = """
27
27
  <div id="expandable_instructions_{uuid}" style="display: {instructions_display};">
28
28
  <h4>Code:</h4>
29
29
  <pre>
30
- <code class='language-python'>import validmind as vm
30
+ <code class='language-python'>
31
+ import validmind as vm
31
32
 
32
33
  # inputs dictionary maps your inputs to the expected input names
33
34
  # keys are the expected input names and values are the actual inputs
@@ -161,7 +161,7 @@ class DatasetDescription(Metric):
161
161
  .describe(percentiles=[0.25, 0.5, 0.75, 0.9, 0.95])
162
162
  .to_dict()
163
163
  )
164
- elif field_type == "Categorical":
164
+ elif field_type == "Categorical" or field_type == "Text":
165
165
  field["statistics"] = (
166
166
  df[field["id"]].astype("category").describe().to_dict()
167
167
  )
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import answer_correctness
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -89,6 +87,12 @@ def AnswerCorrectness(
89
87
  }
90
88
  ```
91
89
  """
90
+ try:
91
+ from ragas import evaluate
92
+ from ragas.metrics import answer_correctness
93
+ except ImportError:
94
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
95
+
92
96
  warnings.filterwarnings(
93
97
  "ignore",
94
98
  category=FutureWarning,
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import answer_relevancy
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -93,6 +91,12 @@ def AnswerRelevance(
93
91
  }
94
92
  ```
95
93
  """
94
+ try:
95
+ from ragas import evaluate
96
+ from ragas.metrics import answer_relevancy
97
+ except ImportError:
98
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
99
+
96
100
  warnings.filterwarnings(
97
101
  "ignore",
98
102
  category=FutureWarning,
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import answer_similarity
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -79,6 +77,12 @@ def AnswerSimilarity(
79
77
  }
80
78
  ```
81
79
  """
80
+ try:
81
+ from ragas import evaluate
82
+ from ragas.metrics import answer_similarity
83
+ except ImportError:
84
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
85
+
82
86
  warnings.filterwarnings(
83
87
  "ignore",
84
88
  category=FutureWarning,
@@ -6,28 +6,11 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics.critique import AspectCritique as _AspectCritique
11
- from ragas.metrics.critique import (
12
- coherence,
13
- conciseness,
14
- correctness,
15
- harmfulness,
16
- maliciousness,
17
- )
18
9
 
19
10
  from validmind import tags, tasks
20
11
 
21
12
  from .utils import get_ragas_config, get_renamed_columns
22
13
 
23
- aspect_map = {
24
- "coherence": coherence,
25
- "conciseness": conciseness,
26
- "correctness": correctness,
27
- "harmfulness": harmfulness,
28
- "maliciousness": maliciousness,
29
- }
30
-
31
14
 
32
15
  @tags("ragas", "llm", "qualitative")
33
16
  @tasks("text_summarization", "text_generation", "text_qa")
@@ -116,6 +99,27 @@ def AspectCritique(
116
99
  )
117
100
  ```
118
101
  """
102
+ try:
103
+ from ragas import evaluate
104
+ from ragas.metrics.critique import AspectCritique as _AspectCritique
105
+ from ragas.metrics.critique import (
106
+ coherence,
107
+ conciseness,
108
+ correctness,
109
+ harmfulness,
110
+ maliciousness,
111
+ )
112
+ except ImportError:
113
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
114
+
115
+ aspect_map = {
116
+ "coherence": coherence,
117
+ "conciseness": conciseness,
118
+ "correctness": correctness,
119
+ "harmfulness": harmfulness,
120
+ "maliciousness": maliciousness,
121
+ }
122
+
119
123
  warnings.filterwarnings(
120
124
  "ignore",
121
125
  category=FutureWarning,
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import context_entity_recall
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -85,6 +83,12 @@ def ContextEntityRecall(
85
83
  }
86
84
  ```
87
85
  """
86
+ try:
87
+ from ragas import evaluate
88
+ from ragas.metrics import context_entity_recall
89
+ except ImportError:
90
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
91
+
88
92
  warnings.filterwarnings(
89
93
  "ignore",
90
94
  category=FutureWarning,
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import context_precision
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -80,6 +78,12 @@ def ContextPrecision(
80
78
  }
81
79
  ```
82
80
  """
81
+ try:
82
+ from ragas import evaluate
83
+ from ragas.metrics import context_precision
84
+ except ImportError:
85
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
86
+
83
87
  warnings.filterwarnings(
84
88
  "ignore",
85
89
  category=FutureWarning,
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import context_recall
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -80,6 +78,12 @@ def ContextRecall(
80
78
  }
81
79
  ```
82
80
  """
81
+ try:
82
+ from ragas import evaluate
83
+ from ragas.metrics import context_recall
84
+ except ImportError:
85
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
86
+
83
87
  warnings.filterwarnings(
84
88
  "ignore",
85
89
  category=FutureWarning,
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import context_relevancy
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -74,6 +72,12 @@ def ContextRelevancy(
74
72
  }
75
73
  ```
76
74
  """
75
+ try:
76
+ from ragas import evaluate
77
+ from ragas.metrics import context_relevancy
78
+ except ImportError:
79
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
80
+
77
81
  warnings.filterwarnings(
78
82
  "ignore",
79
83
  category=FutureWarning,
@@ -6,8 +6,6 @@ import warnings
6
6
 
7
7
  import plotly.express as px
8
8
  from datasets import Dataset
9
- from ragas import evaluate
10
- from ragas.metrics import faithfulness
11
9
 
12
10
  from validmind import tags, tasks
13
11
 
@@ -79,6 +77,12 @@ def Faithfulness(
79
77
  }
80
78
  ```
81
79
  """
80
+ try:
81
+ from ragas import evaluate
82
+ from ragas.metrics import faithfulness
83
+ except ImportError:
84
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
85
+
82
86
  warnings.filterwarnings(
83
87
  "ignore",
84
88
  category=FutureWarning,
@@ -4,14 +4,18 @@
4
4
 
5
5
  import os
6
6
 
7
- from langchain_openai import ChatOpenAI, OpenAIEmbeddings
8
-
9
7
  from validmind.ai.utils import get_client_and_model
10
8
 
11
9
  EMBEDDINGS_MODEL = "text-embedding-3-small"
12
10
 
13
11
 
14
12
  def get_ragas_config():
13
+ # import here since its an optional dependency
14
+ try:
15
+ from langchain_openai import ChatOpenAI, OpenAIEmbeddings
16
+ except ImportError:
17
+ raise ImportError("Please run `pip install validmind[llm]` to use LLM tests")
18
+
15
19
  client, model = get_client_and_model()
16
20
  os.environ["OPENAI_API_BASE"] = str(client.base_url)
17
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: validmind
3
- Version: 2.4.7
3
+ Version: 2.4.9
4
4
  Summary: ValidMind Developer Framework
5
5
  License: Commercial License
6
6
  Author: Andres Rodriguez
@@ -29,6 +29,7 @@ Requires-Dist: latex2mathml (>=3.77.0)
29
29
  Requires-Dist: llvmlite ; python_version >= "3.8" and python_full_version <= "3.11.0"
30
30
  Requires-Dist: matplotlib
31
31
  Requires-Dist: mistune (>=3.0.2,<4.0.0)
32
+ Requires-Dist: nest-asyncio (>=1.6.0,<2.0.0)
32
33
  Requires-Dist: nltk (>=3.8.1,<4.0.0)
33
34
  Requires-Dist: numba (<0.59.0)
34
35
  Requires-Dist: numpy
@@ -1,5 +1,5 @@
1
1
  validmind/__init__.py,sha256=UfmzPwUCdUWbWq3zPqqmq4jw0_kfl3hX4U72p_seE4I,3700
2
- validmind/__version__.py,sha256=6Ls7f3ZJxdJNWxciT1KkTqmIR_gddzXVDXxBtiav_WI,22
2
+ validmind/__version__.py,sha256=jexP_bn42GgaPCRDRYZqRI6UFG4hFgjug7OJbg8uE0Y,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
@@ -59,7 +59,7 @@ validmind/datasets/regression/models/fred_loan_rates_model_4.pkl,sha256=cSxhpcrI
59
59
  validmind/datasets/regression/models/fred_loan_rates_model_5.pkl,sha256=FkNLHq9xkPMbYks_vyMjFL371mw9SQYbP1iX9lY4Ljo,60343
60
60
  validmind/errors.py,sha256=qy7Gp6Uom5J6WmLw-CpE5zaTN96SiN7kJjDGBaJdoxY,8023
61
61
  validmind/html_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- validmind/html_templates/content_blocks.py,sha256=AHQ5MlhR1JYldel7soo5ztpTJJ5-kYtyKPBmh-vwxuI,3997
62
+ validmind/html_templates/content_blocks.py,sha256=LTsv2Hr_drUUZVLEfY2JcT4z0M-45RGYy2sFInt1VKY,3998
63
63
  validmind/input_registry.py,sha256=zexO3x-vncaoWvQ6VfkvgDLn6x72e2BNel_jCbrVHSE,793
64
64
  validmind/logging.py,sha256=J1Y1dYCH1dtkoYCHoXMOQH_B7EO4fJytWRDrDqZZz8U,5204
65
65
  validmind/models/__init__.py,sha256=lraTbNwoKckXNP3Dbyj-euI78UTkZ_w5wpUOb8l5nWs,729
@@ -101,7 +101,7 @@ validmind/tests/data_validation/BivariateScatterPlots.py,sha256=9QcMcbc3yiZl8LbV
101
101
  validmind/tests/data_validation/ChiSquaredFeaturesTable.py,sha256=5lPRnNbHjxEdMGtp6fhg4cYy7FLSHbHxUtpymU8GRO0,5977
102
102
  validmind/tests/data_validation/ClassImbalance.py,sha256=nRNHDtjCAgLQfWbCWP-zX5CFZSjJno8NWLXZBPaG_yA,6882
103
103
  validmind/tests/data_validation/DFGLSArch.py,sha256=D6_kR4AkvctjK-MRUJCc9cELwdmTT_085QIGagliSsA,5365
104
- validmind/tests/data_validation/DatasetDescription.py,sha256=tEfwJmW-Miij43YR7QzCI5FTbeu_nq1KWUVjLEeXBms,11341
104
+ validmind/tests/data_validation/DatasetDescription.py,sha256=ftB6RrEc4Sfc2qGtOmX7Ogf8yJxGV9QJY29OzjdQCyE,11365
105
105
  validmind/tests/data_validation/DatasetSplit.py,sha256=4BCeshqxvNSwmRwXw37uIJ3xy8JnU7ZJIWPyzzTdLJ0,5068
106
106
  validmind/tests/data_validation/DescriptiveStatistics.py,sha256=5u1qx-VGD8aVBFEi_4ffCWZfJ17YXbT5PO1Na52KoNo,6333
107
107
  validmind/tests/data_validation/Duplicates.py,sha256=oO1LPMyclfJno1_AAITpKB-fZryU-705BvYCm5StClw,5592
@@ -190,16 +190,16 @@ validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py,sha2
190
190
  validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py,sha256=npnOPAoXb5FoiwQEwp_gDcbGa5xk4rYnXChTJnuGX64,4405
191
191
  validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py,sha256=qLydyTQ6mzHOYQzqysjPPe_ltiTsRfPEhZDEDm5XxX8,4825
192
192
  validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py,sha256=ereo_dGf19xqvOGz7zcGwhDRU_UqvjFRi5n4KmGDKl8,4511
193
- validmind/tests/model_validation/ragas/AnswerCorrectness.py,sha256=PgSxFcyWx2WAI6DsgYJQW3N5EKQgm-uCAZgm8r9Cly4,5002
194
- validmind/tests/model_validation/ragas/AnswerRelevance.py,sha256=iIgN6CTAYs8V9sfJVhR_p6B5TQLUQ413rXYqwVP3770,4861
195
- validmind/tests/model_validation/ragas/AnswerSimilarity.py,sha256=csCdKnjKXwIAOcc6PdAWl0IO2ttou2ihoXtU-G37hz4,4321
196
- validmind/tests/model_validation/ragas/AspectCritique.py,sha256=Tx6dDGLPnHpPdY_93i-gu9robPOsiu1SEdqw0-rs2Ws,6043
197
- validmind/tests/model_validation/ragas/ContextEntityRecall.py,sha256=o8zYuCESyYlTqYHzdDfrbAsFeIEPDFTUoLvCm2SuFic,4768
198
- validmind/tests/model_validation/ragas/ContextPrecision.py,sha256=JKmz1nI1HE2tlzVIGRjwunkJ3Wmh7ITu_X3y39-sDSw,4494
199
- validmind/tests/model_validation/ragas/ContextRecall.py,sha256=VsBtDqKbvcK12Tblfdy7RwGHTBVQ03O67wRphrTHyZE,4431
200
- validmind/tests/model_validation/ragas/ContextRelevancy.py,sha256=lLaWSPNDQXae4jiMjDP7841pqnGvcvYqYHYIj6TL698,4019
201
- validmind/tests/model_validation/ragas/Faithfulness.py,sha256=zIkTwX4nu78KkuMTzArx0D2HaM3EMKddakB8Bfo0Xr0,4389
202
- validmind/tests/model_validation/ragas/utils.py,sha256=wtmY4jWF8RZCl032v0AkfpgZrS1jhnAzkrDhoWNvhEk,2952
193
+ validmind/tests/model_validation/ragas/AnswerCorrectness.py,sha256=XOEpsVqeaUCGUILu81ZLXSDlyqLStPX9ZKUJDrTh2Bg,5138
194
+ validmind/tests/model_validation/ragas/AnswerRelevance.py,sha256=Tz3rNO2PnHvvAw7YKWPUZiiitJTH6VJDG8LjC9Nkwx8,4997
195
+ validmind/tests/model_validation/ragas/AnswerSimilarity.py,sha256=O1xq5GNnWB9roscmaBRGiWEi0BvXh705ppeKJTP3O58,4457
196
+ validmind/tests/model_validation/ragas/AspectCritique.py,sha256=08jlfL4qVuRM-U4Y-zGYb9iy-DLsXk7JtdvA0yRK498,6263
197
+ validmind/tests/model_validation/ragas/ContextEntityRecall.py,sha256=Du3A5Jkpt9_msaF3bDy6tNvgomUkmgwsIxO2zdZmmyA,4904
198
+ validmind/tests/model_validation/ragas/ContextPrecision.py,sha256=-4LBSu1ovzIuf2evSoSwyYdrNtGl5-9w8yRQzjcdDtY,4630
199
+ validmind/tests/model_validation/ragas/ContextRecall.py,sha256=i72mPF8eO8BUrshdvn6Mpoq9oFSfvPH1lfWk-LKvS8w,4567
200
+ validmind/tests/model_validation/ragas/ContextRelevancy.py,sha256=TcfC-O7vj2zDU1UqIYC4KgAQaA9aaOtSUHuXfl70JJE,4155
201
+ validmind/tests/model_validation/ragas/Faithfulness.py,sha256=89EeM0lrUq5MAhKYhOO9cnp32WCap6eG2n28SjZH9c4,4525
202
+ validmind/tests/model_validation/ragas/utils.py,sha256=zh9_pGitutGBS4Tvk3Bw1D-QVnDueggNErAhAvMPUOA,3130
203
203
  validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py,sha256=KhQroHKDG4gpRAoD9Clw65qNslwGS93rTETdZTOqoTk,2840
204
204
  validmind/tests/model_validation/sklearn/AdjustedRandIndex.py,sha256=nSs1BGC8MSWWp7T6M0FZR5kNPraiZwRJF7U6LNCoMMM,2715
205
205
  validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=4ebx4erElJM32QOZD79ycL6jSNyz7a7yS5Oy86LlG3s,5885
@@ -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.7.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
311
- validmind-2.4.7.dist-info/METADATA,sha256=XZsaqO_KTpTE3beBkIOytceLn1l5q6Ln5JKT8rJ6O60,4205
312
- validmind-2.4.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
313
- validmind-2.4.7.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
314
- validmind-2.4.7.dist-info/RECORD,,
310
+ validmind-2.4.9.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
311
+ validmind-2.4.9.dist-info/METADATA,sha256=pZA_sXTyykGQNAwB6yPyMQIjFgvekoh_jdNhqf0eaXY,4250
312
+ validmind-2.4.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
313
+ validmind-2.4.9.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
314
+ validmind-2.4.9.dist-info/RECORD,,