Go to file
2024-05-30 21:20:03 -07:00
.github fix 2024-05-30 20:22:14 -07:00
data feat: llamaindex example 2024-05-21 14:40:52 -07:00
docs/images doc: readme 2024-05-28 15:59:14 -07:00
pipelines/examples enh: detoxify example frontmatter 2024-05-30 21:07:43 -07:00
utils feat: filter outlet & libretranslate example 2024-05-30 02:04:07 -07:00
.gitignore Update .gitignore 2024-05-28 18:46:28 -07:00
config.py fix 2024-05-21 18:47:46 -07:00
dev.sh init 2024-05-21 14:02:44 -07:00
Dockerfile fix: docker 2024-05-30 20:42:47 -07:00
header.png refac 2024-05-27 17:37:40 -07:00
LICENSE Create LICENSE 2024-05-30 21:20:03 -07:00
main.py fix 2024-05-30 21:13:02 -07:00
README.md doc: readme 2024-05-30 02:40:25 -05:00
requirements.txt fix: tf 2024-05-30 20:01:33 -07:00
schemas.py refac 2024-05-28 11:43:40 -07:00
start.bat Added start.bat file for Windows 2024-05-24 16:46:23 -04:00
start.sh fix: start.sh 2024-05-30 21:16:20 -07:00

Pipelines Logo

Pipelines: UI-Agnostic OpenAI API Plugin Framework

Welcome to Pipelines, an Open WebUI initiative. Pipelines bring modular, customizable workflows to any UI client supporting OpenAI API specs and much more! Easily extend functionalities, integrate unique logic, and create dynamic workflows with just a few lines of code.

🚀 Why Choose Pipelines?

  • Seamless Integration: Compatible with any UI/client supporting OpenAI API specs.
  • Limitless Possibilities: Easily add custom logic and integrate Python libraries, from AI agents to home automation APIs.
  • Custom Hooks: Build and integrate custom pipelines.

🔧 How It Works

Pipelines Workflow

Integrating Pipelines with any OpenAI API-compatible UI client is simple. Launch your Pipelines instance and set the OpenAI URL on your client to the Pipelines URL. That's it! You're ready to leverage any Python library for your needs.

📂 Directory Structure and Examples

The /pipelines directory is the core of your setup. Add new modules, customize existing ones, and manage your workflows here. All the pipelines in the /pipelines directory will be automatically loaded when the server launches.

Integration Examples

Find various integration examples in the /pipelines/examples directory. These examples show how to integrate different functionalities, providing a foundation for building your own custom pipelines.

📦 Installation and Setup

Get started with Pipelines in a few steps:

  1. Ensure Python 3.11 is installed.

  2. Clone the Pipelines repository:

    git clone https://github.com/open-webui/pipelines.git
    cd pipelines
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. Start the Pipelines server:

    sh ./start.sh
    

Once the server is running, set the OpenAI URL on your client to the Pipelines URL. This unlocks the full capabilities of Pipelines, integrating any Python library and creating custom workflows tailored to your needs.

Quick Start Example

  1. Copy and paste rate_limit_filter_pipeline.py from /pipelines/examples to the /pipelines folder.

  2. Run the Pipelines server: It will be hosted at http://localhost:9099 by default.

  3. Configure Open WebUI:

    • In Open WebUI, go to Settings > Connections > OpenAI API.
    • Set the API URL to http://localhost:9099 and set the API key (default: 0p3n-w3bu!). Your filter should now be active.
  4. Adjust Settings:

    • In the admin panel, go to Admin Settings > Pipelines tab.
    • Select the filter and change the valve values directly from the WebUI.

That's it! You're now set up with Pipelines. Enjoy building customizable AI integrations effortlessly!

🎉 Work in Progress

Were continuously evolving! We'd love to hear your feedback and understand which hooks and features would best suit your use case. Feel free to reach out and become a part of our Open WebUI community!

Our vision is to push Pipelines to become the ultimate plugin framework for our AI interface, Open WebUI. Imagine Open WebUI as the WordPress of AI interfaces, with Pipelines being its diverse range of plugins. Join us on this exciting journey! 🌍