Merge pull request #190 from jyje/issue-184/add-milvus

feat(charts/open-webui): add the Milvus chart for RAG
This commit is contained in:
James W. 2025-03-09 20:06:43 -06:00 committed by GitHub
commit b2d58a724e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 131 additions and 5 deletions

View File

@ -30,6 +30,7 @@ jobs:
helm repo add open-webui https://helm.openwebui.com/
helm repo add tika https://apache.jfrog.io/artifactory/tika/
helm repo add redis https://charts.bitnami.com/bitnami
helm repo add milvus https://zilliztech.github.io/milvus-helm
- name: Build open-webui Helm dependencies
run: |
helm dependency build ./charts/open-webui

View File

@ -10,6 +10,9 @@ dependencies:
version: 2.9.0
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 20.9.0
digest: sha256:d94d9a3b5d723c49a041c006020f0e935e9b61c1070c40310c0974386114b718
generated: "2025-02-26T06:40:17.918812+09:00"
version: 20.10.0
- name: milvus
repository: https://zilliztech.github.io/milvus-helm
version: 4.2.40
digest: sha256:b9597e9cf5f89874a3c345562085ac3ba972b98ccf1b5e64425de0c17ec359f5
generated: "2025-02-28T22:43:15.040921+09:00"

View File

@ -1,6 +1,6 @@
apiVersion: v2
name: open-webui
version: 5.20.0
version: 5.21.0
appVersion: 0.5.16
home: https://www.openwebui.com/
icon: >-
@ -43,3 +43,7 @@ dependencies:
version: '>=20.6.2'
alias: redis-cluster
condition: redis-cluster.enabled
- name: milvus
repository: https://zilliztech.github.io/milvus-helm
version: '>=4.2.40'
condition: milvus.enabled

View File

@ -1,6 +1,6 @@
# open-webui
![Version: 5.20.0](https://img.shields.io/badge/Version-5.20.0-informational?style=flat-square) ![AppVersion: 0.5.16](https://img.shields.io/badge/AppVersion-0.5.16-informational?style=flat-square)
![Version: 5.21.0](https://img.shields.io/badge/Version-5.21.0-informational?style=flat-square) ![AppVersion: 0.5.16](https://img.shields.io/badge/AppVersion-0.5.16-informational?style=flat-square)
Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋
@ -37,6 +37,7 @@ helm upgrade --install open-webui open-webui/open-webui
| https://charts.bitnami.com/bitnami | redis-cluster(redis) | >=20.6.2 |
| https://helm.openwebui.com | pipelines | >=0.0.1 |
| https://otwld.github.io/ollama-helm/ | ollama | >=0.24.0 |
| https://zilliztech.github.io/milvus-helm | milvus | >=4.2.40 |
## Values
@ -64,6 +65,11 @@ helm upgrade --install open-webui open-webui/open-webui
| managedCertificate.domains[0] | string | `"chat.example.com"` | |
| managedCertificate.enabled | bool | `false` | |
| managedCertificate.name | string | `"mydomain-chat-cert"` | |
| milvus.db | string | `"default"` | Active Milvus database for RAG with env `MILVUS_DB` ref: https://docs.openwebui.com/getting-started/env-configuration#milvus_db |
| milvus.enabled | bool | `false` | Enable Milvus installation. Deploys a Milvus cluster/standalone with subchart 'milvus' from zilliztech ref: https://github.com/zilliztech/milvus-helm/tree/master/charts/milvus |
| milvus.fullnameOverride | string | `"open-webui-milvus"` | Milvus fullname override (recommended to be 'open-webui-milvus') - In this case, the Milvus uri will be 'http://[username:password@]open-webui-milvus:19530' |
| milvus.token | object | `{}` | Active Milvus token for RAG with env `MILVUS_TOKEN` ref: https://docs.openwebui.com/getting-started/env-configuration#milvus_token |
| milvus.uri | string | `"http://open-webui-milvus:19530"` | Active Milvus URI for RAG with env `MILVUS_URI`. If there is credentials in the uri, it will be used to connect to the Milvus server. ref: https://docs.openwebui.com/getting-started/env-configuration#milvus_uri |
| nameOverride | string | `""` | |
| namespaceOverride | string | `""` | |
| nodeSelector | object | `{}` | Node labels for pod assignment. |
@ -87,6 +93,10 @@ helm upgrade --install open-webui open-webui/open-webui
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | Configure pod security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> |
| rag.embeddingEngine | string | `""` | Embedding engine to use for RAG with env `RAG_EMBEDDING_ENGINE`: ""(empty), "ollama", "openai" ref: https://docs.openwebui.com/getting-started/env-configuration#rag_embedding_engine |
| rag.embeddingModel | string | `""` | Embedding model to use for RAG with env `RAG_EMBEDDING_MODEL` ref: https://docs.openwebui.com/getting-started/env-configuration#rag_embedding_model |
| rag.enabled | bool | `false` | Enable RAG ref: https://docs.openwebui.com/getting-started/env-configuration#retrieval-augmented-generation-rag |
| rag.vectorDB | string | `""` | Vector database configuration ref: https://docs.openwebui.com/getting-started/env-configuration#vector_db |
| readinessProbe | object | `{}` | Probe for readiness of the Open WebUI container ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes> |
| redis-cluster | object | `{"auth":{"enabled":false},"enabled":false,"fullnameOverride":"open-webui-redis","replica":{"replicaCount":3}}` | Deploys a Redis cluster with subchart 'redis' from bitnami |
| redis-cluster.auth | object | `{"enabled":false}` | Redis Authentication |

Binary file not shown.

Binary file not shown.

View File

@ -141,6 +141,28 @@ spec:
- name: "ENABLE_OPENAI_API"
value: "False"
{{- end }}
{{- if .Values.rag.enabled }}
- name: "VECTOR_DB"
value: {{ .Values.rag.vectorDB | default "croma" | quote }}
{{- if and .Values.rag.enabled .Values.rag.embeddingEngine }}
- name: "RAG_EMBEDDING_ENGINE"
value: {{ .Values.rag.embeddingEngine | quote }}
{{- end }}
{{- if and .Values.rag.enabled .Values.rag.embeddingModel }}
- name: "RAG_EMBEDDING_MODEL"
value: {{ .Values.rag.embeddingModel | quote }}
{{- end }}
{{- end }}
{{- if .Values.milvus.enabled }}
- name: "MILVUS_URI"
value: {{ .Values.milvus.uri | default "${DATA_DIR}/vector_db/milvus.db" | quote }}
- name: "MILVUS_DB"
value: {{ .Values.milvus.db | default "default" | quote }}
{{- if and .Values.milvus.enabled .Values.milvus.token }}
- name: "MILVUS_TOKEN"
value: {{ .Values.milvus.token | quote }}
{{- end }}
{{- end }}
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}
{{- end }}

View File

@ -0,0 +1,53 @@
rag:
# -- Enable RAG
# ref: https://docs.openwebui.com/getting-started/env-configuration#retrieval-augmented-generation-rag
enabled: true
vectorDB: milvus
embeddingEngine: ""
embeddingModel: ""
milvus:
# -- Enable Milvus installation. Deploys a Milvus cluster/standalone with subchart 'milvus' from zilliztech
# ref: https://github.com/zilliztech/milvus-helm/tree/master/charts/milvus
enabled: true
uri: "http://open-webui-milvus:19530"
db: default
token: {}
cluster:
enabled: false # This means that the Milvus runs with standalone mode
minio:
enabled: true
resources:
requests:
memory: 50Mi
persistence:
enabled: true
size: 1Gi
etcd:
enabled: true
pulsar:
enabled: false
pulsarv3:
enabled: false
kafka:
enabled: false
externalS3:
enabled: false
externalEtcd:
enabled: false
livenessProbe:
httpGet:
path: /health
port: http
readinessProbe:
httpGet:
path: /health/db
port: http
startupProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 30 # Adjust this value according to the startup time of the application
periodSeconds: 10 # Adjust this value according to the startup time of the application
failureThreshold: 20 # Adjust this value according to the startup time of the application

View File

@ -106,6 +106,39 @@ redis-cluster:
# -- Number of Redis replica instances
replicaCount: 3
rag:
# -- Enable RAG
# ref: https://docs.openwebui.com/getting-started/env-configuration#retrieval-augmented-generation-rag
enabled: false
# -- Vector database configuration
# ref: https://docs.openwebui.com/getting-started/env-configuration#vector_db
vectorDB: ""
# -- Embedding engine to use for RAG with env `RAG_EMBEDDING_ENGINE`: ""(empty), "ollama", "openai"
# ref: https://docs.openwebui.com/getting-started/env-configuration#rag_embedding_engine
embeddingEngine: ""
# -- Embedding model to use for RAG with env `RAG_EMBEDDING_MODEL`
# ref: https://docs.openwebui.com/getting-started/env-configuration#rag_embedding_model
embeddingModel: ""
milvus:
# -- Enable Milvus installation. Deploys a Milvus cluster/standalone with subchart 'milvus' from zilliztech
# ref: https://github.com/zilliztech/milvus-helm/tree/master/charts/milvus
enabled: false
# -- Milvus fullname override (recommended to be 'open-webui-milvus')
# - In this case, the Milvus uri will be 'http://[username:password@]open-webui-milvus:19530'
fullnameOverride: open-webui-milvus
# -- Active Milvus URI for RAG with env `MILVUS_URI`. If there is credentials in the uri, it will be used to connect to the Milvus server.
# ref: https://docs.openwebui.com/getting-started/env-configuration#milvus_uri
uri: "http://open-webui-milvus:19530"
# -- Example `milvus.uri` with credentials (Not recommended for production. Use `env` with `secretKeyRef` instead)
# uri: "http://username:password@open-webui-milvus:19530"
# -- Active Milvus database for RAG with env `MILVUS_DB`
# ref: https://docs.openwebui.com/getting-started/env-configuration#milvus_db
db: default
# -- Active Milvus token for RAG with env `MILVUS_TOKEN`
# ref: https://docs.openwebui.com/getting-started/env-configuration#milvus_token
token: {}
# -- Value of cluster domain
clusterDomain: cluster.local