diff --git a/.cicd/test.sh b/.cicd/test.sh index 59ff54ae..cad1dc5d 100755 --- a/.cicd/test.sh +++ b/.cicd/test.sh @@ -147,6 +147,8 @@ function check_creates_template() { check_modules "--set modules.generative-anyscale.enabled=true" "value: generative-anyscale" check_modules "--set modules.generative-anyscale.enabled=true --set modules.generative-anyscale.apiKey=apiKey" "value: generative-anyscale" check_modules "--set modules.text2vec-voyageai.enabled=true" "value: text2vec-voyageai" + check_modules "--set modules.generative-mistral.enabled=true" "value: generative-mistral" + check_modules "--set modules.generative-mistral.enabled=true --set modules.generative-mistral.apiKey=apiKey" "value: generative-mistral" check_modules "--set modules.text2vec-openai.enabled=true --set modules.text2vec-openai.azureApiKey=azureApiKey" "value: text2vec-openai" check_modules "--set modules.qna-openai.enabled=true --set modules.qna-openai.azureApiKey=azureApiKey" "value: qna-openai" @@ -170,6 +172,7 @@ function check_creates_template() { check_string_existence "--set modules.text2vec-aws.enabled=true --set modules.text2vec-aws.envSecrets.AWS_ACCESS_KEY_ID=key --set modules.text2vec-aws.envSecrets.AWS_SECRET_ACCESS_KEY=secret" "name: AWS_SECRET_ACCESS_KEY" check_string_existence "--set modules.generative-anyscale.enabled=true --set modules.generative-anyscale.apiKey=apiKey" "name: ANYSCALE_APIKEY" check_string_existence "--set modules.text2vec-voyageai.enabled=true --set modules.text2vec-voyageai.apiKey=voyageaiApiKey" "name: VOYAGEAI_APIKEY" + check_string_existence "--set modules.generative-mistral.enabled=true --set modules.generative-mistral.apiKey=apiKey" "name: MISTRAL_APIKEY" _settingPassageQueryOn="--set modules.text2vec-contextionary.enabled=false --set modules.text2vec-transformers.passageQueryServices.passage.enabled=true --set modules.text2vec-transformers.passageQueryServices.query.enabled=true" check_setting_has_value "$_settingPassageQueryOn" "name: TRANSFORMERS_PASSAGE_INFERENCE_API" "value: http://transformers-inference-passage.default.svc.cluster.local.:8080" diff --git a/weaviate/templates/_helpers.tpl b/weaviate/templates/_helpers.tpl index 711ff128..6a217172 100644 --- a/weaviate/templates/_helpers.tpl +++ b/weaviate/templates/_helpers.tpl @@ -35,6 +35,9 @@ {{- if (index .Values "modules" "generative-anyscale" "enabled") -}} {{ $modules = append $modules "generative-anyscale" }} {{- end -}} + {{- if (index .Values "modules" "generative-mistral" "enabled") -}} + {{ $modules = append $modules "generative-mistral" }} + {{- end -}} {{- if or (index .Values "modules" "img2vec-neural" "enabled") (index .Values "modules" "img2vec-neural" "inferenceUrl") -}} {{ $modules = append $modules "img2vec-neural" }} {{- end -}} diff --git a/weaviate/templates/apiKeyMistralSecret.yaml b/weaviate/templates/apiKeyMistralSecret.yaml new file mode 100644 index 00000000..9ab7b115 --- /dev/null +++ b/weaviate/templates/apiKeyMistralSecret.yaml @@ -0,0 +1,12 @@ +{{ if and (index .Values "modules" "generative-mistral" "enabled") (index .Values "modules" "generative-mistral" "apiKey") }} +apiVersion: v1 +kind: Secret +metadata: + name: weaviate-mistral + labels: + app.kubernetes.io/name: weaviate + app.kubernetes.io/managed-by: helm +type: Opaque +data: + apiKey: {{ index .Values "modules" "generative-mistral" "apiKey" | b64enc }} +{{ end }} diff --git a/weaviate/templates/weaviateStatefulset.yaml b/weaviate/templates/weaviateStatefulset.yaml index a00bf1ca..7067bbd3 100644 --- a/weaviate/templates/weaviateStatefulset.yaml +++ b/weaviate/templates/weaviateStatefulset.yaml @@ -239,6 +239,13 @@ spec: name: weaviate-anyscale key: apiKey {{- end }} + {{- if and (index .Values "modules" "generative-mistral" "enabled") (index .Values "modules" "generative-mistral" "apiKey") }} + - name: MISTRAL_APIKEY + valueFrom: + secretKeyRef: + name: weaviate-mistral + key: apiKey + {{- end }} {{- if and (index .Values "backups" "filesystem" "enabled") (index .Values "backups" "filesystem" "envconfig") }} {{- range $key, $value := index .Values "backups" "filesystem" "envconfig" }} - name: {{ $key }} diff --git a/weaviate/values.yaml b/weaviate/values.yaml index 39eb3d9e..f8a38475 100644 --- a/weaviate/values.yaml +++ b/weaviate/values.yaml @@ -1173,6 +1173,18 @@ modules: # an environment variable. apiKey: '' + # The generative-mistral module uses MISTRAL AI Generative API + # More information about MISTRAL AI's Generative API can be found here: + # https://docs.mistral.ai/ + generative-mistral: + + # enable if you want to use MISTRAL AI generative module + enabled: false + + # Set your MISTRAL API Key to be passed to Weaviate pod as + # an environment variable + apiKey: '' + # The img2vec-neural module uses neural networks, to generate # a vector representation of the image img2vec-neural: