Skip to content

Commit d3604a1

Browse files
authored
Merge pull request #279 from weaviate/add-support-for-multi2vec-voyageai-module
Add support for multi2vec-voyageai module
2 parents ad5e14f + d377152 commit d3604a1

File tree

5 files changed

+28
-2
lines changed

5 files changed

+28
-2
lines changed

.cicd/test.sh

+4
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,17 @@ function check_creates_template() {
158158
check_modules "--set modules.generative-anyscale.enabled=true" "value: generative-anyscale"
159159
check_modules "--set modules.generative-anyscale.enabled=true --set modules.generative-anyscale.apiKey=apiKey" "value: generative-anyscale"
160160
check_modules "--set modules.text2vec-voyageai.enabled=true" "value: text2vec-voyageai"
161+
check_modules "--set modules.multi2vec-voyageai.enabled=true" "value: multi2vec-voyageai"
161162
check_modules "--set modules.generative-mistral.enabled=true" "value: generative-mistral"
162163
check_modules "--set modules.generative-mistral.enabled=true --set modules.generative-mistral.apiKey=apiKey" "value: generative-mistral"
163164
check_modules "--set modules.multi2vec-palm.enabled=true" "value: multi2vec-palm"
164165
check_modules "--set modules.multi2vec-palm.enabled=true --set modules.multi2vec-palm.apiKey=apiKey --set modules.generative-palm.enabled=true --set modules.generative-palm.apiKey=apiKey" "value: generative-palm,multi2vec-palm"
165166
check_modules "--set modules.reranker-voyageai.enabled=true" "value: reranker-voyageai"
166167
check_modules "--set modules.reranker-voyageai.enabled=true --set modules.reranker-voyageai.apiKey=apiKey" "value: reranker-voyageai"
168+
check_modules "--set modules.multi2vec-voyageai.enabled=true --set modules.multi2vec-voyageai.apiKey=apiKey" "value: multi2vec-voyageai"
167169
check_modules "--set modules.text2vec-voyageai.enabled=true --set modules.text2vec-voyageai.apiKey=apiKey --set modules.reranker-voyageai.enabled=true --set modules.reranker-voyageai.apiKey=apiKey" "value: text2vec-voyageai,reranker-voyageai"
170+
check_modules "--set modules.multi2vec-voyageai.enabled=true --set modules.multi2vec-voyageai.apiKey=apiKey --set modules.reranker-voyageai.enabled=true --set modules.reranker-voyageai.apiKey=apiKey" "value: multi2vec-voyageai,reranker-voyageai"
171+
check_modules "--set modules.text2vec-voyageai.enabled=true --set modules.text2vec-voyageai.apiKey=apiKey --set modules.reranker-voyageai.enabled=true --set modules.reranker-voyageai.apiKey=apiKey --set modules.multi2vec-voyageai.enabled=true --set modules.multi2vec-voyageai.apiKey=apiKey" "value: multi2vec-voyageai,text2vec-voyageai,reranker-voyageai"
168172
check_modules "--set modules.text2vec-ollama.enabled=true" "value: text2vec-ollama"
169173
check_modules "--set modules.generative-ollama.enabled=true" "value: generative-ollama"
170174
check_modules "--set modules.generative-ollama.enabled=true --set modules.text2vec-ollama.enabled=true" "value: generative-ollama,text2vec-ollama"

weaviate/templates/_helpers.tpl

+3
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@
8686
{{- if (index .Values "modules" "multi2vec-jinaai" "enabled") -}}
8787
{{ $modules = append $modules "multi2vec-jinaai" }}
8888
{{- end -}}
89+
{{- if (index .Values "modules" "multi2vec-voyageai" "enabled") -}}
90+
{{ $modules = append $modules "multi2vec-voyageai" }}
91+
{{- end -}}
8992
{{- if (index .Values "modules" "text2vec-openai" "enabled") -}}
9093
{{ $modules = append $modules "text2vec-openai" }}
9194
{{- end -}}

weaviate/templates/apiKeyVoyageAISecret.yaml

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{{- $t2vVoyageAI := and (index .Values "modules" "text2vec-voyageai" "enabled") (index .Values "modules" "text2vec-voyageai" "apiKey") -}}
22
{{- $rerankerVoyageAI := and (index .Values "modules" "reranker-voyageai" "enabled") (index .Values "modules" "reranker-voyageai" "apiKey") }}
3-
{{- $voyageai := or ($t2vVoyageAI) ($rerankerVoyageAI) }}
3+
{{- $multi2vecVoyageAI := and (index .Values "modules" "multi2vec-voyageai" "enabled") (index .Values "modules" "multi2vec-voyageai" "apiKey") }}
4+
{{- $voyageai := or ($t2vVoyageAI) ($rerankerVoyageAI) ($multi2vecVoyageAI) }}
45
{{- if $voyageai }}
56

67
{{- $apiKeys := list }}
@@ -10,6 +11,9 @@
1011
{{- if $rerankerVoyageAI }}
1112
{{- $apiKeys = append $apiKeys (index .Values "modules" "reranker-voyageai" "apiKey") -}}
1213
{{- end }}
14+
{{- if $multi2vecVoyageAI }}
15+
{{- $apiKeys = append $apiKeys (index .Values "modules" "multi2vec-voyageai" "apiKey") -}}
16+
{{- end }}
1317

1418
{{- if gt (len ($apiKeys | uniq)) 1 -}}
1519
{{- fail "VoyageAI modules activated, but their keys differ. Use the same key on all activated VoyageAI modules." }}
@@ -26,6 +30,8 @@ type: Opaque
2630
data:
2731
{{- if (index .Values "modules" "reranker-voyageai" "apiKey") }}
2832
apiKey: {{ index .Values "modules" "reranker-voyageai" "apiKey" | b64enc }}
33+
{{- else if (index .Values "modules" "multi2vec-voyageai" "apiKey") }}
34+
apiKey: {{ index .Values "modules" "multi2vec-voyageai" "apiKey" | b64enc }}
2935
{{- else }}
3036
apiKey: {{ index .Values "modules" "text2vec-voyageai" "apiKey" | b64enc }}
3137
{{- end }}

weaviate/templates/weaviateStatefulset.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ spec:
246246
name: weaviate-jinaai
247247
key: apiKey
248248
{{- end }}
249-
{{- if or (and (index .Values "modules" "text2vec-voyageai" "enabled") (index .Values "modules" "text2vec-voyageai" "apiKey")) (and (index .Values "modules" "reranker-voyageai" "enabled") (index .Values "modules" "reranker-voyageai" "apiKey")) }}
249+
{{- if or (and (index .Values "modules" "text2vec-voyageai" "enabled") (index .Values "modules" "text2vec-voyageai" "apiKey")) (and (index .Values "modules" "reranker-voyageai" "enabled") (index .Values "modules" "reranker-voyageai" "apiKey")) (and (index .Values "modules" "multi2vec-voyageai" "enabled") (index .Values "modules" "multi2vec-voyageai" "apiKey")) }}
250250
- name: VOYAGEAI_APIKEY
251251
valueFrom:
252252
secretKeyRef:

weaviate/values.yaml

+13
Original file line numberDiff line numberDiff line change
@@ -1274,6 +1274,19 @@ modules:
12741274
# an environment variable
12751275
apiKey: ''
12761276

1277+
# The multi2vec-voyageai module uses VoaygeAI Multi Modal Embeddings API
1278+
# to dynamically compute vector embeddings.
1279+
# More information about VoaygeAI Embeddings API can be found here:
1280+
# https://www.voyageai.com/
1281+
multi2vec-voyageai:
1282+
1283+
# enable if you want to use VoaygeAI module
1284+
enabled: false
1285+
1286+
# Set your VoaygeAI API Key to be passed to Weaviate pod as
1287+
# an environment variable
1288+
apiKey: ''
1289+
12771290
# The qna-transformers module uses neural networks, such as BERT,
12781291
# DistilBERT, to find an answer in text to a given question
12791292
qna-transformers:

0 commit comments

Comments
 (0)