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
**Open-WebUI-Functions** is a collection of Python-based functions designed to extend the capabilities of [Open WebUI](https://own.dev/github-com-open-webui-open-webui) with additional **pipelines**, **filters**, and **integrations**. These functions allow users to interact with various AI models, process data efficiently, and customize the Open WebUI experience.
10
-
11
-
<br>
10
+
**Open-WebUI-Functions** is a collection of Python-based functions designed to extend the capabilities of [Open WebUI](https://github.com/open-webui/open-webui) with additional **pipelines**, **filters**, and **integrations**. These functions allow users to interact with various AI models, process data efficiently, and customize the Open WebUI experience.
12
11
13
12
## Features ⭐
14
13
@@ -18,28 +17,24 @@
18
17
19
18
- 🤝 **Azure AI Support**: Seamlessly connect Open WebUI with **Azure OpenAI** and other **Azure AI** models.
20
19
21
-
- 🤝 **N8N Workflow Integration**: Enable interactions with [N8N](https://own.dev/n8n-io) for automation.
20
+
- 🤝 **N8N Workflow Integration**: Enable interactions with [N8N](https://n8n.io/) for automation.
22
21
23
22
- 📱 **Flexible Configuration**: Use environment variables to adjust function settings dynamically.
24
23
25
24
- 🚀 **Streaming and Non-Streaming Support**: Handle both real-time and batch processing efficiently.
26
25
27
26
- 🛡️ **Secure API Key Management**: Automatic encryption of sensitive information like API keys.
28
27
29
-
<br>
30
-
31
28
## Prerequisites 🔗
32
29
33
30
To use these functions, ensure the following:
34
31
35
-
1.**An Active Open WebUI Instance**: You must have [Open WebUI](https://own.dev/github-com-open-webui-open-webui) installed and running.
32
+
1.**An Active Open WebUI Instance**: You must have [Open WebUI](https://github.com/open-webui/open-webui) installed and running.
36
33
37
-
2.**Required AI Services (if applicable)**: Some pipelines require external AI services, such as [Azure AI](https://own.dev/ai-azure-com).
34
+
2.**Required AI Services (if applicable)**: Some pipelines require external AI services, such as [Azure AI](https://ai.azure.com/).
38
35
39
36
3.**Admin Access**: To install functions in Open WebUI, you must have administrator privileges.
40
37
41
-
<br>
42
-
43
38
## Installation 🚀
44
39
45
40
To install and configure functions in Open WebUI, follow these steps:
@@ -59,13 +54,11 @@ To install and configure functions in Open WebUI, follow these steps:
59
54
60
55
5.**Set Environment Variables (if required)**:
61
56
- Some functions require API keys or specific configurations via environment variables.
62
-
- Set [WEBUI_SECRET_KEY](https://own.dev/docs-openwebui-com-getting-started-env-configuration-webui-secret-key) for secure encryption of sensitive API keys.
57
+
- Set [WEBUI_SECRET_KEY](https://docs.openwebui.com/getting-started/env-configuration/#webui_secret_key) for secure encryption of sensitive API keys.
63
58
64
59
6.**Save and Activate**:
65
60
- Save the function, and it will be available for use within Open WebUI.
66
61
67
-
<br>
68
-
69
62
## Security Features 🛡️
70
63
71
64
### API Key Encryption
@@ -75,22 +68,20 @@ The functions include a built-in encryption mechanism for sensitive information:
75
68
-**Automatic Encryption**: API keys and other sensitive data are automatically encrypted when stored.
76
69
-**Encrypted Storage**: Values are stored with an "encrypted:" prefix followed by the encrypted data.
77
70
-**Transparent Usage**: The encryption/decryption happens automatically when values are accessed.
78
-
-**No Configuration Required**: Works out-of-the-box when [WEBUI_SECRET_KEY](https://own.dev/docs-openwebui-com-getting-started-env-configuration-webui-secret-key) is set.
79
-
71
+
-**No Configuration Required**: Works out-of-the-box when [WEBUI_SECRET_KEY](https://docs.openwebui.com/getting-started/env-configuration/#webui_secret_key) is set.
80
72
81
73
**To enable encryption:**
74
+
82
75
```bash
83
76
# Set this in your Open WebUI environment or .env file
84
77
WEBUI_SECRET_KEY="your-secure-random-string"
85
78
```
86
79
87
-
<br>
88
-
89
80
## Pipelines 🧩
90
81
91
82
Pipelines are processing functions that extend Open WebUI with **custom AI models**, **external integrations**, and **data manipulation logic**.
92
83
93
-
### **1. [Azure AI Foundry Pipeline](https://own.dev/github-owndev-open-webui-functions-azure-ai-foundry)**
84
+
### **1. [Azure AI Foundry Pipeline](./pipelines/azure/azure_ai_foundry.py)**
94
85
95
86
- Enables interaction with **Azure OpenAI** and other **Azure AI** models.
96
87
- Supports multiple Azure AI models selection via the `AZURE_AI_MODEL` environment variable (e.g. `gpt-4o;gpt-4o-mini`).
@@ -100,112 +91,95 @@ Pipelines are processing functions that extend Open WebUI with **custom AI model
100
91
- Predefined models for easy access.
101
92
- Supports encryption of sensitive information like API keys.
102
93
103
-
🔗 [Azure AI Pipeline in Open WebUI](https://own.dev/openwebui-com-f-owndev-azure-ai)
94
+
🔗 [Azure AI Pipeline in Open WebUI](https://openwebui.com/f/owndev/azure_ai)
104
95
105
-
🔗 [Learn More About Azure AI](https://own.dev/azure-microsoft-com-en-us-solutions-ai)
96
+
🔗 [Learn More About Azure AI](https://azure.microsoft.com/en-us/solutions/ai)
- Integrates **Open WebUI** with **N8N**, an automation and workflow platform.
112
101
- Sends messages from Open WebUI to an **N8N webhook**.
113
102
- Supports real-time message processing with dynamic field handling.
114
103
- Enables automation of AI-generated responses within an **N8N workflow**.
115
104
- Supports encryption of sensitive information like API keys.
116
-
- Here is an example [N8N workflow](https://own.dev/github-owndev-open-webui-functions-open-webui-test-agent) for [N8N Pipeline](https://own.dev/github-owndev-open-webui-functions-n8n-pipeline)
117
-
118
-
🔗 [N8N Pipeline in Open WebUI](https://own.dev/openwebui-com-f-owndev-n8n-pipeline)
105
+
- Here is an example [N8N workflow](./pipelines/n8n/Open_WebUI_Test_Agent.json) for [N8N Pipeline](./pipelines/n8n/n8n.py)
119
106
120
-
🔗 [Learn More About N8N](https://own.dev/n8n-io)
107
+
🔗 [N8N Pipeline in Open WebUI](https://openwebui.com/f/owndev/n8n_pipeline)
- Measures **response time** and **token usage** for AI interactions.
160
144
- Supports tracking of **total token usage** and **per-message token counts**.
161
145
- Can calculate token usage for all messages or only a subset.
162
146
- Uses OpenAI's `tiktoken` library for token counting (only accurate for OpenAI models).
163
-
- Optional: Can send logs to [Azure Log Analytics Workspace](https://own.dev/learn-microsoft-com-en-us-azure-azure-monitor-logs-log-analytics-workspace-overview).
164
-
165
-
🔗 [Time Token Tracker in Open WebUI](https://own.dev/openwebui-com-f-owndev-time-token-tracker)
147
+
- Optional: Can send logs to [Azure Log Analytics Workspace](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-workspace-overview).
166
148
167
-
🔗 [How to Setup Azure Log Analytics](https://own.dev/github-owndev-open-webui-functions-setup-azure-log-analytics)
149
+
🔗 [Time Token Tracker in Open WebUI](https://openwebui.com/f/owndev/time_token_tracker)
168
150
169
-
<br>
151
+
🔗 [How to Setup Azure Log Analytics](./docs/setup-azure-log-analytics.md)
170
152
171
153
## Integrations 🤝
172
154
173
155
### Azure AI
174
156
175
-
Look here for [Azure AI Integration](https://own.dev/github-owndev-open-webui-functions-azure-ai-integration-md).
176
-
157
+
Look here for [Azure AI Integration](./docs/azure-ai-integration.md).
177
158
178
159
### N8N
179
160
180
-
Look here for [N8N Integration](https://own.dev/github-owndev-open-webui-functions-n8n-integration-md).
181
-
161
+
Look here for [N8N Integration](./docs/n8n-integration.md).
182
162
183
163
### Infomaniak
184
164
185
-
Look here for [Infomaniak Integration](https://own.dev/github-owndev-open-webui-functions-infomaniak-integration-md).
186
-
165
+
Look here for [Infomaniak Integration](./docs/infomaniak-integration.md).
187
166
188
167
### Google
189
168
190
-
Look here for [Google Gemini Integration](https://own.dev/github-owndev-open-webui-functions-google-gemini-integration-md).
191
-
192
-
<br>
169
+
Look here for [Google Gemini Integration](./docs/google-gemini-integration.md).
193
170
194
171
## Contribute 💪
195
172
196
-
We accept different types of contributions, including some that don't require you to write a single line of code.
173
+
We accept different types of contributions, including some that don't require you to write a single line of code.
197
174
For detailed instructions on how to get started with our project, see [about contributing to Open-WebUI-Functions](https://own.dev/github-owndev-open-webui-functions-contributing).
198
175
199
-
200
176
## License 📜
201
177
202
-
This project is licensed under the [Apache License 2.0](https://own.dev/github-owndev-open-webui-functions-license) - see the [LICENSE](https://own.dev/github-owndev-open-webui-functions-license) file for details. 📄
203
-
178
+
This project is licensed under the [Apache License 2.0](./LICENSE) - see the [LICENSE](./LICENSE) file for details. 📄
204
179
205
180
## Support 💬
206
181
207
-
If you have any questions, suggestions, or need assistance, please open an [issue](https://own.dev/github-owndev-open-webui-functions-issues-new) to connect with us! 🤝
208
-
182
+
If you have any questions, suggestions, or need assistance, please open an [issue](../../issues/new/choose) to connect with us! 🤝
209
183
210
184
## Star History 💫
211
185
@@ -219,4 +193,4 @@ If you have any questions, suggestions, or need assistance, please open an [issu
219
193
220
194
---
221
195
222
-
Created by [owndev](https://own.dev/github) - Let's make Open WebUI even more amazing together! 💪
196
+
Created by [owndev](https://own.dev/github) - Let's make Open WebUI even more amazing together! 💪
0 commit comments