This pipe function allows OpenWebUI to communicate with a locally running exo instance, enabling you to: Chat with your local exo LLMs directly from the OpenWebUI interface Use all OpenWebUI features while running inference on your own hardware Keep your conversations private by running everything locally.
""" title: Exo Cluster OpenWebUI Pipe author: Cary Brown author_url: https://github.com/carybrown version: 0.1.2 This function defines a pipe class in OpenWeb UI that connects to a local exo cluster chatGPT compatiable endpoint. Note: Change endpoint to the URL for the exo API endpoint below to chatGPT compatiable endpoint URL provided when you run exo """ from typing import Optional, Callable, Awaitable
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.
We use optional cookies and browser storage for analytics and advertising. Accept to help us understand visits and interactions on our marketing pages. See our Privacy Policy.