Skip to content

Commit ea8b695

Browse files
authored
Update readme and docs
1 parent 4ac5a83 commit ea8b695

4 files changed

Lines changed: 235 additions & 41 deletions

File tree

README.md

Lines changed: 72 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,43 @@
11
# Open-WebUI-Functions
2+
![GitHub stars](https://img.shields.io/github/stars/owndev/Open-WebUI-Functions?style=social)
3+
![GitHub forks](https://img.shields.io/github/forks/owndev/Open-WebUI-Functions?style=social)
4+
![GitHub watchers](https://img.shields.io/github/watchers/owndev/Open-WebUI-Functions?style=social)
5+
![GitHub top language](https://img.shields.io/github/languages/top/owndev/Open-WebUI-Functions)
6+
![GitHub contributors](https://img.shields.io/github/contributors/owndev/Open-WebUI-Functions)
7+
![GitHub License](https://img.shields.io/github/license/owndev/Open-WebUI-Functions)
28

39
**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.
410

5-
---
611

7-
## Features
12+
## Features
813

9-
- **Custom Pipelines**: Extend Open WebUI with AI processing pipelines, including model inference and data transformations.
10-
- **Filters for Data Processing**: Apply custom filtering logic to refine, manipulate, or preprocess input and output data.
11-
- **Azure AI Support**: Seamlessly connect Open WebUI with **Azure OpenAI** and other **Azure AI** models.
12-
- **N8N Workflow Integration**: Enable interactions with [N8N](https://own.dev/n8n-io) for automation.
13-
- **Flexible Configuration**: Use environment variables to adjust function settings dynamically.
14-
- **Streaming and Non-Streaming Support**: Handle both real-time and batch processing efficiently.
15-
- **Secure API Key Management**: Automatic encryption of sensitive information like API keys.
14+
- 🧩 **Custom Pipelines**: Extend Open WebUI with AI processing pipelines, including model inference and data transformations.
1615

17-
---
16+
- 🔍 **Filters for Data Processing**: Apply custom filtering logic to refine, manipulate, or preprocess input and output data.
17+
18+
- 🤝 **Azure AI Support**: Seamlessly connect Open WebUI with **Azure OpenAI** and other **Azure AI** models.
19+
20+
- 🤝 **N8N Workflow Integration**: Enable interactions with [N8N](https://own.dev/n8n-io) for automation.
21+
22+
- 📱 **Flexible Configuration**: Use environment variables to adjust function settings dynamically.
1823

19-
## Prerequisites
24+
- 🚀 **Streaming and Non-Streaming Support**: Handle both real-time and batch processing efficiently.
25+
26+
- 🛡️ **Secure API Key Management**: Automatic encryption of sensitive information like API keys.
27+
28+
29+
## Prerequisites 🔗
2030

2131
To use these functions, ensure the following:
2232

2333
1. **An Active Open WebUI Instance**: You must have [Open WebUI](https://own.dev/github-com-open-webui-open-webui) installed and running.
34+
2435
2. **Required AI Services (if applicable)**: Some pipelines require external AI services, such as [Azure AI](https://own.dev/ai-azure-com).
36+
2537
3. **Admin Access**: To install functions in Open WebUI, you must have administrator privileges.
2638

27-
---
2839

29-
## Installation
40+
## Installation 🚀
3041

3142
To install and configure functions in Open WebUI, follow these steps:
3243

@@ -50,9 +61,8 @@ To install and configure functions in Open WebUI, follow these steps:
5061
6. **Save and Activate**:
5162
- Save the function, and it will be available for use within Open WebUI.
5263

53-
---
5464

55-
## Security Features
65+
## Security Features 🛡️
5666

5767
### API Key Encryption
5868

@@ -63,22 +73,21 @@ The functions include a built-in encryption mechanism for sensitive information:
6373
- **Transparent Usage**: The encryption/decryption happens automatically when values are accessed.
6474
- **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.
6575

66-
To enable encryption:
76+
77+
**To enable encryption:**
6778
```bash
6879
# Set this in your Open WebUI environment or .env file
6980
WEBUI_SECRET_KEY="your-secure-random-string"
7081
```
7182

72-
---
73-
74-
## Pipelines
83+
## Pipelines 🧩
7584

7685
Pipelines are processing functions that extend Open WebUI with **custom AI models**, **external integrations**, and **data manipulation logic**.
7786

7887
### **1. [Azure AI Foundry Pipeline](https://own.dev/github-owndev-open-webui-functions-azure-ai-foundry)**
7988

8089
- Enables interaction with **Azure OpenAI** and other **Azure AI** models.
81-
- Supports multiple Azure AI models selection via the `AZURE_AI_MODEL` environment variable (e.g. `gpt-4o, gpt-4o-mini`).
90+
- Supports multiple Azure AI models selection via the `AZURE_AI_MODEL` environment variable (e.g. `gpt-4o;gpt-4o-mini`).
8291
- Filters valid parameters to ensure clean requests.
8392
- Handles both streaming and non-streaming responses.
8493
- Provides configurable error handling and timeouts.
@@ -87,6 +96,8 @@ Pipelines are processing functions that extend Open WebUI with **custom AI model
8796

8897
🔗 [Azure AI Pipeline in Open WebUI](https://own.dev/openwebui-com-f-owndev-azure-ai)
8998

99+
🔗 [Learn More About Azure AI](https://own.dev/azure-microsoft-com-en-us-solutions-ai)
100+
90101

91102
### **2. [N8N Pipeline](https://own.dev/github-owndev-open-webui-functions-n8n-pipeline)**
92103

@@ -112,9 +123,8 @@ Pipelines are processing functions that extend Open WebUI with **custom AI model
112123

113124
🔗 [Learn More About Infomaniak](https://own.dev/infomaniak-com-en-hosting-ai-tools)
114125

115-
---
116126

117-
## Filters
127+
## Filters 🔍
118128

119129
Filters allow for **preprocessing and postprocessing** of data within Open WebUI.
120130

@@ -126,32 +136,53 @@ Filters allow for **preprocessing and postprocessing** of data within Open WebUI
126136
- Uses OpenAI's `tiktoken` library for token counting (only accurate for OpenAI models).
127137
- 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).
128138

129-
🔗 [How to Setup](https://own.dev/github-owndev-open-webui-functions-setup-azure-log-analytics)
130-
131139
🔗 [Time Token Tracker in Open WebUI](https://own.dev/openwebui-com-f-owndev-time-token-tracker)
132140

133-
---
141+
🔗 [How to Setup Azure Log Analytics](https://own.dev/github-owndev-open-webui-functions-setup-azure-log-analytics)
134142

135-
## Azure AI Integration
143+
## Integrations 🤝
136144

137-
The repository includes functions specifically designed for **Azure AI**, supporting both **Azure OpenAI** models and general **Azure AI** services.
145+
### Azure AI
138146

139-
### Features:
140-
- **Azure OpenAI API Support**: Access models like **GPT-4o, o3**, and **other fine-tuned AI models** via Azure.
141-
- **Azure AI Model Deployment**: Connect to **custom models** hosted on Azure AI.
142-
- **Secure API Requests**: Supports API key authentication and environment variable configurations.
147+
Look here for [Azure AI Integration](https://own.dev/github-owndev-open-webui-functions-azure-ai-integration-md).
143148

144-
### Environment Variables:
145-
For Azure AI-based functions, set the following:
146-
```bash
147-
AZURE_AI_API_KEY="your-api-key"
148-
AZURE_AI_ENDPOINT="https://your-service.openai.azure.com/chat/completions?api-version=2024-05-01-preview"
149-
AZURE_AI_MODEL="gpt-4o, gpt-4o-mini" # Optional model name, only necessary if not Azure OpenAI or if model name not in URL (e.g. "https://<your-endpoint>/openai/deployments/<model-name>/chat/completions").
150-
```
151149

152-
---
150+
### N8N
151+
152+
Look here for [N8N Integration](https://own.dev/github-owndev-open-webui-functions-n8n-integration-md).
153+
154+
155+
### Infomaniak
153156

154-
## Contribute
157+
Look here for [Infomaniak Integration](https://own.dev/github-owndev-open-webui-functions-infomaniak-integration-md).
158+
159+
160+
## Contribute 💪
155161

156162
We accept different types of contributions, including some that don't require you to write a single line of code.
157-
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).
163+
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).
164+
165+
166+
## License 📜
167+
168+
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. 📄
169+
170+
171+
## Support 💬
172+
173+
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! 🤝
174+
175+
176+
## Star History 💫
177+
178+
<a href="https://star-history.com/#owndev/Open-WebUI-Functions&Date">
179+
<picture>
180+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=owndev/Open-WebUI-Functions&type=Date&theme=dark" />
181+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=owndev/Open-WebUI-Functions&type=Date" />
182+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=owndev/Open-WebUI-Functions&type=Date" />
183+
</picture>
184+
</a>
185+
186+
---
187+
188+
Created by [owndev](https://own.dev/github) - Let's make Open WebUI even more amazing together! 💪

docs/azure-ai-integration.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Azure AI Integration
2+
3+
The repository includes functions specifically designed for **Azure AI**, supporting both **Azure OpenAI** models and general **Azure AI** services.
4+
5+
🔗 [Learn More About Azure AI](https://own.dev/azure-microsoft-com-en-us-solutions-ai)
6+
7+
8+
## Pipeline
9+
- 🧩 [Azure AI Foundry Pipeline](https://own.dev/github-owndev-open-webui-functions-azure-ai-foundry)
10+
11+
12+
### Features:
13+
14+
- **Azure OpenAI API Support**
15+
Access models like **GPT-4o, o3**, and **other fine-tuned AI models** via Azure.
16+
17+
- **Azure AI Model Deployment**
18+
Connect to **custom models** hosted on Azure AI.
19+
20+
- **Secure API Requests**
21+
Supports API key authentication and environment variable configurations.
22+
23+
24+
### Environment Variables:
25+
26+
Configure the following environment variables to enable Azure AI support:
27+
28+
```bash
29+
# API key or token for Azure AI
30+
AZURE_AI_API_KEY="your-api-key"
31+
32+
# Azure AI endpoint
33+
# Examples:
34+
# - For general Azure AI: "https://<your-endpoint>/chat/completions?api-version=2024-05-01-preview"
35+
# - For Azure OpenAI: "https://<your-endpoint>/openai/deployments/<model-name>/chat/completions?api-version=2024-08-01-preview"
36+
AZURE_AI_ENDPOINT="https://<your project>.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview"
37+
38+
# Optional: model names (if not embedded in the URL)
39+
# Supports semicolon or comma separated values: "gpt-4o;gpt-4o-mini" or "gpt-4o,gpt-4o-mini"
40+
AZURE_AI_MODEL="gpt-4o;gpt-4o-mini"
41+
42+
# If true, the model name will be included in the request body
43+
AZURE_AI_MODEL_IN_BODY=true
44+
45+
# Whether to use a predefined list of Azure AI models
46+
USE_PREDEFINED_AZURE_AI_MODELS=false
47+
48+
# If true, use "Authorization: Bearer" instead of "api-key" header
49+
AZURE_AI_USE_AUTHORIZATION_HEADER=false
50+
```
51+
52+
> [!TIP]
53+
> To use **Azure OpenAI** and other **Azure AI** models **simultaneously**, you can use the following URL: `https://<your project>.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview`

docs/infomaniak-integration.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Infomaniak AI Tools Integration
2+
3+
This integration enables Open WebUI to interact with **Infomaniak AI Tools**, using their public API for secure and scalable AI model access.
4+
5+
🔗 [Learn More About N8N](https://own.dev/n8n-io)
6+
7+
8+
## Pipeline
9+
10+
- 🧩 [Infomaniak AI Tools Pipeline](https://own.dev/github-owndev-open-webui-functions-infomaniak)
11+
12+
13+
## Features
14+
15+
- **Secure API Access**
16+
Authenticate via API key (automatically encrypted and stored securely).
17+
18+
- **Model Product Binding**
19+
Associate API requests with a specific product ID provided by Infomaniak.
20+
21+
- **Customizable API Endpoint**
22+
Define a custom base URL for regional or private deployments.
23+
24+
- **Model Name Prefixing**
25+
Automatically add a prefix to distinguish models from other providers.
26+
27+
28+
## Environment Variables
29+
30+
Set the following environment variables to enable Infomaniak AI Tools integration:
31+
32+
```bash
33+
# API key for authenticating with Infomaniak AI Tools
34+
INFOMANIAK_API_KEY="your-api-key"
35+
36+
# Product ID (default: 50070) assigned by Infomaniak
37+
INFOMANIAK_PRODUCT_ID=50070
38+
39+
# Base URL of the Infomaniak API
40+
INFOMANIAK_BASE_URL="https://api.infomaniak.com"
41+
42+
# Optional: Prefix to add before model names (e.g. for display or routing)
43+
NAME_PREFIX="Infomaniak: "
44+
```
45+
46+
> [!TIP]
47+
> You can find your API key and product ID in your [Infomaniak Manager](https://own.dev/manager-infomaniak-com).

docs/n8n-integration.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# N8N Integration
2+
3+
This integration allows Open WebUI to communicate with workflows created in **n8n**, a powerful workflow automation tool. Messages are sent and received via webhook endpoints, making it easy to plug Open WebUI into your existing automation pipelines.
4+
5+
🔗 [Learn More About N8N](https://own.dev/n8n-io)
6+
7+
8+
## Pipeline
9+
- 🧩 [N8N Pipeline](https://own.dev/github-owndev-open-webui-functions-n8n-pipeline)
10+
11+
12+
## Template Workflow
13+
14+
- 🧩 [N8N Open WebUI Test Agent (Template)](https://own.dev/github-owndev-open-webui-functions-open-webui-test-agent)
15+
16+
17+
## Features
18+
19+
- **Webhook Communication**
20+
Send messages directly to an n8n workflow via a webhook URL.
21+
22+
- **Token-Based Authentication**
23+
Secure access to your n8n webhook using a Bearer token or Cloudflare Access tokens.
24+
25+
- **Flexible Input/Output Mapping**
26+
Customize which fields in the request/response payload are used for communication.
27+
28+
- **Live Status Feedback**
29+
Optionally emit status updates at a configurable interval.
30+
31+
32+
## Environment Variables
33+
34+
Set the following environment variables to enable n8n integration:
35+
36+
```bash
37+
# n8n webhook endpoint
38+
# Example: "https://n8n.yourdomain.com/webhook/openwebui-agent"
39+
N8N_URL="https://<your-endpoint>/webhook/<your-webhook>"
40+
41+
# Optional: Bearer token for secure access
42+
N8N_BEARER_TOKEN="your-bearer-token"
43+
44+
# Payload input field (used by Open WebUI to send messages)
45+
INPUT_FIELD="chatInput"
46+
47+
# Payload output field (used by Open WebUI to read the response)
48+
RESPONSE_FIELD="output"
49+
50+
# Interval (in seconds) between emitting status updates to the UI
51+
EMIT_INTERVAL=2.0
52+
53+
# Enable or disable live status indicators
54+
ENABLE_STATUS_INDICATOR=true
55+
56+
# Optional: Cloudflare Access tokens (if behind Cloudflare Zero Trust)
57+
CF_ACCESS_CLIENT_ID="your-cloudflare-access-client-id"
58+
CF_ACCESS_CLIENT_SECRET="your-cloudflare-access-client-secret"
59+
```
60+
61+
> [!TIP]
62+
> If your n8n instance is protected behind Cloudflare Zero Trust, you can use service tokens for authentication.
63+
> Learn more: [Cloudflare Access Service Tokens](https://own.dev/developers-cloudflare-com-cloudflare-one-identity-service-tokens)

0 commit comments

Comments
 (0)