Skip to main content

XGBoost runtime for MLServer

This package provides a MLServer runtime compatible with XGBoost.

Usage

You can install the runtime, alongside mlserver, as:

pip install mlserver mlserver-xgboost

For further information on how to use MLServer with XGBoost, you can check out this worked out example.

XGBoost Artifact Type

The XGBoost inference runtime will expect that your model is serialised via one of the following methods:

Extension Docs Example
*.json JSON Format booster.save_model("model.json")
*.ubj Binary JSON Format booster.save_model("model.ubj")
*.bst (Old) Binary Format booster.save_model("model.bst")
By default, the runtime will look for a file called `model.[json | ubj | bst]`.
However, this can be modified through the `parameters.uri` field of your
{class}`ModelSettings <mlserver.settings.ModelSettings>` config (see the
section on [Model Settings](../../docs/reference/model-settings.md) for more
details).

```{code-block} json
---
emphasize-lines: 3-5
---
{
  "name": "foo",
  "parameters": {
    "uri": "./my-own-model-filename.json"
  }
}
```

Content Types

If no content type is present on the request or metadata, the XGBoost runtime will try to decode the payload as a NumPy Array. To avoid this, either send a different content type explicitly, or define the correct one as part of your model's metadata.

Model Outputs

The XGBoost inference runtime exposes a number of outputs depending on the model type. These outputs match to the predict and predict_proba methods of the XGBoost model.

Output Returned By Default Availability
predict ✅ Available on all XGBoost models.
predict_proba ❌ Only available on non-regressor models (i.e. XGBClassifier models).

By default, the runtime will only return the output of predict. However, you are able to control which outputs you want back through the outputs field of your {class}InferenceRequest <mlserver.types.InferenceRequest> payload.

For example, to only return the model's predict_proba output, you could define a payload such as:

---
emphasize-lines: 10-12
---
{
  "inputs": [
    {
      "name": "my-input",
      "datatype": "INT32",
      "shape": [2, 2],
      "data": [1, 2, 3, 4]
    }
  ],
  "outputs": [
    { "name": "predict_proba" }
  ]
}

Release files for mlserver-xgboost 1.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mlserver-xgboost 1.7.1
File Size Uploaded
mlserver_xgboost-1.7.1.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mlserver-xgboost 1.7.1
File Interpreter ABI Platform
mlserver_xgboost-1.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.9 kB

Release files / mlserver_xgboost-1.7.1.tar.gz

Download URL mlserver_xgboost-1.7.1.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
96128680d4342c380bf0afd69b2fc5d669a4c9bb29806b6497eb4bd43e44e5d5
BLAKE2b-256 checksum
How to use checksums
2bbb4d0db202193fd3645c0d03efa640057a7d96953f3ffb36dee0555375e77b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.10.17 Linux/6.11.0-1015-azure

Release files / mlserver_xgboost-1.7.1-py3-none-any.whl

Download URL mlserver_xgboost-1.7.1-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
53380ab4ef46085e82ff2ce34fa1a566c7b314291c26b00f0e99447ae4949820
BLAKE2b-256 checksum
How to use checksums
d3a4c2c7334f390ee80167db5213920d035054dc2384476e5be7374dafa810ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.10.17 Linux/6.11.0-1015-azure

Release history Release notifications | RSS feed

This release

1.7.1 This release

2 release files

1.7.0

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page