diff --git a/docs/pipelines/actions.md b/docs/pipelines/actions.md new file mode 100644 index 0000000..667b443 --- /dev/null +++ b/docs/pipelines/actions.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 6 +title: "Actions" +--- + +# Actions +Action functions allow you to write custom buttons to the message toolbar for end users to interact with. This feature enables more interactive messaging, enabling users to grant permission before a task is performed, generate visualizations of structured data, download an audio snippet of chats, and many other use cases. An example of a graph vizualization Action can be seen in the video below. + +

+ + Graph Visualization Action + +

\ No newline at end of file diff --git a/docs/pipelines/faq.md b/docs/pipelines/faq.md new file mode 100644 index 0000000..0376e20 --- /dev/null +++ b/docs/pipelines/faq.md @@ -0,0 +1,10 @@ +--- +sidebar_position: 7 +title: "FAQ" +--- + +# FAQ +**What's the difference between Functions and Pipelines?** + +The main difference between Functions and Pipelines are that Functions are executed directly on the Open WebUI server, while Pipelines are executed on a separate server. Functions are not capable of downloading new packages in Open WebUI, meaning that you are only able to import libraries into Functions that are packaged into Open WebUI. Pipelines, on the other hand, are more extensible, enabling you to install any Python dependencies your filter or pipe could need. Pipelines also execute on a separate server, potentially reducing the load on your Open WebUI instance. + diff --git a/docs/pipelines/filters.md b/docs/pipelines/filters.md index e1b8a26..0b34c50 100644 --- a/docs/pipelines/filters.md +++ b/docs/pipelines/filters.md @@ -4,7 +4,7 @@ title: "Filters" --- # Filters -Filters are used to perform actions against incoming user messages and outgoing assistant (LLM) messages. Potential actions that can be taken in a filter include sending messages to monitoring platforms (such as Langfuse or DataDog), modifying message contents, blocking toxic messages, translating messages to another language, or rate limiting messages from certain users. A list of examples is maintained in the [Pipelines repo](https://github.com/open-webui/pipelines/tree/main/examples/filters). The general workflow can be seen in the image below. +Filters are used to perform actions against incoming user messages and outgoing assistant (LLM) messages. Potential actions that can be taken in a filter include sending messages to monitoring platforms (such as Langfuse or DataDog), modifying message contents, blocking toxic messages, translating messages to another language, or rate limiting messages from certain users. A list of examples is maintained in the [Pipelines repo](https://github.com/open-webui/pipelines/tree/main/examples/filters). Filters can be executed as a Function or on a Pipelines server. The general workflow can be seen in the image below.

diff --git a/docs/pipelines/functions.md b/docs/pipelines/functions.md new file mode 100644 index 0000000..8afa2f6 --- /dev/null +++ b/docs/pipelines/functions.md @@ -0,0 +1,17 @@ +--- +sidebar_position: 4 +title: "Functions" +--- + +# Functions +Functions enable you to utilize filters (middleware) and pipe (model) functions directly within the WebUI. While largely compatible with Pipelines, these native functions can be executed easily within Open WebUI. Example use cases for filter functions include usage monitoring, real-time translation, moderation, and automemory. For pipe functions, the scope ranges from Cohere and Anthropic integration directly within Open WebUI, enabling "Valves" for per-user OpenAI API key usage, and much more. + +Many Functions are available to use on the [Community Website](https://openwebui.com/functions) and can easily be imported into your Open WebUI instance. + +

+ + Community Functions + +

+ +While many Pipes and Filters that run on a Pipelines server can be executed as Functions, the main limitation is that Functions are unable to install new Python dependencies that are not already packaged into Open WebUI. As a result, Pipelines are more extensible than Functions, while Functions have the added benefit of executing directly on the Open WebUI server without needing a separate Pipelines server for execution. \ No newline at end of file diff --git a/docs/pipelines/pipes.md b/docs/pipelines/pipes.md index b9f32a6..0d2b9b8 100644 --- a/docs/pipelines/pipes.md +++ b/docs/pipelines/pipes.md @@ -4,10 +4,18 @@ title: "Pipes" --- # Pipes -Pipes are functions that can be used to perform actions prior to returning LLM messages to the user. Examples of potential actions you can take with Pipes are Retrieval Augmented Generation (RAG), sending requests to non-OpenAI LLM providers (such as Anthropic, Azure OpenAI, or Google), or executing functions right in your web UI. A list of examples is maintained in the [Pipelines repo](https://github.com/open-webui/pipelines/tree/main/examples/pipelines). +Pipes are functions that can be used to perform actions prior to returning LLM messages to the user. Examples of potential actions you can take with Pipes are Retrieval Augmented Generation (RAG), sending requests to non-OpenAI LLM providers (such as Anthropic, Azure OpenAI, or Google), or executing functions right in your web UI. Pipes can be hosted as a Function or on a Pipelines server. A list of examples is maintained in the [Pipelines repo](https://github.com/open-webui/pipelines/tree/main/examples/pipelines). The general workflow can be seen in the image below.

Pipe Workflow -

\ No newline at end of file +

+ +Pipes that are defined in your WebUI show up as a new model with an "External" designation attached to them. An example of two Pipe models, `Database RAG Pipeline` and `DOOM`, can be seen below next to two self-hosted models: + +

+ + Pipe Models in WebUI + +

diff --git a/docs/pipelines/tools.md b/docs/pipelines/tools.md new file mode 100644 index 0000000..77b3a63 --- /dev/null +++ b/docs/pipelines/tools.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 5 +title: "Tools" +--- + +# Tools +Tools enable many use cases for chats, including web search, web scraping, and API interactions within the chat. + +Many Tools are available to use on the [Community Website](https://openwebui.com/tools) and can easily be imported into your Open WebUI instance. \ No newline at end of file diff --git a/docs/pipelines/tutorials.md b/docs/pipelines/tutorials.md index 29cf3f6..f4b994a 100644 --- a/docs/pipelines/tutorials.md +++ b/docs/pipelines/tutorials.md @@ -1,5 +1,5 @@ --- -sidebar_position: 4 +sidebar_position: 7 title: "Tutorials" --- diff --git a/static/img/pipelines/community-functions.png b/static/img/pipelines/community-functions.png new file mode 100644 index 0000000..f3c4d2b Binary files /dev/null and b/static/img/pipelines/community-functions.png differ diff --git a/static/img/pipelines/graph-viz-action.gif b/static/img/pipelines/graph-viz-action.gif new file mode 100644 index 0000000..6f00b7a Binary files /dev/null and b/static/img/pipelines/graph-viz-action.gif differ diff --git a/static/img/pipelines/pipe-model-example.png b/static/img/pipelines/pipe-model-example.png new file mode 100644 index 0000000..c631207 Binary files /dev/null and b/static/img/pipelines/pipe-model-example.png differ