validmind 2.11.0__tar.gz → 2.12.1__tar.gz
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-2.11.0 → validmind-2.12.1}/PKG-INFO +8 -8
- {validmind-2.11.0 → validmind-2.12.1}/pyproject.toml +8 -8
- {validmind-2.11.0 → validmind-2.12.1}/validmind/__init__.py +5 -4
- validmind-2.12.1/validmind/__version__.py +1 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/ai/test_descriptions.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/ai/utils.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/api_client.py +49 -5
- {validmind-2.11.0 → validmind-2.12.1}/validmind/client.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/client_config.py +2 -2
- validmind-2.12.1/validmind/datasets/__init__.py +7 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/classification/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/classification/customer_churn.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/classification/taiwan_credit.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/cluster/digits.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/credit_risk/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/credit_risk/lending_club.py +10 -12
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/credit_risk/lending_club_bias.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/agent_dataset.py +15 -9
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/rag/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/rag/rfp.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/nlp/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/nlp/cnn_dailymail.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/nlp/twitter_covid_19.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/__init__.py +2 -2
- validmind-2.12.1/validmind/datasets/regression/california_housing.py +137 -0
- validmind-2.12.1/validmind/datasets/regression/datasets/california_housing.csv +20641 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/fred.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/fred_timeseries.py +2 -2
- validmind-2.12.1/validmind/datasets/regression/generate_california_housing_csv.py +64 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/lending_club.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/errors.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/experimental/agents.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/html_templates/content_blocks.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/input_registry.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/logging.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/foundation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/function.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/huggingface.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/metadata.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/pipeline.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/pytorch.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/r_model.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/models/sklearn.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/__init__.py +3 -3
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/AbsoluteError.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/BrierScore.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/CalibrationError.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/ClassBalance.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/Confidence.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/Correctness.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/LogLoss.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/OutlierScore.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/ProbabilityError.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/Uncertainty.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/AnswerRelevancy.py +3 -3
- validmind-2.12.1/validmind/scorers/llm/deepeval/ArgumentCorrectness.py +111 -0
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/Bias.py +3 -3
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/ContextualPrecision.py +3 -3
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/ContextualRecall.py +3 -3
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/ContextualRelevancy.py +3 -3
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/Faithfulness.py +3 -3
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/GEval.py +2 -2
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/Hallucination.py +2 -2
- validmind-2.12.1/validmind/scorers/llm/deepeval/PlanAdherence.py +109 -0
- validmind-2.12.1/validmind/scorers/llm/deepeval/PlanQuality.py +119 -0
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/llm/deepeval/Summarization.py +2 -2
- validmind-2.12.1/validmind/scorers/llm/deepeval/TaskCompletion.py +103 -0
- validmind-2.12.1/validmind/scorers/llm/deepeval/ToolCorrectness.py +116 -0
- validmind-2.12.1/validmind/scorers/llm/deepeval/__init__.py +173 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/template.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/classifier.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/cluster.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/embeddings.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/llm.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/nlp.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/parameters_optimization.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/regression.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/statsmodels_timeseries.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/summarization.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/tabular_datasets.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/text_data.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/test_suites/time_series.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/__types__.py +26 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/_store.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/comparison.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ACFandPACFPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ADF.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/AutoAR.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/AutoMA.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/AutoStationarity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/BivariateScatterPlots.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/BoxPierce.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ClassImbalance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/DatasetDescription.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/DatasetSplit.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/DescriptiveStatistics.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/DickeyFullerGLS.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/Duplicates.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/EngleGrangerCoint.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/HighCardinality.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/HighPearsonCorrelation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/IQROutliersBarPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/IQROutliersTable.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/IsolationForestOutliers.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/JarqueBera.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/KPSS.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/LJungBox.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/MissingValues.py +19 -14
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/MissingValuesBarPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/MutualInformation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/PhillipsPerronArch.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ProtectedClassesCombination.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ProtectedClassesDescription.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ProtectedClassesDisparity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ProtectedClassesThresholdOptimizer.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/RollingStatsPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/RunsTest.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ScatterPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ScoreBandDefaultRates.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/SeasonalDecompose.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ShapiroWilk.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/Skewness.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/SpreadPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TabularDateTimeHistograms.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TabularDescriptionTables.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TabularNumericalHistograms.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TargetRateBarPlots.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TimeSeriesDescription.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TimeSeriesFrequency.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TimeSeriesHistogram.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TimeSeriesLinePlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TimeSeriesMissingValues.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TimeSeriesOutliers.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/TooManyZeroValues.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/UniqueRows.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/WOEBinPlots.py +8 -10
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/WOEBinTable.py +8 -10
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/ZivotAndrewsArch.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/CommonWords.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/Hashtags.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/LanguageDetection.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/Mentions.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/Punctuations.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/Sentiment.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/StopWords.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/TextDescription.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/Toxicity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/decorator.py +14 -14
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/load.py +79 -37
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/BertScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/BleuScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ClusterSizeDistribution.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ContextualRecall.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/FeaturesAUC.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/MeteorScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ModelMetadata.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ModelPredictionResiduals.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/RegardScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/RegressionResidualsPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/RougeScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/TokenDisparity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ToxicityScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/embeddings/utils.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/AnswerCorrectness.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/AspectCritic.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/ContextEntityRecall.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/ContextPrecision.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/ContextPrecisionWithoutReference.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/ContextRecall.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/Faithfulness.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/NoiseSensitivity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/ResponseRelevancy.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/SemanticSimilarity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/ragas/utils.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/CalibrationCurve.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ClassifierThresholdOptimization.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/CompletenessScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/FeatureImportance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ModelParameters.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ROCCurve.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/RegressionErrors.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/RegressionPerformance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/ScoreProbabilityAlignment.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/VMeasure.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/GINITable.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/Lilliefors.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/RegressionCoeffs.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/statsutils.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/CalibrationCurveDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/ClassDiscriminationDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/ClassImbalanceDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/ClassificationAccuracyDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/ConfusionMatrixDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/CumulativePredictionProbabilitiesDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/FeatureDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/PredictionAcrossEachFeature.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/PredictionCorrelation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/PredictionProbabilitiesHistogramDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/PredictionQuantilesAcrossFeatures.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/ROCCurveDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/ScoreBandsDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/ScorecardHistogramDrift.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/ongoing_monitoring/TargetPredictionDistributionPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/output.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/plots/BoxPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/plots/CorrelationHeatmap.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/plots/HistogramPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/plots/ViolinPlot.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/Bias.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/Clarity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/Conciseness.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/Delimitation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/NegativeInstruction.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/Robustness.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/Specificity.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/ai_powered_test.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/run.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/stats/CorrelationAnalysis.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/stats/DescriptiveStats.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/stats/NormalityTests.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/stats/OutlierDetection.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/test_providers.py +5 -5
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/utils.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/classification/Accuracy.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/classification/F1.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/classification/Precision.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/classification/ROC_AUC.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/classification/Recall.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/AdjustedRSquaredScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/GiniCoefficient.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/HuberLoss.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/MeanAbsoluteError.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/MeanBiasDeviation.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/MeanSquaredError.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/QuantileLoss.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/RSquaredScore.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/unit_metrics/regression/RootMeanSquaredError.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/utils.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/dataset/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/dataset/dataset.py +9 -9
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/dataset/utils.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/figure.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/html_progress.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/html_renderer.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/input.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/model.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/result/__init__.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/result/pii_filter.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/result/result.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/result/utils.py +2 -2
- validmind-2.12.1/validmind/vm_models/test_suite/__init__.py +5 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/test_suite/runner.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/test_suite/summary.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/test_suite/test.py +2 -2
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/test_suite/test_suite.py +2 -2
- validmind-2.11.0/validmind/__version__.py +0 -1
- validmind-2.11.0/validmind/datasets/__init__.py +0 -7
- validmind-2.11.0/validmind/datasets/regression/california_housing.py +0 -34
- validmind-2.11.0/validmind/scorer/llm/deepeval/TaskCompletion.py +0 -208
- validmind-2.11.0/validmind/scorer/llm/deepeval/__init__.py +0 -7
- validmind-2.11.0/validmind/vm_models/test_suite/__init__.py +0 -5
- {validmind-2.11.0 → validmind-2.12.1}/LICENSE +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/README.pypi.md +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/credit_risk/datasets/lending_club_biased.csv.gz +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_3.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_4.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_5.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/datasets/leanding_club_loan_rates.csv +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/models/fred_loan_rates_model_1.pkl +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/models/fred_loan_rates_model_2.pkl +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/models/fred_loan_rates_model_3.pkl +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/models/fred_loan_rates_model_4.pkl +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/datasets/regression/models/fred_loan_rates_model_5.pkl +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/experimental/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/html_templates/__init__.py +0 -0
- {validmind-2.11.0/validmind/scorer → validmind-2.12.1/validmind/scorers}/classification/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/data_validation/nlp/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/plots/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/prompt_validation/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/tests/stats/__init__.py +0 -0
- {validmind-2.11.0 → validmind-2.12.1}/validmind/vm_models/result/result.jinja +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: validmind
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.12.1
|
|
4
4
|
Summary: ValidMind Library
|
|
5
5
|
License: DUAL LICENSE NOTICE
|
|
6
6
|
|
|
@@ -710,7 +710,7 @@ Provides-Extra: pii-detection
|
|
|
710
710
|
Provides-Extra: pytorch
|
|
711
711
|
Provides-Extra: stats
|
|
712
712
|
Provides-Extra: xgboost
|
|
713
|
-
Requires-Dist: aiohttp[speedups]
|
|
713
|
+
Requires-Dist: aiohttp[speedups] (<3.13.1)
|
|
714
714
|
Requires-Dist: anywidget
|
|
715
715
|
Requires-Dist: arch ; extra == "all"
|
|
716
716
|
Requires-Dist: arch ; extra == "stats"
|
|
@@ -718,7 +718,7 @@ Requires-Dist: beautifulsoup4
|
|
|
718
718
|
Requires-Dist: bert-score (>=0.3.13) ; extra == "all"
|
|
719
719
|
Requires-Dist: bert-score (>=0.3.13) ; extra == "nlp"
|
|
720
720
|
Requires-Dist: datasets (>=2.10.0,<3.0.0) ; extra == "datasets"
|
|
721
|
-
Requires-Dist: deepeval (
|
|
721
|
+
Requires-Dist: deepeval (>=3.7.0) ; extra == "llm"
|
|
722
722
|
Requires-Dist: evaluate ; extra == "all"
|
|
723
723
|
Requires-Dist: evaluate ; extra == "nlp"
|
|
724
724
|
Requires-Dist: ipywidgets
|
|
@@ -735,7 +735,7 @@ Requires-Dist: nltk (>=3.8.1,<4.0.0) ; extra == "nlp"
|
|
|
735
735
|
Requires-Dist: numpy (>=1.23,<2.0.0)
|
|
736
736
|
Requires-Dist: openai (>=1)
|
|
737
737
|
Requires-Dist: pandas (>=2.0.3,<3.0.0)
|
|
738
|
-
Requires-Dist: plotly (>=
|
|
738
|
+
Requires-Dist: plotly (>=6.0.0)
|
|
739
739
|
Requires-Dist: polars
|
|
740
740
|
Requires-Dist: presidio-analyzer ; extra == "pii-detection"
|
|
741
741
|
Requires-Dist: presidio-structured ; extra == "pii-detection"
|
|
@@ -750,16 +750,16 @@ Requires-Dist: rouge (>=1) ; extra == "nlp"
|
|
|
750
750
|
Requires-Dist: scikit-learn
|
|
751
751
|
Requires-Dist: scipy ; extra == "all"
|
|
752
752
|
Requires-Dist: scipy ; extra == "stats"
|
|
753
|
-
Requires-Dist: scorecardpy (
|
|
754
|
-
Requires-Dist: scorecardpy (
|
|
753
|
+
Requires-Dist: scorecardpy (==0.1.9.6) ; extra == "all"
|
|
754
|
+
Requires-Dist: scorecardpy (==0.1.9.6) ; extra == "credit-risk"
|
|
755
755
|
Requires-Dist: seaborn
|
|
756
756
|
Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "all"
|
|
757
757
|
Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "huggingface"
|
|
758
758
|
Requires-Dist: sentencepiece (>=0.2.0,<0.3.0) ; extra == "llm"
|
|
759
759
|
Requires-Dist: shap (>=0.46.0) ; extra == "all"
|
|
760
760
|
Requires-Dist: shap (>=0.46.0) ; extra == "explainability"
|
|
761
|
-
Requires-Dist: statsmodels ; extra == "all"
|
|
762
|
-
Requires-Dist: statsmodels ; extra == "stats"
|
|
761
|
+
Requires-Dist: statsmodels (>=0.14.2,<0.15.0) ; extra == "all"
|
|
762
|
+
Requires-Dist: statsmodels (>=0.14.2,<0.15.0) ; extra == "stats"
|
|
763
763
|
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
|
|
764
764
|
Requires-Dist: textblob (>=0.18.0.post0,<0.19.0) ; extra == "all"
|
|
765
765
|
Requires-Dist: textblob (>=0.18.0.post0,<0.19.0) ; extra == "nlp"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "validmind"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.12.1"
|
|
4
4
|
description = "ValidMind Library"
|
|
5
5
|
readme = "README.pypi.md"
|
|
6
6
|
requires-python = ">=3.9,<3.13"
|
|
@@ -13,7 +13,7 @@ authors = [
|
|
|
13
13
|
{ name = "John Walz", email = "john@validmind.ai" },
|
|
14
14
|
]
|
|
15
15
|
dependencies = [
|
|
16
|
-
"aiohttp[speedups]",
|
|
16
|
+
"aiohttp[speedups] (<3.13.1)",
|
|
17
17
|
"ipywidgets",
|
|
18
18
|
"kaleido (>=0.2.1,!=0.2.1.post1,<1.0.0)",
|
|
19
19
|
"matplotlib",
|
|
@@ -22,7 +22,7 @@ dependencies = [
|
|
|
22
22
|
"numpy (>=1.23,<2.0.0)",
|
|
23
23
|
"openai (>=1)",
|
|
24
24
|
"pandas (>=2.0.3,<3.0.0)",
|
|
25
|
-
"plotly (>=
|
|
25
|
+
"plotly (>=6.0.0)",
|
|
26
26
|
"polars",
|
|
27
27
|
"python-dotenv",
|
|
28
28
|
"scikit-learn",
|
|
@@ -44,7 +44,7 @@ all = [
|
|
|
44
44
|
"sentencepiece (>=0.2.0,<0.3.0)",
|
|
45
45
|
"langchain-openai (>=0.1.8)",
|
|
46
46
|
"scipy",
|
|
47
|
-
"statsmodels",
|
|
47
|
+
"statsmodels (>=0.14.2,<0.15.0)",
|
|
48
48
|
"langdetect",
|
|
49
49
|
"nltk (>=3.8.1,<4.0.0)",
|
|
50
50
|
"textblob (>=0.18.0.post0,<0.19.0)",
|
|
@@ -53,7 +53,7 @@ all = [
|
|
|
53
53
|
"bert-score (>=0.3.13)",
|
|
54
54
|
"arch",
|
|
55
55
|
"shap (>=0.46.0)",
|
|
56
|
-
"scorecardpy
|
|
56
|
+
"scorecardpy==0.1.9.6",
|
|
57
57
|
]
|
|
58
58
|
huggingface = [
|
|
59
59
|
"transformers (>=4.32.0,<5.0.0)",
|
|
@@ -66,7 +66,7 @@ llm = [
|
|
|
66
66
|
"ragas (>=0.2.3,<=0.2.7)",
|
|
67
67
|
"sentencepiece (>=0.2.0,<0.3.0)",
|
|
68
68
|
"langchain-openai (>=0.1.8)",
|
|
69
|
-
"deepeval (
|
|
69
|
+
"deepeval (>=3.7.0)",
|
|
70
70
|
]
|
|
71
71
|
nlp = [
|
|
72
72
|
"langdetect",
|
|
@@ -78,10 +78,10 @@ nlp = [
|
|
|
78
78
|
"pyarrow (<16)",
|
|
79
79
|
]
|
|
80
80
|
pytorch = ["torch (>=2.0.0)"]
|
|
81
|
-
stats = ["scipy", "statsmodels", "arch"]
|
|
81
|
+
stats = ["scipy", "statsmodels (>=0.14.2,<0.15.0)", "arch"]
|
|
82
82
|
xgboost = ["xgboost (>=1.5.2,<3)"]
|
|
83
83
|
explainability = ["shap (>=0.46.0)"]
|
|
84
|
-
credit_risk = ["scorecardpy
|
|
84
|
+
credit_risk = ["scorecardpy==0.1.9.6"]
|
|
85
85
|
datasets = ["datasets (>=2.10.0,<3.0.0)"]
|
|
86
86
|
pii-detection = ["presidio-analyzer", "presidio-structured"]
|
|
87
87
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -48,9 +48,9 @@ try:
|
|
|
48
48
|
except ImportError:
|
|
49
49
|
...
|
|
50
50
|
|
|
51
|
-
from . import scorer
|
|
51
|
+
from . import scorers as scorer
|
|
52
52
|
from .__version__ import __version__ # noqa: E402
|
|
53
|
-
from .api_client import init, log_metric, log_text, reload
|
|
53
|
+
from .api_client import init, log_metric, log_test_result, log_text, reload
|
|
54
54
|
from .client import ( # noqa: E402
|
|
55
55
|
get_test_suite,
|
|
56
56
|
init_dataset,
|
|
@@ -143,6 +143,7 @@ __all__ = [ # noqa
|
|
|
143
143
|
"unit_metrics",
|
|
144
144
|
"test_suites",
|
|
145
145
|
"log_text",
|
|
146
|
+
"log_test_result",
|
|
146
147
|
# experimental features
|
|
147
148
|
"experimental_agent",
|
|
148
149
|
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.12.1"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import json
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""ValidMind API client
|
|
@@ -19,6 +19,7 @@ import aiohttp
|
|
|
19
19
|
import requests
|
|
20
20
|
from aiohttp import FormData
|
|
21
21
|
|
|
22
|
+
from .__version__ import __version__
|
|
22
23
|
from .client_config import client_config
|
|
23
24
|
from .errors import MissingAPICredentialsError, MissingModelIdError, raise_api_error
|
|
24
25
|
from .logging import get_logger, log_api_operation
|
|
@@ -31,6 +32,7 @@ _api_key = os.getenv("VM_API_KEY")
|
|
|
31
32
|
_api_secret = os.getenv("VM_API_SECRET")
|
|
32
33
|
_api_host = os.getenv("VM_API_HOST")
|
|
33
34
|
_model_cuid = os.getenv("VM_API_MODEL")
|
|
35
|
+
_document = None
|
|
34
36
|
_monitoring = False
|
|
35
37
|
|
|
36
38
|
__api_session: Optional[aiohttp.ClientSession] = None
|
|
@@ -67,12 +69,16 @@ def get_api_model() -> Optional[str]:
|
|
|
67
69
|
|
|
68
70
|
|
|
69
71
|
def _get_api_headers() -> Dict[str, str]:
|
|
70
|
-
|
|
72
|
+
headers = {
|
|
71
73
|
"X-API-KEY": _api_key,
|
|
72
74
|
"X-API-SECRET": _api_secret,
|
|
73
75
|
"X-MODEL-CUID": _model_cuid,
|
|
74
76
|
"X-MONITORING": str(_monitoring),
|
|
77
|
+
"X-LIBRARY-VERSION": __version__,
|
|
75
78
|
}
|
|
79
|
+
if _document:
|
|
80
|
+
headers["X-DOCUMENT-TYPE"] = _document
|
|
81
|
+
return headers
|
|
76
82
|
|
|
77
83
|
|
|
78
84
|
def _get_session() -> aiohttp.ClientSession:
|
|
@@ -194,6 +200,7 @@ def init(
|
|
|
194
200
|
model: Optional[str] = None,
|
|
195
201
|
monitoring: bool = False,
|
|
196
202
|
generate_descriptions: Optional[bool] = None,
|
|
203
|
+
document: Optional[str] = None,
|
|
197
204
|
):
|
|
198
205
|
"""
|
|
199
206
|
Initializes the API client instances and calls the /ping endpoint to ensure
|
|
@@ -209,11 +216,12 @@ def init(
|
|
|
209
216
|
api_secret (str, optional): The API secret. Defaults to None.
|
|
210
217
|
api_host (str, optional): The API host. Defaults to None.
|
|
211
218
|
monitoring (bool): The ongoing monitoring flag. Defaults to False.
|
|
212
|
-
generate_descriptions (bool): Whether to use GenAI to generate test result descriptions. Defaults to True.
|
|
219
|
+
generate_descriptions (bool, optional): Whether to use GenAI to generate test result descriptions. Defaults to True.
|
|
220
|
+
document (str, optional): The name of the document. Omitting this argument is deprecated.
|
|
213
221
|
Raises:
|
|
214
222
|
ValueError: If the API key and secret are not provided
|
|
215
223
|
"""
|
|
216
|
-
global _api_key, _api_secret, _api_host, _model_cuid, _monitoring
|
|
224
|
+
global _api_key, _api_secret, _api_host, _model_cuid, _monitoring, _document
|
|
217
225
|
|
|
218
226
|
if api_key == "...":
|
|
219
227
|
# special case to detect when running a notebook placeholder (...)
|
|
@@ -238,6 +246,13 @@ def init(
|
|
|
238
246
|
if generate_descriptions is not None:
|
|
239
247
|
os.environ["VALIDMIND_LLM_DESCRIPTIONS_ENABLED"] = str(generate_descriptions)
|
|
240
248
|
|
|
249
|
+
if document is None:
|
|
250
|
+
logger.error(
|
|
251
|
+
"Future releases will require `document` as one of the options you must provide to `vm.init()`. "
|
|
252
|
+
"To learn more, refer to https://docs.validmind.ai/developer/validmind-library.html"
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
_document = document
|
|
241
256
|
reload()
|
|
242
257
|
|
|
243
258
|
|
|
@@ -365,6 +380,35 @@ async def alog_test_result(
|
|
|
365
380
|
raise e
|
|
366
381
|
|
|
367
382
|
|
|
383
|
+
def log_test_result(
|
|
384
|
+
result: Dict[str, Any],
|
|
385
|
+
section_id: str = None,
|
|
386
|
+
position: int = None,
|
|
387
|
+
unsafe: bool = False,
|
|
388
|
+
config: Dict[str, bool] = None,
|
|
389
|
+
) -> Dict[str, Any]:
|
|
390
|
+
"""Logs test results information.
|
|
391
|
+
|
|
392
|
+
Args:
|
|
393
|
+
result (dict): A dictionary representing the test result.
|
|
394
|
+
section_id (str, optional): The section ID add a test driven block to the documentation.
|
|
395
|
+
position (int): The position in the section to add the test driven block.
|
|
396
|
+
unsafe (bool): If True, log the result even if it contains sensitive data.
|
|
397
|
+
config (Dict[str, bool]): Configuration options for displaying the test result.
|
|
398
|
+
|
|
399
|
+
Returns:
|
|
400
|
+
dict: The response from the API.
|
|
401
|
+
"""
|
|
402
|
+
return run_async(
|
|
403
|
+
alog_test_result,
|
|
404
|
+
result=result,
|
|
405
|
+
section_id=section_id,
|
|
406
|
+
position=position,
|
|
407
|
+
unsafe=unsafe,
|
|
408
|
+
config=config,
|
|
409
|
+
)
|
|
410
|
+
|
|
411
|
+
|
|
368
412
|
async def alog_input(
|
|
369
413
|
input_id: str, type: str, metadata: Dict[str, Any]
|
|
370
414
|
) -> Dict[str, Any]:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
|
+
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
|
+
|
|
5
|
+
"""
|
|
6
|
+
Example datasets that can be used with the ValidMind Library.
|
|
7
|
+
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import logging
|
|
@@ -20,14 +20,12 @@ from validmind.errors import MissingDependencyError
|
|
|
20
20
|
try:
|
|
21
21
|
import scorecardpy as sc
|
|
22
22
|
except ImportError as e:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
) from e
|
|
30
|
-
raise e
|
|
23
|
+
raise MissingDependencyError(
|
|
24
|
+
"Missing required package `scorecardpy` for credit risk demos. "
|
|
25
|
+
"Please run `pip install validmind[credit_risk]` or `pip install scorecardpy`.",
|
|
26
|
+
required_dependencies=["scorecardpy"],
|
|
27
|
+
extra="credit_risk",
|
|
28
|
+
) from e
|
|
31
29
|
|
|
32
30
|
current_path = os.path.dirname(os.path.abspath(__file__))
|
|
33
31
|
dataset_path = os.path.join(current_path, "datasets")
|
|
@@ -516,7 +514,7 @@ def get_demo_test_config(
|
|
|
516
514
|
"inputs": {
|
|
517
515
|
"dataset": "raw_dataset",
|
|
518
516
|
},
|
|
519
|
-
"params": {"
|
|
517
|
+
"params": {"min_percentage_threshold": 1},
|
|
520
518
|
}
|
|
521
519
|
default_config["validmind.data_validation.ClassImbalance:raw_data"] = {
|
|
522
520
|
"inputs": {
|
|
@@ -584,7 +582,7 @@ def get_demo_test_config(
|
|
|
584
582
|
"inputs": {
|
|
585
583
|
"dataset": "preprocess_dataset",
|
|
586
584
|
},
|
|
587
|
-
"params": {"
|
|
585
|
+
"params": {"min_percentage_threshold": 1},
|
|
588
586
|
}
|
|
589
587
|
default_config[
|
|
590
588
|
"validmind.data_validation.TabularNumericalHistograms:preprocessed_data"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -103,6 +103,18 @@ class LLMAgentDataset(VMDataset):
|
|
|
103
103
|
# Convert to pandas DataFrame for VMDataset compatibility
|
|
104
104
|
df = self._convert_to_dataframe()
|
|
105
105
|
|
|
106
|
+
# Build extra_columns only for columns that exist in the DataFrame
|
|
107
|
+
possible_extra_columns = [
|
|
108
|
+
"actual_output",
|
|
109
|
+
"context",
|
|
110
|
+
"retrieval_context",
|
|
111
|
+
"tools_called",
|
|
112
|
+
"expected_tools",
|
|
113
|
+
]
|
|
114
|
+
extra_columns = {
|
|
115
|
+
col: col for col in possible_extra_columns if col in df.columns
|
|
116
|
+
}
|
|
117
|
+
|
|
106
118
|
# Initialize VMDataset with the converted data
|
|
107
119
|
super().__init__(
|
|
108
120
|
raw_dataset=df.values,
|
|
@@ -110,13 +122,7 @@ class LLMAgentDataset(VMDataset):
|
|
|
110
122
|
columns=df.columns.tolist(),
|
|
111
123
|
text_column="input", # The input text for LLM
|
|
112
124
|
target_column="expected_output", # Expected response
|
|
113
|
-
extra_columns=
|
|
114
|
-
"actual_output": "actual_output",
|
|
115
|
-
"context": "context",
|
|
116
|
-
"retrieval_context": "retrieval_context",
|
|
117
|
-
"tools_called": "tools_called",
|
|
118
|
-
"expected_tools": "expected_tools",
|
|
119
|
-
},
|
|
125
|
+
extra_columns=extra_columns if extra_columns else None,
|
|
120
126
|
**kwargs,
|
|
121
127
|
)
|
|
122
128
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
import os
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Copyright © 2023-
|
|
2
|
-
#
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
4
|
|
|
5
5
|
"""
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Copyright © 2023-2026 ValidMind Inc. All rights reserved.
|
|
2
|
+
# Refer to the LICENSE file in the root of this repository for details.
|
|
3
|
+
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
|
4
|
+
|
|
5
|
+
import os
|
|
6
|
+
from urllib.error import HTTPError, URLError
|
|
7
|
+
|
|
8
|
+
import pandas as pd
|
|
9
|
+
from sklearn.datasets import fetch_california_housing
|
|
10
|
+
from sklearn.model_selection import train_test_split
|
|
11
|
+
|
|
12
|
+
current_path = os.path.dirname(os.path.abspath(__file__))
|
|
13
|
+
dataset_path = os.path.join(current_path, "datasets")
|
|
14
|
+
|
|
15
|
+
feature_columns = ["HouseAge", "AveRooms", "AveBedrms", "Population", "AveOccup"]
|
|
16
|
+
target_column = "MedHouseVal"
|
|
17
|
+
|
|
18
|
+
# Path to bundled dataset file
|
|
19
|
+
bundled_data_file = os.path.join(dataset_path, "california_housing.csv")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def load_data(full_dataset=False, source: str = "bundled"):
|
|
23
|
+
"""
|
|
24
|
+
Load the California housing dataset.
|
|
25
|
+
|
|
26
|
+
This function first attempts to load from a bundled dataset file in the repository.
|
|
27
|
+
If the bundled file is not available, it falls back to sklearn's fetch function
|
|
28
|
+
(which uses cache or attempts download).
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
full_dataset: Not currently used, kept for API compatibility.
|
|
32
|
+
source: 'bundled' to load from repository file (default), 'sklearn' to use sklearn's fetch.
|
|
33
|
+
|
|
34
|
+
Returns:
|
|
35
|
+
pd.DataFrame: DataFrame containing the California housing data.
|
|
36
|
+
|
|
37
|
+
Raises:
|
|
38
|
+
RuntimeError: If the dataset cannot be loaded from bundled file or downloaded.
|
|
39
|
+
FileNotFoundError: If bundled file is requested but not found.
|
|
40
|
+
"""
|
|
41
|
+
if source == "bundled":
|
|
42
|
+
# Try to load from bundled dataset file
|
|
43
|
+
if os.path.exists(bundled_data_file):
|
|
44
|
+
df = pd.read_csv(bundled_data_file)
|
|
45
|
+
# Ensure we have the correct columns
|
|
46
|
+
required_cols = feature_columns + [target_column]
|
|
47
|
+
if all(col in df.columns for col in required_cols):
|
|
48
|
+
return df[required_cols]
|
|
49
|
+
else:
|
|
50
|
+
# If columns don't match, fall back to sklearn
|
|
51
|
+
return _load_from_sklearn()
|
|
52
|
+
else:
|
|
53
|
+
# Bundled file not found, fall back to sklearn
|
|
54
|
+
return _load_from_sklearn()
|
|
55
|
+
elif source == "sklearn":
|
|
56
|
+
return _load_from_sklearn()
|
|
57
|
+
else:
|
|
58
|
+
raise ValueError("Invalid source specified. Choose 'bundled' or 'sklearn'.")
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def _load_from_sklearn():
|
|
62
|
+
"""
|
|
63
|
+
Load the California housing dataset from sklearn.
|
|
64
|
+
|
|
65
|
+
This function first attempts to load from sklearn's cache. If the dataset
|
|
66
|
+
is not cached, it attempts to download it. If download fails (e.g., 403 Forbidden),
|
|
67
|
+
it provides helpful error messages.
|
|
68
|
+
|
|
69
|
+
Returns:
|
|
70
|
+
pd.DataFrame: DataFrame containing the California housing data.
|
|
71
|
+
|
|
72
|
+
Raises:
|
|
73
|
+
RuntimeError: If the dataset cannot be downloaded due to network issues (e.g., 403 Forbidden).
|
|
74
|
+
URLError: If there's a URL-related error when fetching the dataset.
|
|
75
|
+
OSError: If the dataset is not cached and cannot be downloaded.
|
|
76
|
+
"""
|
|
77
|
+
# First, try to load from cache (won't attempt download)
|
|
78
|
+
try:
|
|
79
|
+
california_housing = fetch_california_housing(
|
|
80
|
+
as_frame=True, download_if_missing=False
|
|
81
|
+
)
|
|
82
|
+
except OSError:
|
|
83
|
+
# Dataset not in cache, try to download it
|
|
84
|
+
try:
|
|
85
|
+
california_housing = fetch_california_housing(as_frame=True)
|
|
86
|
+
except HTTPError as e:
|
|
87
|
+
if (
|
|
88
|
+
"403" in str(e)
|
|
89
|
+
or "Forbidden" in str(e)
|
|
90
|
+
or (hasattr(e, "code") and e.code == 403)
|
|
91
|
+
):
|
|
92
|
+
error_msg = (
|
|
93
|
+
"HTTP 403 Forbidden error when downloading California housing dataset.\n\n"
|
|
94
|
+
"This is a known issue with sklearn's dataset repository access restrictions.\n\n"
|
|
95
|
+
"The dataset should be available as a bundled file in the repository.\n"
|
|
96
|
+
"If you're seeing this error, please ensure the bundled dataset file exists\n"
|
|
97
|
+
"at: {}\n\n".format(bundled_data_file)
|
|
98
|
+
+ "Alternatively, you can manually download the dataset from:\n"
|
|
99
|
+
"https://www.dcc.fc.up.pt/~ltorgo/Regression/cal_housing.tgz\n"
|
|
100
|
+
"and extract it to ~/scikit_learn_data/cal_housing/"
|
|
101
|
+
)
|
|
102
|
+
raise RuntimeError(error_msg) from e
|
|
103
|
+
else:
|
|
104
|
+
error_msg = (
|
|
105
|
+
f"Failed to download California housing dataset: {str(e)}\n\n"
|
|
106
|
+
"This error typically occurs when:\n"
|
|
107
|
+
" 1. There's no internet connection\n"
|
|
108
|
+
" 2. The sklearn dataset repository is temporarily unavailable\n"
|
|
109
|
+
" 3. There's a network firewall blocking the download\n\n"
|
|
110
|
+
"The dataset should be automatically cached after the first successful download.\n"
|
|
111
|
+
"Please check your network connection and try again."
|
|
112
|
+
)
|
|
113
|
+
raise RuntimeError(error_msg) from e
|
|
114
|
+
except URLError as e:
|
|
115
|
+
error_msg = (
|
|
116
|
+
f"URL error when downloading California housing dataset: {str(e)}\n\n"
|
|
117
|
+
"This typically indicates a network connectivity issue.\n"
|
|
118
|
+
"Please check your internet connection and try again."
|
|
119
|
+
)
|
|
120
|
+
raise URLError(error_msg) from e
|
|
121
|
+
|
|
122
|
+
df = california_housing.data[feature_columns]
|
|
123
|
+
df = df.copy()
|
|
124
|
+
df[target_column] = california_housing.target.values
|
|
125
|
+
|
|
126
|
+
return df
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def preprocess(df):
|
|
130
|
+
df = df.copy()
|
|
131
|
+
|
|
132
|
+
train_val_df, test_df = train_test_split(df, test_size=0.20)
|
|
133
|
+
|
|
134
|
+
# This guarantees a 60/20/20 split
|
|
135
|
+
train_df, validation_df = train_test_split(train_val_df, test_size=0.25)
|
|
136
|
+
|
|
137
|
+
return train_df, validation_df, test_df
|