Skip to content

Commit 12ea234

Browse files
authored
Merge pull request #257 from weaviate/add-support-for-text2vec-mistral-module
Add support for text2vec-mistral module
2 parents 7c6f4f6 + 900e043 commit 12ea234

File tree

5 files changed

+38
-4
lines changed

5 files changed

+38
-4
lines changed

.cicd/test.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ function check_creates_template() {
169169
check_modules "--set modules.generative-friendliai.enabled=true --set modules.generative-friendliai.token=token" "value: generative-friendliai"
170170
check_modules "--set modules.text2vec-databricks.enabled=true" "value: text2vec-databricks"
171171
check_modules "--set modules.generative-databricks.enabled=true" "value: generative-databricks"
172+
check_modules "--set modules.text2vec-mistral.enabled=true" "value: text2vec-mistral"
172173

173174
check_modules "--set modules.text2vec-openai.enabled=true --set modules.text2vec-openai.azureApiKey=azureApiKey" "value: text2vec-openai"
174175
check_modules "--set modules.qna-openai.enabled=true --set modules.qna-openai.azureApiKey=azureApiKey" "value: qna-openai"
@@ -216,6 +217,8 @@ function check_creates_template() {
216217
check_string_existence "--set modules.text2vec-databricks.enabled=true --set modules.text2vec-databricks.token=databricksToken" "name: DATABRICKS_TOKEN"
217218
check_string_existence "--set modules.generative-databricks.enabled=true --set modules.generative-databricks.token=databricksToken" "name: DATABRICKS_TOKEN"
218219
check_string_existence "--set modules.generative-databricks.enabled=true --set modules.generative-databricks.token=databricksToken --set modules.text2vec-databricks.enabled=true --set modules.text2vec-databricks.token=databricksToken" "name: DATABRICKS_TOKEN"
220+
check_string_existence "--set modules.text2vec-mistral.enabled=true --set modules.text2vec-mistral.apiKey=mistralApiKey" "name: MISTRAL_APIKEY"
221+
check_string_existence "--set modules.generative-mistral.enabled=true --set modules.generative-mistral.apiKey=mistralApiKey --set modules.text2vec-mistral.enabled=true --set modules.text2vec-mistral.apiKey=mistralApiKey" "name: MISTRAL_APIKEY"
219222

220223
check_setting_has_value "--set replicas=3 --set env.RAFT_BOOTSTRAP_EXPECT=3" "name: RAFT_JOIN" "value: \"weaviate-0,weaviate-1,weaviate-2\""
221224
check_setting_has_value "--set replicas=3 --set env.RAFT_BOOTSTRAP_EXPECT=3" "name: RAFT_BOOTSTRAP_EXPECT" "value: \"3\""

weaviate/templates/_helpers.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@
104104
{{- if (index .Values "modules" "text2vec-databricks" "enabled") -}}
105105
{{ $modules = append $modules "text2vec-databricks" }}
106106
{{- end -}}
107+
{{- if (index .Values "modules" "text2vec-mistral" "enabled") -}}
108+
{{ $modules = append $modules "text2vec-mistral" }}
109+
{{- end -}}
107110
{{- if (index .Values "modules" "ref2vec-centroid" "enabled") -}}
108111
{{ $modules = append $modules "ref2vec-centroid" }}
109112
{{- end -}}
Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
1-
{{ if and (index .Values "modules" "generative-mistral" "enabled") (index .Values "modules" "generative-mistral" "apiKey") }}
1+
{{- $t2vMistral := and (index .Values "modules" "text2vec-mistral" "enabled") (index .Values "modules" "text2vec-mistral" "apiKey") -}}
2+
{{- $generativeMistral := and (index .Values "modules" "generative-mistral" "enabled") (index .Values "modules" "generative-mistral" "apiKey") }}
3+
{{- $mistral := or ($t2vMistral) ($generativeMistral) }}
4+
{{- if $mistral }}
5+
6+
{{- $apiKeys := list }}
7+
{{- if $t2vMistral }}
8+
{{- $apiKeys = append $apiKeys (index .Values "modules" "text2vec-mistral" "apiKey") -}}
9+
{{- end }}
10+
{{- if $generativeMistral }}
11+
{{- $apiKeys = append $apiKeys (index .Values "modules" "generative-mistral" "apiKey") -}}
12+
{{- end }}
13+
14+
{{- if gt (len ($apiKeys | uniq)) 1 -}}
15+
{{- fail "Mistral modules activated, but their keys differ. Use the same key on all activated Mistral modules." }}
16+
{{- end }}
17+
218
apiVersion: v1
319
kind: Secret
420
metadata:
521
name: weaviate-mistral
622
labels:
723
app.kubernetes.io/name: weaviate
8-
app.kubernetes.io/managed-by: helm
24+
app.kubernetes.io/managed-by: {{ .Release.Service }}
925
type: Opaque
1026
data:
11-
apiKey: {{ index .Values "modules" "generative-mistral" "apiKey" | b64enc }}
27+
apiKey: {{ index $apiKeys 0 | b64enc }}
1228
{{ end }}

weaviate/templates/weaviateStatefulset.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ spec:
260260
name: weaviate-anthropic
261261
key: apiKey
262262
{{- end }}
263-
{{- if and (index .Values "modules" "generative-mistral" "enabled") (index .Values "modules" "generative-mistral" "apiKey") }}
263+
{{- if or (and (index .Values "modules" "text2vec-mistral" "enabled") (index .Values "modules" "text2vec-mistral" "apiKey")) (and (index .Values "modules" "generative-mistral" "enabled") (index .Values "modules" "generative-mistral" "apiKey")) }}
264264
- name: MISTRAL_APIKEY
265265
valueFrom:
266266
secretKeyRef:

weaviate/values.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,6 +1008,18 @@ modules:
10081008
# an environment variable
10091009
apiKey: ''
10101010

1011+
# The text2vec-mistral module uses MISTRAL AI Embeddings API
1012+
# More information about MISTRAL AI's Embeddings API can be found here:
1013+
# https://docs.mistral.ai/api/#operation/createEmbedding
1014+
text2vec-mistral:
1015+
1016+
# enable if you want to use MISTRAL AI module
1017+
enabled: false
1018+
1019+
# Set your MISTRAL API Key to be passed to Weaviate pod as
1020+
# an environment variable
1021+
apiKey: ''
1022+
10111023
# The text2vec-databricks module uses Databricks Embeddings API
10121024
# to dynamically compute vector embeddings based on the
10131025
# sentence's context.

0 commit comments

Comments
 (0)