Remove redundant code and update tgi version (#871)
Signed-off-by: lvliang-intel <liang1.lv@intel.com>
This commit is contained in:
@@ -1,653 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
nodePort: 30888
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
type: NodePort
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 31
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '2048'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '4096'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(RERANK_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HF_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: MAX_WARMUP_SEQUENCE_LENGTH
|
|
||||||
value: '512'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/tei-gaudi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8808
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/reranking-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
selector:
|
|
||||||
app: reranking-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: vector-db
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
@@ -1,653 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
nodePort: 30888
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
type: NodePort
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 7
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '2048'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '4096'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(RERANK_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HF_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: MAX_WARMUP_SEQUENCE_LENGTH
|
|
||||||
value: '512'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/tei-gaudi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8808
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/reranking-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
selector:
|
|
||||||
app: reranking-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: vector-db
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
@@ -1,653 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
nodePort: 30888
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
type: NodePort
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 15
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '2048'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '4096'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(RERANK_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HF_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: MAX_WARMUP_SEQUENCE_LENGTH
|
|
||||||
value: '512'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/tei-gaudi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8808
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/reranking-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
selector:
|
|
||||||
app: reranking-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: vector-db
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
@@ -1,742 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna-without-rerank:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: NodePort
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
nodePort: 30888
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
- containerPort: 6008
|
|
||||||
- containerPort: 6009
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
- name: port2
|
|
||||||
port: 6008
|
|
||||||
targetPort: 6008
|
|
||||||
- name: port3
|
|
||||||
port: 6009
|
|
||||||
targetPort: 6009
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 32
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
name: llm-dependency-deploy-demo
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '2048'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '4096'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tei-gaudi:latest
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(RERANK_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HF_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: MAX_WARMUP_SEQUENCE_LENGTH
|
|
||||||
value: '512'
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8808
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/reranking-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: reranking-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: reranking-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_EMBEDDING_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
containers:
|
|
||||||
- name: vector-db
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1,591 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna-without-rerank:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: NodePort
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
nodePort: 30888
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
- containerPort: 6008
|
|
||||||
- containerPort: 6009
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
- name: port2
|
|
||||||
port: 6008
|
|
||||||
targetPort: 6008
|
|
||||||
- name: port3
|
|
||||||
port: 6009
|
|
||||||
targetPort: 6009
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 8
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
name: llm-dependency-deploy-demo
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '2048'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '4096'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_EMBEDDING_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
containers:
|
|
||||||
- name: vector-db
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1,591 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna-without-rerank:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: NodePort
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
nodePort: 30888
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
- containerPort: 6008
|
|
||||||
- containerPort: 6009
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
- name: port2
|
|
||||||
port: 6008
|
|
||||||
targetPort: 6008
|
|
||||||
- name: port3
|
|
||||||
port: 6009
|
|
||||||
targetPort: 6009
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 16
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
name: llm-dependency-deploy-demo
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '2048'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '4096'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_EMBEDDING_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
containers:
|
|
||||||
- name: vector-db
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ spec:
|
|||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: qna-config
|
name: qna-config
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: llm-dependency-deploy
|
name: llm-dependency-deploy
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -1,683 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 8000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 8000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
nodePort: 30888
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
type: NodePort
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 31
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '1024'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '2048'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(RERANK_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HF_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: MAX_WARMUP_SEQUENCE_LENGTH
|
|
||||||
value: '512'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/tei-gaudi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8808
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/reranking-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
selector:
|
|
||||||
app: reranking-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: vector-db
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
@@ -1,683 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 8000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 8000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
nodePort: 30888
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
type: NodePort
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 7
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '1024'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '2048'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(RERANK_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HF_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: MAX_WARMUP_SEQUENCE_LENGTH
|
|
||||||
value: '512'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/tei-gaudi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8808
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/reranking-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
selector:
|
|
||||||
app: reranking-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: vector-db
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
@@ -1,683 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 8000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 8000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
nodePort: 30888
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
type: NodePort
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 15
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '1024'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '2048'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --model-id
|
|
||||||
- $(RERANK_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HF_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: MAX_WARMUP_SEQUENCE_LENGTH
|
|
||||||
value: '512'
|
|
||||||
envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/tei-gaudi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
name: model-volume
|
|
||||||
- emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
name: shm
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8808
|
|
||||||
targetPort: 80
|
|
||||||
selector:
|
|
||||||
app: reranking-dependency-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: reranking-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: reranking-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/reranking-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: reranking-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 8000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: reranking-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: reranking-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
selector:
|
|
||||||
app: reranking-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
memory: 4000Mi
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: vector-db
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
hostIPC: true
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
serviceAccountName: default
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
@@ -1,622 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna-without-rerank:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 4000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 4000Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: NodePort
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
nodePort: 30888
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
- containerPort: 6008
|
|
||||||
- containerPort: 6009
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
- name: port2
|
|
||||||
port: 6008
|
|
||||||
targetPort: 6008
|
|
||||||
- name: port3
|
|
||||||
port: 6009
|
|
||||||
targetPort: 6009
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 4
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 32
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
name: llm-dependency-deploy-demo
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '1024'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '2048'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 4
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 4
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_EMBEDDING_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 2500Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 2500Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
containers:
|
|
||||||
- name: vector-db
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1,622 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna-without-rerank:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 4000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 4000Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: NodePort
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
nodePort: 30888
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
- containerPort: 6008
|
|
||||||
- containerPort: 6009
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
- name: port2
|
|
||||||
port: 6008
|
|
||||||
targetPort: 6008
|
|
||||||
- name: port3
|
|
||||||
port: 6009
|
|
||||||
targetPort: 6009
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 4
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 8
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
name: llm-dependency-deploy-demo
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '1024'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '2048'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 4
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_EMBEDDING_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 2500Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 2500Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
containers:
|
|
||||||
- name: vector-db
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1,622 +0,0 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: qna-config
|
|
||||||
namespace: default
|
|
||||||
data:
|
|
||||||
EMBEDDING_MODEL_ID: BAAI/bge-base-en-v1.5
|
|
||||||
RERANK_MODEL_ID: BAAI/bge-reranker-base
|
|
||||||
LLM_MODEL_ID: Intel/neural-chat-7b-v3-3
|
|
||||||
TEI_EMBEDDING_ENDPOINT: http://embedding-dependency-svc.default.svc.cluster.local:6006
|
|
||||||
TEI_RERANKING_ENDPOINT: http://reranking-dependency-svc.default.svc.cluster.local:8808
|
|
||||||
TGI_LLM_ENDPOINT: http://llm-dependency-svc.default.svc.cluster.local:9009
|
|
||||||
REDIS_URL: redis://vector-db.default.svc.cluster.local:6379
|
|
||||||
INDEX_NAME: rag-redis
|
|
||||||
HUGGINGFACEHUB_API_TOKEN: ${HF_TOKEN}
|
|
||||||
EMBEDDING_SERVICE_HOST_IP: embedding-svc
|
|
||||||
RETRIEVER_SERVICE_HOST_IP: retriever-svc
|
|
||||||
RERANK_SERVICE_HOST_IP: reranking-svc
|
|
||||||
NODE_SELECTOR: chatqna-opea
|
|
||||||
LLM_SERVICE_HOST_IP: llm-svc
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/chatqna-without-rerank:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: chatqna-backend-server-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 4000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 4000Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: chatqna-backend-server-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: NodePort
|
|
||||||
selector:
|
|
||||||
app: chatqna-backend-server-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 8888
|
|
||||||
targetPort: 8888
|
|
||||||
nodePort: 30888
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dataprep-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: dataprep-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/dataprep-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: dataprep-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6007
|
|
||||||
- containerPort: 6008
|
|
||||||
- containerPort: 6009
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: dataprep-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: dataprep-deploy
|
|
||||||
ports:
|
|
||||||
- name: port1
|
|
||||||
port: 6007
|
|
||||||
targetPort: 6007
|
|
||||||
- name: port2
|
|
||||||
port: 6008
|
|
||||||
targetPort: 6008
|
|
||||||
- name: port3
|
|
||||||
port: 6009
|
|
||||||
targetPort: 6009
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
|
|
||||||
name: embedding-dependency-deploy
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(EMBEDDING_MODEL_ID)
|
|
||||||
- --auto-truncate
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
requests:
|
|
||||||
cpu: 76
|
|
||||||
memory: 20000Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6006
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: embedding-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: embedding-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: embedding-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/embedding-tei:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: embedding-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 6000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 4
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: embedding-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: embedding-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 6000
|
|
||||||
targetPort: 6000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 16
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
|
||||||
name: llm-dependency-deploy-demo
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- SYS_NICE
|
|
||||||
args:
|
|
||||||
- --model-id
|
|
||||||
- $(LLM_MODEL_ID)
|
|
||||||
- --max-input-length
|
|
||||||
- '1024'
|
|
||||||
- --max-total-tokens
|
|
||||||
- '2048'
|
|
||||||
- --max-batch-total-tokens
|
|
||||||
- '65536'
|
|
||||||
- --max-batch-prefill-tokens
|
|
||||||
- '4096'
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: model-volume
|
|
||||||
- mountPath: /dev/shm
|
|
||||||
name: shm
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
habana.ai/gaudi: 1
|
|
||||||
env:
|
|
||||||
- name: OMPI_MCA_btl_vader_single_copy_mechanism
|
|
||||||
value: none
|
|
||||||
- name: PT_HPU_ENABLE_LAZY_COLLECTIVES
|
|
||||||
value: 'true'
|
|
||||||
- name: runtime
|
|
||||||
value: habana
|
|
||||||
- name: HABANA_VISIBLE_DEVICES
|
|
||||||
value: all
|
|
||||||
- name: HUGGING_FACE_HUB_TOKEN
|
|
||||||
value: ${HF_TOKEN}
|
|
||||||
- name: ENABLE_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: LIMIT_HPU_GRAPH
|
|
||||||
value: 'true'
|
|
||||||
- name: USE_FLASH_ATTENTION
|
|
||||||
value: 'true'
|
|
||||||
- name: FLASH_ATTENTION_RECOMPUTE
|
|
||||||
value: 'true'
|
|
||||||
serviceAccountName: default
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
hostPath:
|
|
||||||
path: /mnt/models
|
|
||||||
type: Directory
|
|
||||||
- name: shm
|
|
||||||
emptyDir:
|
|
||||||
medium: Memory
|
|
||||||
sizeLimit: 1Gi
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-dependency-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-dependency-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9009
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: llm-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: llm-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: llm-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- envFrom:
|
|
||||||
- configMapRef:
|
|
||||||
name: qna-config
|
|
||||||
image: opea/llm-tgi:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: llm-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 9000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 4
|
|
||||||
requests:
|
|
||||||
cpu: 4
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: llm-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: llm-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 9000
|
|
||||||
targetPort: 9000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: retriever-deploy
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: 'true'
|
|
||||||
labels:
|
|
||||||
app: retriever-deploy
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: retriever-deploy
|
|
||||||
hostIPC: true
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: REDIS_URL
|
|
||||||
- name: TEI_EMBEDDING_ENDPOINT
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: TEI_EMBEDDING_ENDPOINT
|
|
||||||
- name: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: HUGGINGFACEHUB_API_TOKEN
|
|
||||||
- name: INDEX_NAME
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: qna-config
|
|
||||||
key: INDEX_NAME
|
|
||||||
image: opea/retriever-redis:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: retriever-deploy
|
|
||||||
args: null
|
|
||||||
ports:
|
|
||||||
- containerPort: 7000
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 8
|
|
||||||
memory: 2500Mi
|
|
||||||
requests:
|
|
||||||
cpu: 8
|
|
||||||
memory: 2500Mi
|
|
||||||
serviceAccountName: default
|
|
||||||
---
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: retriever-svc
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: retriever-deploy
|
|
||||||
ports:
|
|
||||||
- name: service
|
|
||||||
port: 7000
|
|
||||||
targetPort: 7000
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
# Copyright (C) 2024 Intel Corporation
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vector-db
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
node-type: chatqna-opea
|
|
||||||
topologySpreadConstraints:
|
|
||||||
- maxSkew: 1
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
whenUnsatisfiable: ScheduleAnyway
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
app: vector-db
|
|
||||||
containers:
|
|
||||||
- name: vector-db
|
|
||||||
image: redis/redis-stack:7.2.0-v9
|
|
||||||
ports:
|
|
||||||
- containerPort: 6379
|
|
||||||
- containerPort: 8001
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: vector-db
|
|
||||||
namespace: default
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: vector-db
|
|
||||||
ports:
|
|
||||||
- name: vector-db-service
|
|
||||||
port: 6379
|
|
||||||
targetPort: 6379
|
|
||||||
- name: vector-db-insight
|
|
||||||
port: 8001
|
|
||||||
targetPort: 8001
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1294,7 +1294,7 @@ spec:
|
|||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
seccompProfile:
|
seccompProfile:
|
||||||
type: RuntimeDefault
|
type: RuntimeDefault
|
||||||
image: "ghcr.io/huggingface/tei-gaudi:synapse_1.16"
|
image: "ghcr.io/huggingface/tei-gaudi:latest"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
args:
|
args:
|
||||||
- "--auto-truncate"
|
- "--auto-truncate"
|
||||||
|
|||||||
@@ -1115,7 +1115,7 @@ spec:
|
|||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
seccompProfile:
|
seccompProfile:
|
||||||
type: RuntimeDefault
|
type: RuntimeDefault
|
||||||
image: "ghcr.io/huggingface/tei-gaudi:synapse_1.16"
|
image: "ghcr.io/huggingface/tei-gaudi:latest"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
args:
|
args:
|
||||||
- "--auto-truncate"
|
- "--auto-truncate"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ docker run -it --rm \
|
|||||||
--ipc=host \
|
--ipc=host \
|
||||||
-e HTTPS_PROXY=$https_proxy \
|
-e HTTPS_PROXY=$https_proxy \
|
||||||
-e HTTP_PROXY=$https_proxy \
|
-e HTTP_PROXY=$https_proxy \
|
||||||
ghcr.io/huggingface/tgi-gaudi:2.0.1 \
|
ghcr.io/huggingface/tgi-gaudi:2.0.5 \
|
||||||
--model-id $model_name \
|
--model-id $model_name \
|
||||||
--max-input-tokens $max_input_tokens \
|
--max-input-tokens $max_input_tokens \
|
||||||
--max-total-tokens $max_total_tokens \
|
--max-total-tokens $max_total_tokens \
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ services:
|
|||||||
INDEX_NAME: ${INDEX_NAME}
|
INDEX_NAME: ${INDEX_NAME}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
tgi-gaudi:
|
tgi-gaudi:
|
||||||
image: ghcr.io/huggingface/tgi-gaudi:2.0.4
|
image: ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
container_name: tgi-llava-gaudi-server
|
container_name: tgi-llava-gaudi-server
|
||||||
ports:
|
ports:
|
||||||
- "8399:80"
|
- "8399:80"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ function build_docker_images() {
|
|||||||
service_list="multimodalqna multimodalqna-ui embedding-multimodal-bridgetower embedding-multimodal retriever-multimodal-redis lvm-tgi dataprep-multimodal-redis"
|
service_list="multimodalqna multimodalqna-ui embedding-multimodal-bridgetower embedding-multimodal retriever-multimodal-redis lvm-tgi dataprep-multimodal-redis"
|
||||||
docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH}/docker_image_build.log
|
docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH}/docker_image_build.log
|
||||||
|
|
||||||
docker pull ghcr.io/huggingface/tgi-gaudi:2.0.4
|
docker pull ghcr.io/huggingface/tgi-gaudi:2.0.5
|
||||||
|
|
||||||
docker images && sleep 1s
|
docker images && sleep 1s
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -362,7 +362,7 @@ spec:
|
|||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
seccompProfile:
|
seccompProfile:
|
||||||
type: RuntimeDefault
|
type: RuntimeDefault
|
||||||
image: "ghcr.io/huggingface/tgi-gaudi:2.0.1"
|
image: "ghcr.io/huggingface/tgi-gaudi:2.0.5"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /data
|
- mountPath: /data
|
||||||
|
|||||||
Reference in New Issue
Block a user