validmind 2.4.7__tar.gz → 2.4.10__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.4.7 → validmind-2.4.10}/PKG-INFO +2 -1
- {validmind-2.4.7 → validmind-2.4.10}/pyproject.toml +3 -2
- validmind-2.4.10/validmind/__version__.py +1 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/api_client.py +9 -1
- {validmind-2.4.7 → validmind-2.4.10}/validmind/client.py +2 -1
- {validmind-2.4.7 → validmind-2.4.10}/validmind/html_templates/content_blocks.py +2 -1
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/DatasetDescription.py +1 -1
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AnswerCorrectness.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AnswerRelevance.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AnswerSimilarity.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AspectCritique.py +21 -17
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextEntityRecall.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextPrecision.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextRecall.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextRelevancy.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/Faithfulness.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/utils.py +6 -2
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/dataset/dataset.py +47 -20
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/dataset/utils.py +2 -0
- validmind-2.4.7/validmind/__version__.py +0 -1
- {validmind-2.4.7 → validmind-2.4.10}/LICENSE +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/README.pypi.md +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/ai/test_descriptions.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/ai/utils.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/client_config.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/classification/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/classification/customer_churn.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/classification/taiwan_credit.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/cluster/digits.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/credit_risk/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/credit_risk/lending_club.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/llm/rag/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_3.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_4.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_5.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/llm/rag/rfp.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/cnn_dailymail.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/twitter_covid_19.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/california_housing.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/leanding_club_loan_rates.csv +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/fred.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/fred_timeseries.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/lending_club.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/models/fred_loan_rates_model_1.pkl +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/models/fred_loan_rates_model_2.pkl +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/models/fred_loan_rates_model_3.pkl +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/models/fred_loan_rates_model_4.pkl +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/models/fred_loan_rates_model_5.pkl +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/errors.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/html_templates/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/input_registry.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/logging.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/foundation.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/function.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/huggingface.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/metadata.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/pipeline.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/pytorch.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/r_model.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/models/sklearn.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/template.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/classifier.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/cluster.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/embeddings.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/llm.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/nlp.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/parameters_optimization.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/regression.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/statsmodels_timeseries.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/summarization.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/tabular_datasets.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/text_data.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/test_suites/time_series.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/__types__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/_store.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/ACFandPACFPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/ADF.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/ANOVAOneWayTable.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/AutoAR.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/AutoMA.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/AutoSeasonality.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/AutoStationarity.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/BivariateFeaturesBarPlots.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/BivariateHistograms.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/BivariateScatterPlots.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/ClassImbalance.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/DFGLSArch.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/DatasetSplit.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/DescriptiveStatistics.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/Duplicates.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/EngleGrangerCoint.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/HeatmapFeatureCorrelations.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/HighCardinality.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/HighPearsonCorrelation.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/IQROutliersBarPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/IQROutliersTable.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/IsolationForestOutliers.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/KPSS.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/MissingValues.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/MissingValuesBarPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/MissingValuesRisk.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/PhillipsPerronArch.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/RollingStatsPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/ScatterPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/SeasonalDecompose.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/Skewness.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/SpreadPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TabularDateTimeHistograms.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TabularDescriptionTables.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TabularNumericalHistograms.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TargetRateBarPlots.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TimeSeriesDescription.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TimeSeriesFrequency.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TimeSeriesHistogram.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TimeSeriesLinePlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TimeSeriesMissingValues.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TimeSeriesOutliers.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/TooManyZeroValues.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/UniqueRows.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/WOEBinPlots.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/WOEBinTable.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/ZivotAndrewsArch.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/CommonWords.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/Hashtags.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/LanguageDetection.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/Mentions.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/Punctuations.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/Sentiment.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/StopWords.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/TextDescription.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/Toxicity.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/data_validation/nlp/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/decorator.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/load.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/metadata.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/BertScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/BleuScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ClusterSizeDistribution.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ContextualRecall.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/FeaturesAUC.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/MeteorScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ModelMetadata.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ModelMetadataComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ModelPredictionResiduals.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/RegardScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/RegressionResidualsPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/RougeScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/TokenDisparity.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ToxicityScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/StabilityAnalysis.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/ClusterPerformance.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/CompletenessScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/FeatureImportanceComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/ROCCurve.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/RegressionErrors.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/VMeasure.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/BoxPierce.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/GINITable.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/JarqueBera.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/LJungBox.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/Lilliefors.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/RunsTest.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/ShapiroWilk.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/statsmodels/statsutils.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/Bias.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/Clarity.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/Conciseness.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/Delimitation.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/NegativeInstruction.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/Robustness.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/Specificity.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/prompt_validation/ai_powered_test.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/run.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/test_providers.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/tests/utils.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/classification/sklearn/Accuracy.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/classification/sklearn/F1.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/classification/sklearn/Precision.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/classification/sklearn/ROC_AUC.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/classification/sklearn/Recall.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/composite.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/GiniCoefficient.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/HuberLoss.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/MeanBiasDeviation.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/QuantileLoss.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/sklearn/MeanSquaredError.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/sklearn/RSquaredScore.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/utils.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/dataset/__init__.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/figure.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/model.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/metric.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/metric_result.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/output_template.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/result_summary.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/result_wrapper.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/test.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/threshold_test.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test/threshold_test_result.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test_context.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test_suite/runner.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test_suite/summary.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test_suite/test.py +0 -0
- {validmind-2.4.7 → validmind-2.4.10}/validmind/vm_models/test_suite/test_suite.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: validmind
|
3
|
-
Version: 2.4.
|
3
|
+
Version: 2.4.10
|
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
|
@@ -10,9 +10,10 @@ description = "ValidMind Developer Framework"
|
|
10
10
|
license = "Commercial License"
|
11
11
|
name = "validmind"
|
12
12
|
readme = "README.pypi.md"
|
13
|
-
version = "2.4.
|
13
|
+
version = "2.4.10"
|
14
14
|
|
15
15
|
[tool.poetry.dependencies]
|
16
|
+
python = ">=3.8.1,<3.12"
|
16
17
|
aiohttp = {extras = ["speedups"], version = "*"}
|
17
18
|
arch = "*"
|
18
19
|
bert-score = ">=0.3.13"
|
@@ -26,6 +27,7 @@ latex2mathml = ">=3.77.0"
|
|
26
27
|
llvmlite = {version = "*", python = ">=3.8,<=3.11"}
|
27
28
|
matplotlib = "*"
|
28
29
|
mistune = "^3.0.2"
|
30
|
+
nest-asyncio = "^1.6.0"
|
29
31
|
nltk = "^3.8.1"
|
30
32
|
numba = "<0.59.0" # TODO: https://github.com/validmind/developer-framework/pull/28
|
31
33
|
numpy = "*"
|
@@ -35,7 +37,6 @@ plotly = "*"
|
|
35
37
|
plotly-express = "*"
|
36
38
|
polars = "*"
|
37
39
|
pycocoevalcap = {version = "^1.2", optional = true}
|
38
|
-
python = ">=3.8.1,<3.12"
|
39
40
|
python-dotenv = "*"
|
40
41
|
ragas = {version = ">=0.1.7", optional = true}
|
41
42
|
rouge = ">=1"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "2.4.10"
|
@@ -34,6 +34,7 @@ _api_secret = os.getenv("VM_API_SECRET")
|
|
34
34
|
_api_host = os.getenv("VM_API_HOST")
|
35
35
|
_model_cuid = os.getenv("VM_API_MODEL")
|
36
36
|
_run_cuid = os.getenv("VM_RUN_CUID")
|
37
|
+
_monitoring = False
|
37
38
|
|
38
39
|
__api_session: aiohttp.ClientSession = None
|
39
40
|
|
@@ -57,6 +58,7 @@ def get_api_config() -> Dict[str, Optional[str]]:
|
|
57
58
|
"VM_API_HOST": _api_host,
|
58
59
|
"VM_API_MODEL": _model_cuid,
|
59
60
|
"VM_RUN_CUID": _run_cuid,
|
61
|
+
"X-MONITORING": _monitoring,
|
60
62
|
}
|
61
63
|
|
62
64
|
|
@@ -73,6 +75,7 @@ def get_api_headers() -> Dict[str, str]:
|
|
73
75
|
"X-API-KEY": _api_key,
|
74
76
|
"X-API-SECRET": _api_secret,
|
75
77
|
"X-PROJECT-CUID": _model_cuid,
|
78
|
+
"X-MONITORING": _monitoring,
|
76
79
|
}
|
77
80
|
|
78
81
|
|
@@ -82,6 +85,7 @@ def init(
|
|
82
85
|
api_secret: Optional[str] = None,
|
83
86
|
api_host: Optional[str] = None,
|
84
87
|
model: Optional[str] = None,
|
88
|
+
monitoring=False,
|
85
89
|
):
|
86
90
|
"""
|
87
91
|
Initializes the API client instances and calls the /ping endpoint to ensure
|
@@ -96,11 +100,12 @@ def init(
|
|
96
100
|
api_key (str, optional): The API key. Defaults to None.
|
97
101
|
api_secret (str, optional): The API secret. Defaults to None.
|
98
102
|
api_host (str, optional): The API host. Defaults to None.
|
103
|
+
monitoring (str, optional): The ongoing monitoring flag. Defaults to False.
|
99
104
|
|
100
105
|
Raises:
|
101
106
|
ValueError: If the API key and secret are not provided
|
102
107
|
"""
|
103
|
-
global _api_key, _api_secret, _api_host, _run_cuid, _model_cuid
|
108
|
+
global _api_key, _api_secret, _api_host, _run_cuid, _model_cuid, _monitoring
|
104
109
|
|
105
110
|
if api_key == "...":
|
106
111
|
# special case to detect when running a notebook with the standard init snippet
|
@@ -125,6 +130,8 @@ def init(
|
|
125
130
|
|
126
131
|
_run_cuid = os.getenv("VM_RUN_CUID", None)
|
127
132
|
|
133
|
+
_monitoring = monitoring
|
134
|
+
|
128
135
|
try:
|
129
136
|
__ping()
|
130
137
|
except Exception as e:
|
@@ -159,6 +166,7 @@ def __ping() -> Dict[str, Any]:
|
|
159
166
|
"X-API-KEY": _api_key,
|
160
167
|
"X-API-SECRET": _api_secret,
|
161
168
|
"X-PROJECT-CUID": _model_cuid,
|
169
|
+
"X-MONITORING": str(_monitoring),
|
162
170
|
},
|
163
171
|
)
|
164
172
|
if r.status_code != 200:
|
@@ -135,7 +135,8 @@ def init_dataset(
|
|
135
135
|
model=model,
|
136
136
|
index=index,
|
137
137
|
index_name=index_name,
|
138
|
-
columns
|
138
|
+
# if no columns are passed, use the index
|
139
|
+
columns=columns or [i for i in range(dataset.shape[1])],
|
139
140
|
target_column=target_column,
|
140
141
|
feature_columns=feature_columns,
|
141
142
|
text_column=text_column,
|
@@ -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'>
|
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
|
)
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AnswerCorrectness.py
RENAMED
@@ -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,
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AnswerRelevance.py
RENAMED
@@ -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,
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AnswerSimilarity.py
RENAMED
@@ -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,
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/AspectCritique.py
RENAMED
@@ -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,
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextEntityRecall.py
RENAMED
@@ -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,
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextPrecision.py
RENAMED
@@ -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,
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextRecall.py
RENAMED
@@ -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,
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/tests/model_validation/ragas/ContextRelevancy.py
RENAMED
@@ -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
|
|
@@ -92,14 +92,14 @@ class VMDataset:
|
|
92
92
|
raise ValueError("Expected Numpy array for attribute raw_dataset")
|
93
93
|
self.index = index
|
94
94
|
|
95
|
-
self.
|
95
|
+
self._df = pd.DataFrame(self._raw_dataset, columns=columns).infer_objects()
|
96
96
|
# set index to dataframe
|
97
97
|
if index is not None:
|
98
|
-
self.
|
99
|
-
self.
|
98
|
+
self._df.set_index(pd.Index(index), inplace=True)
|
99
|
+
self._df.index.name = index_name
|
100
100
|
# attempt to convert index to datatime
|
101
101
|
if date_time_index:
|
102
|
-
self.
|
102
|
+
self._df = convert_index_to_datetime(self._df)
|
103
103
|
|
104
104
|
self.options = options
|
105
105
|
|
@@ -128,12 +128,12 @@ class VMDataset:
|
|
128
128
|
self.feature_columns = [col for col in self.columns if col not in excluded]
|
129
129
|
|
130
130
|
self.feature_columns_numeric = (
|
131
|
-
self.
|
131
|
+
self._df[self.feature_columns]
|
132
132
|
.select_dtypes(include=[np.number])
|
133
133
|
.columns.tolist()
|
134
134
|
)
|
135
135
|
self.feature_columns_categorical = (
|
136
|
-
self.
|
136
|
+
self._df[self.feature_columns]
|
137
137
|
.select_dtypes(include=[object, pd.Categorical])
|
138
138
|
.columns.tolist()
|
139
139
|
)
|
@@ -142,19 +142,19 @@ class VMDataset:
|
|
142
142
|
column_values = np.array(column_values)
|
143
143
|
|
144
144
|
if column_values.ndim == 1:
|
145
|
-
if len(column_values) != len(self.
|
145
|
+
if len(column_values) != len(self._df):
|
146
146
|
raise ValueError(
|
147
147
|
"Length of values doesn't match number of rows in the DataFrame."
|
148
148
|
)
|
149
149
|
self.columns.append(column_name)
|
150
|
-
self.
|
150
|
+
self._df[column_name] = column_values
|
151
151
|
elif column_values.ndim == 2:
|
152
|
-
if column_values.shape[0] != len(self.
|
152
|
+
if column_values.shape[0] != len(self._df):
|
153
153
|
raise ValueError(
|
154
154
|
"Number of rows in values doesn't match number of rows in the DataFrame."
|
155
155
|
)
|
156
156
|
self.columns.append(column_name)
|
157
|
-
self.
|
157
|
+
self._df[column_name] = column_values.tolist()
|
158
158
|
|
159
159
|
else:
|
160
160
|
raise ValueError("Only 1D and 2D arrays are supported for column_values.")
|
@@ -243,10 +243,10 @@ class VMDataset:
|
|
243
243
|
|
244
244
|
# if the user passes a column name, we assume it has precomputed predictions
|
245
245
|
if prediction_column:
|
246
|
-
prediction_values = self.
|
246
|
+
prediction_values = self._df[prediction_column].values
|
247
247
|
|
248
248
|
if probability_column:
|
249
|
-
probability_values = self.
|
249
|
+
probability_values = self._df[probability_column].values
|
250
250
|
|
251
251
|
if prediction_values is None:
|
252
252
|
X = self.df if isinstance(model, (FunctionModel, PipelineModel)) else self.x
|
@@ -320,6 +320,33 @@ class VMDataset:
|
|
320
320
|
f"Extra column {column_name} with {len(column_values)} values added to the dataset"
|
321
321
|
)
|
322
322
|
|
323
|
+
@property
|
324
|
+
def df(self) -> pd.DataFrame:
|
325
|
+
"""
|
326
|
+
Returns the dataset as a pandas DataFrame.
|
327
|
+
|
328
|
+
Returns:
|
329
|
+
pd.DataFrame: The dataset as a pandas DataFrame.
|
330
|
+
"""
|
331
|
+
# only include feature, text and target columns
|
332
|
+
# don't include internal pred and prob columns
|
333
|
+
columns = self.feature_columns.copy()
|
334
|
+
|
335
|
+
# text column can also be a feature column so don't add it twice
|
336
|
+
if self.text_column and self.text_column not in columns:
|
337
|
+
columns.append(self.text_column)
|
338
|
+
|
339
|
+
if self.extra_columns.extras:
|
340
|
+
# add user-defined extra columns
|
341
|
+
columns.extend(self.extra_columns.extras)
|
342
|
+
|
343
|
+
if self.target_column:
|
344
|
+
# shouldn't be a feature column but add this to be safe
|
345
|
+
assert self.target_column not in columns
|
346
|
+
columns.append(self.target_column)
|
347
|
+
|
348
|
+
return as_df(self._df[columns])
|
349
|
+
|
323
350
|
@property
|
324
351
|
def x(self) -> np.ndarray:
|
325
352
|
"""
|
@@ -328,7 +355,7 @@ class VMDataset:
|
|
328
355
|
Returns:
|
329
356
|
np.ndarray: The input features.
|
330
357
|
"""
|
331
|
-
return self.
|
358
|
+
return self._df[self.feature_columns].to_numpy()
|
332
359
|
|
333
360
|
@property
|
334
361
|
def y(self) -> np.ndarray:
|
@@ -338,7 +365,7 @@ class VMDataset:
|
|
338
365
|
Returns:
|
339
366
|
np.ndarray: The target variables.
|
340
367
|
"""
|
341
|
-
return self.
|
368
|
+
return self._df[self.target_column].to_numpy()
|
342
369
|
|
343
370
|
def y_pred(self, model) -> np.ndarray:
|
344
371
|
"""Returns the predictions for a given model.
|
@@ -352,7 +379,7 @@ class VMDataset:
|
|
352
379
|
Returns:
|
353
380
|
np.ndarray: The predictions for the model
|
354
381
|
"""
|
355
|
-
return np.stack(self.
|
382
|
+
return np.stack(self._df[self.prediction_column(model)].values)
|
356
383
|
|
357
384
|
def y_prob(self, model) -> np.ndarray:
|
358
385
|
"""Returns the probabilities for a given model.
|
@@ -363,23 +390,23 @@ class VMDataset:
|
|
363
390
|
Returns:
|
364
391
|
np.ndarray: The probability variables.
|
365
392
|
"""
|
366
|
-
return self.
|
393
|
+
return self._df[self.probability_column(model)].values
|
367
394
|
|
368
395
|
def x_df(self):
|
369
396
|
"""Returns a dataframe containing only the feature columns"""
|
370
|
-
return as_df(self.
|
397
|
+
return as_df(self._df[self.feature_columns])
|
371
398
|
|
372
399
|
def y_df(self) -> pd.DataFrame:
|
373
400
|
"""Returns a dataframe containing the target column"""
|
374
|
-
return as_df(self.
|
401
|
+
return as_df(self._df[self.target_column])
|
375
402
|
|
376
403
|
def y_pred_df(self, model) -> pd.DataFrame:
|
377
404
|
"""Returns a dataframe containing the predictions for a given model"""
|
378
|
-
return as_df(self.
|
405
|
+
return as_df(self._df[self.prediction_column(model)])
|
379
406
|
|
380
407
|
def y_prob_df(self, model) -> pd.DataFrame:
|
381
408
|
"""Returns a dataframe containing the probabilities for a given model"""
|
382
|
-
return as_df(self.
|
409
|
+
return as_df(self._df[self.probability_column(model)])
|
383
410
|
|
384
411
|
def target_classes(self):
|
385
412
|
"""Returns the target class labels or unique values of the target column."""
|
@@ -16,6 +16,8 @@ logger = get_logger(__name__)
|
|
16
16
|
|
17
17
|
@dataclass
|
18
18
|
class ExtraColumns:
|
19
|
+
# TODO: this now holds internal (pred, prob and group_by) cols as well as
|
20
|
+
# user-defined extra columns. These should probably be separated.
|
19
21
|
"""Extra columns for the dataset."""
|
20
22
|
|
21
23
|
extras: Set[str] = field(default_factory=set)
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "2.4.7"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/classification/datasets/taiwan_credit.csv
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv
RENAMED
File without changes
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv
RENAMED
File without changes
|
{validmind-2.4.7 → validmind-2.4.10}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv
RENAMED
File without changes
|