diff --git a/.github/workflows/helm-test-open-webui.yml b/.github/workflows/helm-test-open-webui.yml index 0c4c29c..68d7708 100644 --- a/.github/workflows/helm-test-open-webui.yml +++ b/.github/workflows/helm-test-open-webui.yml @@ -26,6 +26,7 @@ jobs: helm repo add open-webui https://helm.openwebui.com/ helm repo add tika https://apache.jfrog.io/artifactory/tika/ helm repo add bitnami https://charts.bitnami.com/bitnami + helm repo add milvus https://zilliztech.github.io/milvus-helm - name: Build open-webui Helm dependencies run: | @@ -59,6 +60,7 @@ jobs: helm repo add open-webui https://helm.openwebui.com/ helm repo add tika https://apache.jfrog.io/artifactory/tika/ helm repo add bitnami https://charts.bitnami.com/bitnami + helm repo add milvus https://zilliztech.github.io/milvus-helm - name: Build open-webui Helm dependencies run: | diff --git a/charts/open-webui/Chart.lock b/charts/open-webui/Chart.lock index 5f37d9b..3e1e99b 100644 --- a/charts/open-webui/Chart.lock +++ b/charts/open-webui/Chart.lock @@ -10,9 +10,12 @@ dependencies: version: 2.9.0 - name: redis repository: https://charts.bitnami.com/bitnami - version: 20.11.5 + version: 20.12.1 - name: postgresql repository: https://charts.bitnami.com/bitnami version: 16.6.3 -digest: sha256:6da6a7bae03aba138c247775a786c0f459bdd9360db8980b0a5ffdea0fb88a5d -generated: "2025-04-13T03:03:27.462575+02:00" +- name: milvus + repository: https://zilliztech.github.io/milvus-helm + version: 4.2.45 +digest: sha256:b3b1719be74c19ed412d1dc73f60e0eb5e462e36c59f41cf3a88040c1ed3681d +generated: "2025-04-17T15:05:19.674229+02:00" diff --git a/charts/open-webui/Chart.yaml b/charts/open-webui/Chart.yaml index 5a61445..ec057e1 100644 --- a/charts/open-webui/Chart.yaml +++ b/charts/open-webui/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: open-webui -version: 6.4.0 +version: 6.5.0 appVersion: 0.6.5 home: https://www.openwebui.com/ icon: >- @@ -48,3 +48,7 @@ dependencies: version: '>=15.5.38' alias: postgresql condition: postgresql.enabled + - name: milvus + repository: https://zilliztech.github.io/milvus-helm + version: '>=4.2.40' + condition: milvus.enabled diff --git a/charts/open-webui/README.md b/charts/open-webui/README.md index 50acb74..9c17ba6 100644 --- a/charts/open-webui/README.md +++ b/charts/open-webui/README.md @@ -1,6 +1,6 @@ # open-webui -![Version: 6.4.0](https://img.shields.io/badge/Version-6.4.0-informational?style=flat-square) ![AppVersion: 0.6.5](https://img.shields.io/badge/AppVersion-0.6.5-informational?style=flat-square) +![Version: 6.5.0](https://img.shields.io/badge/Version-6.5.0-informational?style=flat-square) ![AppVersion: 0.6.5](https://img.shields.io/badge/AppVersion-0.6.5-informational?style=flat-square) Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋 @@ -38,6 +38,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 @@ -134,6 +135,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. | @@ -169,6 +175,10 @@ helm upgrade --install open-webui open-webui/open-webui | podLabels | object | `{}` | | | podSecurityContext | object | `{}` | Configure pod security context ref: | | postgresql | object | `{"architecture":"standalone","auth":{"database":"open-webui","password":"0p3n-w3bu!","postgresPassword":"0p3n-w3bu!","username":"open-webui"},"enabled":false,"fullnameOverride":"open-webui-postgres","primary":{"persistence":{"size":"1Gi"},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"250m","memory":"256Mi"}}}}` | Postgresql configuration (see. https://artifacthub.io/packages/helm/bitnami/postgresql) | +| 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: | | 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 | diff --git a/charts/open-webui/templates/workload-manager.yaml b/charts/open-webui/templates/workload-manager.yaml index 94b3b17..082c8c8 100644 --- a/charts/open-webui/templates/workload-manager.yaml +++ b/charts/open-webui/templates/workload-manager.yaml @@ -267,6 +267,28 @@ spec: {{- end }} {{- end }} {{- 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 }} diff --git a/charts/open-webui/values.yaml b/charts/open-webui/values.yaml index d44c163..e101f18 100644 --- a/charts/open-webui/values.yaml +++ b/charts/open-webui/values.yaml @@ -111,6 +111,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