This repository contains a custom pipe function for OpenWebUI that allows you to connect to a local exo LLM cluster directly from the OpenWebUI interface.
Exo is an open-source AI clustering service that allows you to run large language models (LLMs) locally. It provides a ChatGPT-compatible API endpoint that can be used with various front-ends.
This pipe function allows OpenWebUI to communicate with a locally running exo instance, enabling you to:
Download the exo_pipe.py file from this repository.
In OpenWebUI, navigate to Settings > Functions.
Click on Add Function.
Upload the exo_pipe.py file or paste its contents into the editor.
Click Save.
The "Exo LLM Pipe" should now appear in the dropdown list when creating a new chat.
The pipe comes with default settings that you can modify in the OpenWebUI interface:
Navigate to Settings > Functions.
Find "Exo LLM Pipe" in the list and click on the edit (pencil) icon.
You can modify the following settings:
exo_endpoint: The URL of your exo API endpoint (default: http://192.168.64.1:52415/v1/chat/completions)default_model: The default model to use if none is specified (default: llama-3.2-1b)max_turns: Maximum allowable conversation turns (default: 100)enable_status_indicator: Enable/disable status indicators (default: true)emit_interval: Interval between status emissions in seconds (default: 2.0)Click Save to apply your changes.
Create a new chat in OpenWebUI.
Select "Exo LLM Pipe" from the dropdown menu.
Start chatting! Your messages will be processed by your local exo instance.
If you encounter issues:
self.debug = True in the pipe code to enable detailed logging.Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Open WebUI Enterprise — White-labeling, SSO, and dedicated support for your team.