Skip to content

Commit 91abf71

Browse files
authored
Merge pull request #264 from weaviate/add-support-for-google-modules
Add support for Google modules
2 parents fc97173 + c7a7656 commit 91abf71

File tree

5 files changed

+100
-6
lines changed

5 files changed

+100
-6
lines changed

.cicd/test.sh

+4
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ function check_creates_template() {
134134
check_modules "--set modules.generative-palm.enabled=true" "value: generative-palm"
135135
check_modules "--set modules.text2vec-palm.enabled=true --set modules.text2vec-palm.apiKey=apiKey --set modules.generative-palm.enabled=true --set modules.generative-palm.apiKey=apiKey" "value: generative-palm,text2vec-palm"
136136
check_modules "--set modules.generative-palm.enabled=true --set modules.generative-palm.apiKey=apiKey" "value: generative-palm"
137+
check_modules "--set modules.text2vec-google.enabled=true" "value: text2vec-google"
138+
check_modules "--set modules.generative-google.enabled=true" "value: generative-google"
139+
check_modules "--set modules.text2vec-google.enabled=true --set modules.text2vec-google.apiKey=apiKey --set modules.generative-google.enabled=true --set modules.generative-google.apiKey=apiKey" "value: generative-google,text2vec-google"
140+
check_modules "--set modules.generative-google.enabled=true --set modules.generative-google.apiKey=apiKey" "value: generative-google"
137141
check_modules "--set modules.text2vec-contextionary.enabled=false --set modules.reranker-transformers.enabled=true" "value: reranker-transformers"
138142
check_modules "--set modules.text2vec-contextionary.enabled=true --set modules.text-spellcheck.enabled=true --set modules.reranker-transformers.enabled=true" "value: text2vec-contextionary,text-spellcheck,reranker-transformers"
139143
check_modules "--set modules.text2vec-gpt4all.enabled=true" "value: text2vec-gpt4all"

weaviate/templates/_helpers.tpl

+9
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
{{- if (index .Values "modules" "generative-palm" "enabled") -}}
3030
{{ $modules = append $modules "generative-palm" }}
3131
{{- end -}}
32+
{{- if (index .Values "modules" "generative-google" "enabled") -}}
33+
{{ $modules = append $modules "generative-google" }}
34+
{{- end -}}
3235
{{- if (index .Values "modules" "generative-aws" "enabled") -}}
3336
{{ $modules = append $modules "generative-aws" }}
3437
{{- end -}}
@@ -74,6 +77,9 @@
7477
{{- if (index .Values "modules" "multi2vec-palm" "enabled") -}}
7578
{{ $modules = append $modules "multi2vec-palm" }}
7679
{{- end -}}
80+
{{- if (index .Values "modules" "multi2vec-google" "enabled") -}}
81+
{{ $modules = append $modules "multi2vec-google" }}
82+
{{- end -}}
7783
{{- if (index .Values "modules" "text2vec-openai" "enabled") -}}
7884
{{ $modules = append $modules "text2vec-openai" }}
7985
{{- end -}}
@@ -86,6 +92,9 @@
8692
{{- if (index .Values "modules" "text2vec-palm" "enabled") -}}
8793
{{ $modules = append $modules "text2vec-palm" }}
8894
{{- end -}}
95+
{{- if (index .Values "modules" "text2vec-google" "enabled") -}}
96+
{{ $modules = append $modules "text2vec-google" }}
97+
{{- end -}}
8998
{{- if (index .Values "modules" "text2vec-jinaai" "enabled") -}}
9099
{{ $modules = append $modules "text2vec-jinaai" }}
91100
{{- end -}}
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{{- $t2vGoogle := and (index .Values "modules" "text2vec-google" "enabled") (index .Values "modules" "text2vec-google" "apiKey") -}}
2+
{{- $generativeGoogle := and (index .Values "modules" "generative-google" "enabled") (index .Values "modules" "generative-google" "apiKey") }}
3+
{{- $m2vGoogle := and (index .Values "modules" "multi2vec-google" "enabled") (index .Values "modules" "multi2vec-google" "apiKey") -}}
4+
{{- $google := or ($t2vGoogle) ($generativeGoogle) ($m2vGoogle) }}
5+
{{- if $google }}
6+
7+
{{- $apiKeys := list }}
8+
{{- if $t2vGoogle }}
9+
{{- $apiKeys = append $apiKeys (index .Values "modules" "text2vec-google" "apiKey") -}}
10+
{{- end }}
11+
{{- if $generativeGoogle }}
12+
{{- $apiKeys = append $apiKeys (index .Values "modules" "generative-google" "apiKey") -}}
13+
{{- end }}
14+
{{- if $m2vGoogle }}
15+
{{- $apiKeys = append $apiKeys (index .Values "modules" "multi2vec-google" "apiKey") -}}
16+
{{- end }}
17+
18+
{{- if gt (len ($apiKeys | uniq)) 1 -}}
19+
{{- fail "Google modules activated, but their keys differ. Use the same key on all activated Google modules." }}
20+
{{- end }}
21+
22+
apiVersion: v1
23+
kind: Secret
24+
metadata:
25+
name: weaviate-google
26+
labels:
27+
app.kubernetes.io/name: weaviate
28+
app.kubernetes.io/managed-by: {{ .Release.Service }}
29+
type: Opaque
30+
data:
31+
{{- if (index .Values "modules" "generative-google" "apiKey") }}
32+
apiKey: {{ index .Values "modules" "generative-google" "apiKey" | b64enc }}
33+
{{- else if (index .Values "modules" "multi2vec-google" "apiKey") }}
34+
apiKey: {{ index .Values "modules" "multi2vec-google" "apiKey" | b64enc }}
35+
{{- else }}
36+
apiKey: {{ index .Values "modules" "text2vec-google" "apiKey" | b64enc }}
37+
{{- end }}
38+
{{ end }}

weaviate/templates/weaviateStatefulset.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,13 @@ spec:
232232
name: weaviate-palm
233233
key: apiKey
234234
{{- end }}
235+
{{- if or (and (index .Values "modules" "text2vec-google" "enabled") (index .Values "modules" "text2vec-google" "apiKey")) (and (index .Values "modules" "generative-google" "enabled") (index .Values "modules" "generative-google" "apiKey")) (and (index .Values "modules" "multi2vec-google" "enabled") (index .Values "modules" "multi2vec-google" "apiKey")) }}
236+
- name: GOOGLE_APIKEY
237+
valueFrom:
238+
secretKeyRef:
239+
name: weaviate-google
240+
key: apiKey
241+
{{- end }}
235242
{{- if or (and (index .Values "modules" "text2vec-jinaai" "enabled") (index .Values "modules" "text2vec-jinaai" "apiKey")) (and (index .Values "modules" "reranker-jinaai" "enabled") (index .Values "modules" "reranker-jinaai" "apiKey")) }}
236243
- name: JINAAI_APIKEY
237244
valueFrom:

weaviate/values.yaml

+42-6
Original file line numberDiff line numberDiff line change
@@ -917,11 +917,23 @@ modules:
917917
# an environment variable
918918
apiKey: ''
919919

920-
# The text2vec-palm module uses Google PaLM Embeddings API
920+
# The text2vec-google module uses Google Embeddings API
921921
# to dynamically compute vector embeddings based on the
922922
# sentence's context.
923-
# More information about Google PaLM Embeddings API can be found here:
923+
# More information about Google Embeddings API can be found here:
924924
# https://developers.generativeai.google/
925+
text2vec-google:
926+
927+
# enable if you want to use Google module
928+
enabled: false
929+
930+
# Set your Google API Key to be passed to Weaviate pod as
931+
# an environment variable
932+
apiKey: ''
933+
934+
# Deprecated setting, please use text2vec-google instead
935+
#
936+
# This setting will be removed with charts version 20.
925937
text2vec-palm:
926938

927939
# enable if you want to use Google PaLM module
@@ -1187,10 +1199,22 @@ modules:
11871199
nodeSelector:
11881200
tolerations:
11891201

1190-
# The multi2vec-palm module uses Google PaLM Embeddings API
1202+
# The multi2vec-google module uses Google Embeddings API
11911203
# to dynamically compute vector embeddings.
1192-
# More information about Google PaLM Embeddings API can be found here:
1204+
# More information about Google Embeddings API can be found here:
11931205
# https://cloud.google.com/vertex-ai/generative-ai/docs/embeddings/get-multimodal-embeddings
1206+
multi2vec-google:
1207+
1208+
# enable if you want to use Google Multimodal module
1209+
enabled: false
1210+
1211+
# Set your Google API Key to be passed to Weaviate pod as
1212+
# an environment variable
1213+
apiKey: ''
1214+
1215+
# Deprecated setting, please use multi2vec-google instead
1216+
#
1217+
# This setting will be removed with charts version 20.
11941218
multi2vec-palm:
11951219

11961220
# enable if you want to use Google Multimodal PaLM module
@@ -1314,9 +1338,21 @@ modules:
13141338
# an environment variable
13151339
apiKey: ''
13161340

1317-
# The generative-palm module uses Google PaLM API.
1318-
# More information about Google PaLM API can be found here:
1341+
# The generative-google module uses Google API.
1342+
# More information about Google API can be found here:
13191343
# https://developers.generativeai.google/
1344+
generative-google:
1345+
1346+
# enable if you want to use Google module
1347+
enabled: false
1348+
1349+
# Set your Google API Key to be passed to Weaviate pod as
1350+
# an environment variable
1351+
apiKey: ''
1352+
1353+
# Deprecated setting, please use generative-google instead
1354+
#
1355+
# This setting will be removed with charts version 20.
13201356
generative-palm:
13211357

13221358
# enable if you want to use Google PaLM module

0 commit comments

Comments
 (0)