You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+44Lines changed: 44 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,8 @@
5
5
# Pipelines: UI-Agnostic OpenAI API Plugin Framework
6
6
7
7
> [!TIP]
8
+
> **DO NOT USE PIPELINES!**
9
+
>
8
10
> If your goal is simply to add support for additional providers like Anthropic or basic filters, you likely don't need Pipelines . For those cases, Open WebUI Functions are a better fit—it's built-in, much more convenient, and easier to configure. Pipelines, however, comes into play when you're dealing with computationally heavy tasks (e.g., running large models or complex logic) that you want to offload from your main Open WebUI instance for better performance and scalability.
9
11
10
12
@@ -21,6 +23,7 @@ Welcome to **Pipelines**, an [Open WebUI](https://github.com/open-webui) initiat
21
23
-[**Function Calling Pipeline**](/examples/filters/function_calling_filter_pipeline.py): Easily handle function calls and enhance your applications with custom logic.
22
24
-[**Custom RAG Pipeline**](/examples/pipelines/rag/llamaindex_pipeline.py): Implement sophisticated Retrieval-Augmented Generation pipelines tailored to your needs.
23
25
-[**Message Monitoring Using Langfuse**](/examples/filters/langfuse_filter_pipeline.py): Monitor and analyze message interactions in real-time using Langfuse.
26
+
-[**Message Monitoring Using Opik**](/examples/filters/opik_filter_pipeline.py): Monitor and analyze message interactions using Opik, an open-source platform for debugging and evaluating LLM applications and RAG systems.
24
27
-[**Rate Limit Filter**](/examples/filters/rate_limit_filter_pipeline.py): Control the flow of requests to prevent exceeding rate limits.
25
28
-[**Real-Time Translation Filter with LibreTranslate**](/examples/filters/libretranslate_filter_pipeline.py): Seamlessly integrate real-time translations into your LLM interactions.
26
29
-[**Toxic Message Filter**](/examples/filters/detoxify_filter_pipeline.py): Implement filters to detect and handle toxic messages effectively.
@@ -39,6 +42,8 @@ Integrating Pipelines with any OpenAI API-compatible UI client is simple. Launch
39
42
> [!WARNING]
40
43
> Pipelines are a plugin system with arbitrary code execution — **don't fetch random pipelines from sources you don't trust**.
41
44
45
+
### Docker
46
+
42
47
For a streamlined setup using Docker:
43
48
44
49
1.**Run the Pipelines container:**
@@ -75,6 +80,45 @@ Alternatively, you can directly install pipelines from the admin settings by cop
75
80
76
81
That's it! You're now ready to build customizable AI integrations effortlessly with Pipelines. Enjoy!
77
82
83
+
### Docker Compose together with Open WebUI
84
+
85
+
Using [Docker Compose](https://docs.docker.com/compose/) simplifies the management of multi-container Docker applications.
86
+
87
+
Here is an example configuration file `docker-compose.yaml` for setting up Open WebUI together with Pipelines using Docker Compose:
88
+
89
+
```yaml
90
+
services:
91
+
openwebui:
92
+
image: ghcr.io/open-webui/open-webui:main
93
+
ports:
94
+
- "3000:8080"
95
+
volumes:
96
+
- open-webui:/app/backend/data
97
+
98
+
pipelines:
99
+
image: ghcr.io/open-webui/pipelines:main
100
+
volumes:
101
+
- pipelines:/app/pipelines
102
+
restart: always
103
+
environment:
104
+
- PIPELINES_API_KEY=0p3n-w3bu!
105
+
106
+
volumes:
107
+
open-webui: {}
108
+
pipelines: {}
109
+
```
110
+
111
+
To start your services, run the following command:
112
+
113
+
```
114
+
docker compose up -d
115
+
```
116
+
117
+
You can then use `http://pipelines:9099` (the name is the same as the service's name defined in `docker-compose.yaml`) as an API URL to connect to Open WebUI.
118
+
119
+
> [!NOTE]
120
+
> The `pipelines` service is accessible only by `openwebui` Docker service and thus provide additional layer of security.
0 commit comments