[PR #139] [MERGED] feat: Add MLX Manifold Pipeline #324

Closed
opened 2026-02-15 20:15:06 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/pipelines/pull/139
Author: @justinh-rahb
Created: 6/30/2024
Status: Merged
Merged: 7/3/2024
Merged by: @tjbck

Base: mainHead: mlx-manifold


📝 Commits (10+)

  • 0ed890d Add MLX Manifold Pipeline
  • 7743a40 Merge branch 'open-webui:main' into mlx-manifold
  • 72e933c Fix: more robust MLX model switching
  • 83db4c2 Remove MLX_SUBPROCESS=True option
  • f1dab7a Cleanup unused imports
  • c44fb71 Update default MLX model
  • f7ac26b cleanup: MLX valves
  • f89b61c Merge branch 'open-webui:main' into mlx-manifold
  • becb4f6 Merge branch 'open-webui:main' into mlx-manifold
  • 47de6f1 Update mlx_manifold_pipeline.py

📊 Changes

1 file changed (+211 additions, -0 deletions)

View changed files

examples/pipelines/providers/mlx_manifold_pipeline.py (+211 -0)

📄 Description

Introducing the MLX Manifold Pipeline (v2.0)

This PR introduces a significant enhancement to the MLX pipeline with the MLX Manifold Pipeline, located in a new file: mlx_manifold_pipeline.py. This new pipeline offers major improvements:

Manifold Support:

  • The pipeline automatically detects and lists all available HF models with a defined filter keyword.
  • This removes the need for manual model configuration and makes model selection easier.

Dynamic Model Loading:

  • The pipeline dynamically loads and uses the selected MLX model when run.
  • This eliminates static model definitions and allows for more flexible model experimentation and deployment.

Version 2.0:

  • This update is a major version bump (v2.0) due to the substantial changes introduced.
  • The existing MLX pipeline remains untouched to ensure backward compatibility.

Migration:

  • Users can switch to mlx_manifold_pipeline.py to use the new Manifold Pipeline, but should not run both on the same MLX backend server.

Testing:

  • The MLX Manifold Pipeline needs more thorough testing before merging, help wanted!

Using the Valves:

  • MLX Model Filter: Filter available models to show only ones matching the filter keyword.
  • MLX Default Model: Set a default model to be automatically loaded.
    • If not found locally, it will be downloaded (similar to Ollama's pull feature).
  • MLX Stop: Define stop words that will trigger the inference to end.
  • MLX Chat Template: Specify a custom chat template to use.
  • MLX Use Default Chat Template: True/False (default False)
  • HuggingFace Token: Provide your token for accessing private models.

Note: Setting an environment variable for your HuggingFace cache can point to an alternate model location, bypassing the need for the MLX Model Pattern filter.


This enhancement makes the MLX pipeline more usable and flexible, allowing users to better utilize their MLX models.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/pipelines/pull/139 **Author:** [@justinh-rahb](https://github.com/justinh-rahb) **Created:** 6/30/2024 **Status:** ✅ Merged **Merged:** 7/3/2024 **Merged by:** [@tjbck](https://github.com/tjbck) **Base:** `main` ← **Head:** `mlx-manifold` --- ### 📝 Commits (10+) - [`0ed890d`](https://github.com/open-webui/pipelines/commit/0ed890d24f6797359792e0ba9b61052dc3c9a38d) Add MLX Manifold Pipeline - [`7743a40`](https://github.com/open-webui/pipelines/commit/7743a40b4112e48d061c36b6de184d6804c788b0) Merge branch 'open-webui:main' into mlx-manifold - [`72e933c`](https://github.com/open-webui/pipelines/commit/72e933cd6b40f65e4cea349fd6e89779fca3131a) Fix: more robust MLX model switching - [`83db4c2`](https://github.com/open-webui/pipelines/commit/83db4c2035269eb4747a32bd81762db8aeed21d6) Remove `MLX_SUBPROCESS=True` option - [`f1dab7a`](https://github.com/open-webui/pipelines/commit/f1dab7a6aaac19a8646cc1608ea07738c1afc769) Cleanup unused imports - [`c44fb71`](https://github.com/open-webui/pipelines/commit/c44fb71930dec976e415448ac707485abb4839a1) Update default MLX model - [`f7ac26b`](https://github.com/open-webui/pipelines/commit/f7ac26be13e1cbece44d34a644be6e413ac1a026) cleanup: MLX valves - [`f89b61c`](https://github.com/open-webui/pipelines/commit/f89b61c8cb0b6bcb2cd552b3d4c9fd4cd1e227aa) Merge branch 'open-webui:main' into mlx-manifold - [`becb4f6`](https://github.com/open-webui/pipelines/commit/becb4f6a7537aab8cd60ddb8389ca62f4b06cefc) Merge branch 'open-webui:main' into mlx-manifold - [`47de6f1`](https://github.com/open-webui/pipelines/commit/47de6f1bb13ac99025dfd99a341c7f1b846799e7) Update mlx_manifold_pipeline.py ### 📊 Changes **1 file changed** (+211 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `examples/pipelines/providers/mlx_manifold_pipeline.py` (+211 -0) </details> ### 📄 Description ## Introducing the MLX Manifold Pipeline (v2.0) This PR introduces a significant enhancement to the MLX pipeline with the **MLX Manifold Pipeline**, located in a new file: `mlx_manifold_pipeline.py`. This new pipeline offers major improvements: **Manifold Support:** - The pipeline automatically detects and lists all available HF models with a defined filter keyword. - This removes the need for manual model configuration and makes model selection easier. **Dynamic Model Loading:** - The pipeline dynamically loads and uses the selected MLX model when run. - This eliminates static model definitions and allows for more flexible model experimentation and deployment. **Version 2.0:** - This update is a major version bump (v2.0) due to the substantial changes introduced. - The existing MLX pipeline remains untouched to ensure backward compatibility. **Migration:** - Users can switch to `mlx_manifold_pipeline.py` to use the new Manifold Pipeline, but should not run both on the same MLX backend server. **Testing:** - The MLX Manifold Pipeline needs more thorough testing before merging, help wanted! ### Using the Valves: - **MLX Model Filter:** Filter available models to show only ones matching the filter keyword. - **MLX Default Model:** Set a default model to be automatically loaded. - If not found locally, it will be downloaded (similar to Ollama's pull feature). - **MLX Stop:** Define stop words that will trigger the inference to end. - **MLX Chat Template:** Specify a custom chat template to use. - **MLX Use Default Chat Template:** True/False (default False) - **HuggingFace Token:** Provide your token for accessing private models. **Note:** Setting an environment variable for your HuggingFace cache can point to an alternate model location, bypassing the need for the MLX Model Pattern filter. --- This enhancement makes the MLX pipeline more usable and flexible, allowing users to better utilize their MLX models. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 20:15:06 -05:00
yindo closed this issue 2026-02-15 20:15:06 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/pipelines#324