[GSK-1321] Integration with MLflow#1189
Conversation
…ard-AI/giskard into gsk-1321/mlflow-integration
…ard-AI/giskard into gsk-1321/mlflow-integration
…ard-AI/giskard into gsk-1321/mlflow-integration
# Conflicts: # python-client/giskard/core/suite.py # python-client/giskard/models/__init__.py # python-client/giskard/models/base/__init__.py # python-client/giskard/models/catboost/__init__.py # python-client/giskard/models/huggingface/__init__.py # python-client/giskard/models/langchain.py # python-client/giskard/models/sklearn/__init__.py # python-client/giskard/scanner/result.py # python-client/tests/models/automodel/test_infer_giskard_cls.py
I think we can look at |
As it's not a blocker, I think it's a good idea to merge this branch and to take care of this point in a new one. This will unlock some marketing actions. WDYT? |
|
Kudos, SonarCloud Quality Gate passed! |








1. mlflow Plug-in via
evaluateDescription
Integration of
mlflowvia themodel_evaluatorplugin.Installation requirements:
Code example:
Running
mlflow uiin the terminal, one gets:Two notebooks to test this feature:
Run them locally in order to run the
mlflow ui2. Giskard API via
to_mlflowDescription
logging artifacts and metrics from giskard to mlflow
Code example:
notebook to test this feature:
Run them locally in order to run the
mlflow ui:Open questions
Todo:
Tech
use native mlflow saving when possible -- implemented inhttps://github.com/[GSK-1321] Integration with MLflow #1189/commits/e83667df6674c229bb922c797f338b2a5d2b4bd3save_modelfromMLflowBasedModeland introduce adataclassclass to create flags and disable the saving/loading validation during the scan. (PyFunc models are not meant to be saved, and the model going throughmlflow.evaluateis a PyFunc model)tempfile.NamedTemporaryFiledoesn't seem to delete files after contextmodel_typescan_summary.json)to_mlflow()on (see doc):ScanResultTestSuiteResultgiskard.Modelgiskard.DatasetModel.__init__()argument toevaluator_confignot onlyclassification_labelspdm lock -G:allEvaluationResultmlflow uiWriting
LLM models comparison
Optional
giskard.scanner.logger ERROR Detector LLMToxicityDetector failed with error: 'PyFuncModel' object has no attribute 'rewrite_prompt'and output instead something likegiskard.scanner.logger ERROR Detector LLMToxicityDetector is not supported by giskard plug-in through mlflow.evaluate