This catalog connector enables Elyra to load Kubeflow Pipelines components from Machine Learning Exchange (MLX) deployments.
You can install the MLX catalog connector from PyPI or source code. Note that a rebuild of JupyterLab is not required.
Prerequisites
- Install Elyra (version 3.7 and above). This connector version does not support Elyra versions below 3.6.
- Machine Learning Exchange deployment (quickstart guide)
Install from PyPI
To install the connector from PyPI:
$ pip install mlx-component-catalog-connector
Install from source code
To install the connector from source:
$ git clone https://github.com/elyra-ai/examples.git
$ cd examples/component-catalog-connectors/mlx-connector/
$ make source-install
Run connector unit tests
To run the unit tests:
$ git clone https://github.com/elyra-ai/examples.git
$ cd examples/component-catalog-connectors/mlx-connector/
$ make test
Note: The tests don't require access to a running MLX instance.
- Launch JupyterLab.
- Open the '
Manage Components
' panel. - Add a new MLX component catalog ('
+
' > 'New Machine Learning Exchange Component Catalog
'). - Specify a catalog name, e.g. '
MLX dev catalog
'. - (Optional) Specify a category under which the catalog's components will be organized in the palette.
- Configure the
MLX API URL
, e.g. 'http://my-mlx-server.mydomain:8080/
'.Note: The Machine Learning Exchange API URL is different from the GUI URL!
- Apply an optional filter expression to the component names. The
*
(zero or more characters) and?
(zero or one character) wildcards are supported. - Save the catalog entry.
- Open the Kubeflow Pipelines Visual Pipeline Editor and expand the palette. The catalog components are displayed.
- Remove all MLX catalog entries from the '
Manage Components
' panel. - Stop JupyterLab.
- Uninstall the
mlx-component-catalog-connector
package.$ pip uninstall -y mlx-component-catalog-connector
Problem: The palette does not display any components from the configured catalog.
Solution: If the the Elyra GUI does not display any error message indicating that a problem was encountered, inspect the JupyterLab log file.
Example error message (The specified MLX URL is invalid):
Error fetching component list from MLX catalog http://localhost:8080: ... Failed to establish a new connection: [Errno 61] Connection refused'