The most flexible Drift Detection Server.
Learn about the concepts in Docs
Main features:
👍 surprisingly easy to use
👍 production-ready server
👍 created with real use-cases in mind
👍 not just a math library
👍 Python-first, API-first
drifting
is built with Developer Experience in mind.
You communicate with Drift Detection Server via DriftingClient
or API,
both for fitting the Drift Detector and detecting the drift. In your training
pipeline, use the fit
method:
from drifting import DriftingClient, DriftType
from sklearn import datasets
iris = datasets.load_iris()
client = DriftingClient()
client.fit(white, drift_type=DriftType.TABULAR, detector_name="IrisDriftDetector")
Then, next to your prediction call:
for row in iris.data:
prediction = clf.predict(row)
is_drift, test_stat = client.predict(row, drift_type=DriftType.TABULAR, detector_name="IrisDriftDetector")
Note that this makes the usage of the server as easy as possible.
- You only make a request to the server once per prediction, alongside with prediction.
- It's not required to manage any artifacts,
- No need to implement any feedback loops,
- No need to collect test data,
- No need to leave your python environment, fetch any logs,
To install dependencies:
pip install -r requirements.txt
And run server locally (uses 'drift_detectors/' path for artifacts):
drifting start drift_detectors/
To use Drift Detection Server in your organization, build and deploy the Docker image, or use the pre-built version from TODO.
To deploy the on cloud instance using docker, you can easily pull the image and run it:
docker run -it sign-ai/drifting
For more demanding use-cases, it's facilitated to deploy Drift Detection Server on kubernetes. DDS is packaged with bitnami. Example Helm charts are not implemented yet.
Even though Drift Detection Server makes the task incredibly easy, it still follows the MLOps culture, assuring reproducibility, observability and scalability postulates are fulfilled.
Please read the Docs to learn about real-world usage.