zouhairk commited on
Commit
f14fbb7
·
1 Parent(s): 440c34d
ai-audio-msa_llm/.env ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ AMAZON_API_KEY=votre_clé_api
2
+ CDISCOUNT_API_KEY=votre_clé_api
3
+ FNAC_API_KEY=votre_clé_api
4
+ MODEL_PATH=/chemin/vers/votre/modèle
ai-audio-msa_llm/config/categories.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "aliexpress": [],
3
+ "cdiscount": []
4
+ }
audio-llm-chart/.helmignore ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Patterns to ignore when building packages.
2
+ # This supports shell glob matching, relative path matching, and
3
+ # negation (prefixed with !). Only one pattern per line.
4
+ .DS_Store
5
+ # Common VCS dirs
6
+ .git/
7
+ .gitignore
8
+ .bzr/
9
+ .bzrignore
10
+ .hg/
11
+ .hgignore
12
+ .svn/
13
+ # Common backup files
14
+ *.swp
15
+ *.bak
16
+ *.tmp
17
+ *.orig
18
+ *~
19
+ # Various IDEs
20
+ .project
21
+ .idea/
22
+ *.tmproj
23
+ .vscode/
audio-llm-chart/Chart.yaml ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ apiVersion: v2
2
+ name: audio-msa-translater-llm-chart
3
+ description: A Helm chart for Kubernetes
4
+
5
+ # A chart can be either an 'application' or a 'library' chart.
6
+ #
7
+ # Application charts are a collection of templates that can be packaged into versioned archives
8
+ # to be deployed.
9
+ #
10
+ # Library charts provide useful utilities or functions for the chart developer. They're included as
11
+ # a dependency of application charts to inject those utilities and functions into the rendering
12
+ # pipeline. Library charts do not define any templates and therefore cannot be deployed.
13
+ type: application
14
+
15
+ # This is the chart version. This version number should be incremented each time you make changes
16
+ # to the chart and its templates, including the app version.
17
+ # Versions are expected to follow Semantic Versioning (https://semver.org/)
18
+ version: 0.1.0
19
+
20
+ # This is the version number of the application being deployed. This version number should be
21
+ # incremented each time you make changes to the application. Versions are not expected to
22
+ # follow Semantic Versioning. They should reflect the version the application is using.
23
+ # It is recommended to use it with quotes.
24
+ appVersion: "1.16.0"
audio-llm-chart/templates/NOTES.txt ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 1. Get the application URL by running these commands:
2
+ {{- if .Values.ingress.enabled }}
3
+ {{- range $host := .Values.ingress.hosts }}
4
+ {{- range .paths }}
5
+ http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
6
+ {{- end }}
7
+ {{- end }}
8
+ {{- else if contains "NodePort" .Values.service.type }}
9
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "audio-msa-translater-llm-chart.fullname" . }})
10
+ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11
+ echo http://$NODE_IP:$NODE_PORT
12
+ {{- else if contains "LoadBalancer" .Values.service.type }}
13
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14
+ You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "audio-msa-translater-llm-chart.fullname" . }}'
15
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "audio-msa-translater-llm-chart.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16
+ echo http://$SERVICE_IP:{{ .Values.service.port }}
17
+ {{- else if contains "ClusterIP" .Values.service.type }}
18
+ export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "audio-msa-translater-llm-chart.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19
+ export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
20
+ echo "Visit http://127.0.0.1:8080 to use your application"
21
+ kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
22
+ {{- end }}
audio-llm-chart/templates/_helpers.tpl ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{/*
2
+ Expand the name of the chart.
3
+ */}}
4
+ {{- define "audio-msa-translater-llm-chart.name" -}}
5
+ {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6
+ {{- end }}
7
+
8
+ {{/*
9
+ Create a default fully qualified app name.
10
+ We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11
+ If release name contains chart name it will be used as a full name.
12
+ */}}
13
+ {{- define "audio-msa-translater-llm-chart.fullname" -}}
14
+ {{- if .Values.fullnameOverride }}
15
+ {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
16
+ {{- else }}
17
+ {{- $name := default .Chart.Name .Values.nameOverride }}
18
+ {{- if contains $name .Release.Name }}
19
+ {{- .Release.Name | trunc 63 | trimSuffix "-" }}
20
+ {{- else }}
21
+ {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22
+ {{- end }}
23
+ {{- end }}
24
+ {{- end }}
25
+
26
+ {{/*
27
+ Create chart name and version as used by the chart label.
28
+ */}}
29
+ {{- define "audio-msa-translater-llm-chart.chart" -}}
30
+ {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31
+ {{- end }}
32
+
33
+ {{/*
34
+ Common labels
35
+ */}}
36
+ {{- define "audio-msa-translater-llm-chart.labels" -}}
37
+ helm.sh/chart: {{ include "audio-msa-translater-llm-chart.chart" . }}
38
+ {{ include "audio-msa-translater-llm-chart.selectorLabels" . }}
39
+ {{- if .Chart.AppVersion }}
40
+ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41
+ {{- end }}
42
+ app.kubernetes.io/managed-by: {{ .Release.Service }}
43
+ {{- end }}
44
+
45
+ {{/*
46
+ Selector labels
47
+ */}}
48
+ {{- define "audio-msa-translater-llm-chart.selectorLabels" -}}
49
+ app.kubernetes.io/name: {{ include "audio-msa-translater-llm-chart.name" . }}
50
+ app.kubernetes.io/instance: {{ .Release.Name }}
51
+ {{- end }}
52
+
53
+ {{/*
54
+ Create the name of the service account to use
55
+ */}}
56
+ {{- define "audio-msa-translater-llm-chart.serviceAccountName" -}}
57
+ {{- if .Values.serviceAccount.create }}
58
+ {{- default (include "audio-msa-translater-llm-chart.fullname" .) .Values.serviceAccount.name }}
59
+ {{- else }}
60
+ {{- default "default" .Values.serviceAccount.name }}
61
+ {{- end }}
62
+ {{- end }}
audio-llm-chart/templates/deployment.yaml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ apiVersion: apps/v1
2
+ kind: Deployment
3
+ metadata:
4
+ name: { { include "audio-msa-translater-llm-chart.fullname" . } }
5
+ labels: { { include "audio-msa-translater-llm-chart.labels" . | nindent 4 } }
6
+ spec:
7
+ replicas: { { .Values.replicaCount } }
8
+ selector:
9
+ matchLabels:
10
+ {
11
+ {
12
+ include "audio-msa-translater-llm-chart.selectorLabels" . | nindent 6,
13
+ },
14
+ }
15
+ template:
16
+ metadata:
17
+ labels:
18
+ {
19
+ {
20
+ include "audio-msa-translater-llm-chart.selectorLabels" . | nindent 8,
21
+ },
22
+ }
23
+ spec:
24
+ imagePullSecrets:
25
+ - name: registry-credentials
26
+ containers:
27
+ - name: { { .Chart.Name } }
28
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
29
+ ports:
30
+ - containerPort: 5000 # Ensure this matches the exposed port in Dockerfile
31
+ resources: { { toYaml .Values.resources | nindent 12 } }
32
+ env:
33
+ - name: HUGGINGFACE_TOKEN
34
+ valueFrom:
35
+ secretKeyRef:
36
+ name: huggingface-token
37
+ key: token
audio-llm-chart/templates/hpa.yaml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{- if .Values.autoscaling.enabled }}
2
+ apiVersion: autoscaling/v2beta1
3
+ kind: HorizontalPodAutoscaler
4
+ metadata:
5
+ name: {{ include "audio-msa-translater-llm-chart.fullname" . }}
6
+ labels:
7
+ {{- include "audio-msa-translater-llm-chart.labels" . | nindent 4 }}
8
+ spec:
9
+ scaleTargetRef:
10
+ apiVersion: apps/v1
11
+ kind: Deployment
12
+ name: {{ include "audio-msa-translater-llm-chart.fullname" . }}
13
+ minReplicas: {{ .Values.autoscaling.minReplicas }}
14
+ maxReplicas: {{ .Values.autoscaling.maxReplicas }}
15
+ metrics:
16
+ {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
17
+ - type: Resource
18
+ resource:
19
+ name: cpu
20
+ targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
21
+ {{- end }}
22
+ {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
23
+ - type: Resource
24
+ resource:
25
+ name: memory
26
+ targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
27
+ {{- end }}
28
+ {{- end }}
audio-llm-chart/templates/ingress.yaml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{- if .Values.ingress.enabled -}}
2
+ {{- $fullName := include "audio-msa-translater-llm-chart.fullname" . -}}
3
+ {{- $svcPort := .Values.service.port -}}
4
+ {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
5
+ {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
6
+ {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
7
+ {{- end }}
8
+ {{- end }}
9
+ {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
10
+ apiVersion: networking.k8s.io/v1
11
+ {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
12
+ apiVersion: networking.k8s.io/v1beta1
13
+ {{- else -}}
14
+ apiVersion: extensions/v1beta1
15
+ {{- end }}
16
+ kind: Ingress
17
+ metadata:
18
+ name: {{ $fullName }}
19
+ labels:
20
+ {{- include "audio-msa-translater-llm-chart.labels" . | nindent 4 }}
21
+ {{- with .Values.ingress.annotations }}
22
+ annotations:
23
+ {{- toYaml . | nindent 4 }}
24
+ {{- end }}
25
+ spec:
26
+ {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
27
+ ingressClassName: {{ .Values.ingress.className }}
28
+ {{- end }}
29
+ {{- if .Values.ingress.tls }}
30
+ tls:
31
+ {{- range .Values.ingress.tls }}
32
+ - hosts:
33
+ {{- range .hosts }}
34
+ - {{ . | quote }}
35
+ {{- end }}
36
+ secretName: {{ .secretName }}
37
+ {{- end }}
38
+ {{- end }}
39
+ rules:
40
+ {{- range .Values.ingress.hosts }}
41
+ - host: {{ .host | quote }}
42
+ http:
43
+ paths:
44
+ {{- range .paths }}
45
+ - path: {{ .path }}
46
+ {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
47
+ pathType: {{ .pathType }}
48
+ {{- end }}
49
+ backend:
50
+ {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
51
+ service:
52
+ name: {{ $fullName }}
53
+ port:
54
+ number: {{ $svcPort }}
55
+ {{- else }}
56
+ serviceName: {{ $fullName }}
57
+ servicePort: {{ $svcPort }}
58
+ {{- end }}
59
+ {{- end }}
60
+ {{- end }}
61
+ {{- end }}
audio-llm-chart/templates/service.yaml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ apiVersion: v1
2
+ kind: Service
3
+ metadata:
4
+ name: {{ include "audio-msa-translater-llm-chart.fullname" . }}
5
+ labels: - {{ include "audio-msa-translater-llm-chart.labels" . | nindent 4 }}
6
+ spec:
7
+ type: {{ .Values.service.type }}
8
+ ports:
9
+ - port: 5000 # Ensure this matches the container port
10
+ targetPort: 5000
11
+ protocol: TCP
12
+ name: http
13
+ selector: - {{ include "audio-msa-translater-llm-chart.selectorLabels" . | nindent 4 }}
audio-llm-chart/templates/serviceaccount.yaml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{- if .Values.serviceAccount.create -}}
2
+ apiVersion: v1
3
+ kind: ServiceAccount
4
+ metadata:
5
+ name: {{ include "audio-msa-translater-llm-chart.serviceAccountName" . }}
6
+ labels:
7
+ {{- include "audio-msa-translater-llm-chart.labels" . | nindent 4 }}
8
+ {{- with .Values.serviceAccount.annotations }}
9
+ annotations:
10
+ {{- toYaml . | nindent 4 }}
11
+ {{- end }}
12
+ {{- end }}
audio-llm-chart/templates/tests/test-connection.yaml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ apiVersion: v1
2
+ kind: Pod
3
+ metadata:
4
+ name: "{{ include "audio-msa-translater-llm-chart.fullname" . }}-test-connection"
5
+ labels:
6
+ {{- include "audio-msa-translater-llm-chart.labels" . | nindent 4 }}
7
+ annotations:
8
+ "helm.sh/hook": test
9
+ spec:
10
+ containers:
11
+ - name: wget
12
+ image: busybox
13
+ command: ['wget']
14
+ args: ['{{ include "audio-msa-translater-llm-chart.fullname" . }}:{{ .Values.service.port }}']
15
+ restartPolicy: Never
audio-llm-chart/values.yaml ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Default values for audio-msa-translater-llm-chart.
2
+ # This is a YAML-formatted file.
3
+ # Declare variables to be passed into your templates.
4
+
5
+ replicaCount: 1
6
+
7
+ image:
8
+ repository: rimage-pai-mia # Update with your Docker Hub username
9
+ pullPolicy: IfNotPresent
10
+ tag: 1.0.0-SNAPSHOT # or specify a version tag
11
+
12
+ imagePullSecrets: []
13
+ nameOverride: ""
14
+ fullnameOverride: ""
15
+
16
+ serviceAccount:
17
+ # Specifies whether a service account should be created
18
+ create: true
19
+ # Annotations to add to the service account
20
+ annotations: {}
21
+ # The name of the service account to use.
22
+ # If not set and create is true, a name is generated using the fullname template
23
+ name: ""
24
+
25
+ podAnnotations: {}
26
+
27
+ podSecurityContext: {}
28
+ # fsGroup: 2000
29
+
30
+ securityContext: {}
31
+ # capabilities:
32
+ # drop:
33
+ # - ALL
34
+ # readOnlyRootFilesystem: true
35
+ # runAsNonRoot: true
36
+ # runAsUser: 1000
37
+
38
+ service:
39
+ type: ClusterIP
40
+ port: 80
41
+
42
+ ingress:
43
+ enabled: false
44
+ className: ""
45
+ annotations: {}
46
+ # kubernetes.io/ingress.class: nginx
47
+ # kubernetes.io/tls-acme: "true"
48
+ hosts:
49
+ - host: chart-example.local
50
+ paths:
51
+ - path: /
52
+ pathType: ImplementationSpecific
53
+ tls: []
54
+ # - secretName: chart-example-tls
55
+ # hosts:
56
+ # - chart-example.local
57
+
58
+ resources: {}
59
+ # We usually recommend not to specify default resources and to leave this as a conscious
60
+ # choice for the user. This also increases chances charts run on environments with little
61
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
62
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
63
+ # limits:
64
+ # cpu: 100m
65
+ # memory: 128Mi
66
+ # requests:
67
+ # cpu: 100m
68
+ # memory: 128Mi
69
+
70
+ autoscaling:
71
+ enabled: false
72
+ minReplicas: 1
73
+ maxReplicas: 100
74
+ targetCPUUtilizationPercentage: 80
75
+ # targetMemoryUtilizationPercentage: 80
76
+
77
+ nodeSelector: {}
78
+
79
+ tolerations: []
80
+
81
+ affinity: {}