Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
8bfaee7
Patch code up to d4c7c294
actions-user Nov 21, 2025
70102a9
Patch code up to 1311bd60
actions-user Nov 21, 2025
65618a0
Patch code up to 48c09d1c
actions-user Nov 24, 2025
0fd522e
Patch code up to df946240
actions-user Nov 24, 2025
ba0958e
Patch code up to 5bb3c3d9
actions-user Nov 26, 2025
951fd01
Patch code up to 5b15531d
actions-user Nov 27, 2025
0074ff4
Patch code up to f3f721e5
actions-user Nov 27, 2025
ae3d619
Patch code up to 2c4d039a
actions-user Nov 28, 2025
c6e483f
Patch code up to 51b842d1
actions-user Nov 28, 2025
a573e28
Patch code up to 7dc07312
actions-user Nov 28, 2025
52f0c2c
Patch code up to a9811572
actions-user Nov 28, 2025
c8f1de2
Patch code up to a177c94c
actions-user Dec 1, 2025
a86ceaf
Patch code up to 500ea600
actions-user Dec 1, 2025
d7b11b8
Patch code up to ee225290
actions-user Dec 1, 2025
c729a9f
Patch code up to f3547b45
actions-user Dec 2, 2025
6602841
Patch code up to 5deee350
actions-user Dec 2, 2025
88e69ff
Patch code up to 8d016283
actions-user Dec 2, 2025
56a33cd
Patch code up to 7ebab09c
actions-user Dec 3, 2025
ea31194
Patch code up to 5a61b03d
actions-user Dec 3, 2025
3d658f0
Patch code up to 26617d82
actions-user Dec 3, 2025
0a9cdf0
Patch code up to f4f95015
actions-user Dec 3, 2025
96616a5
Patch code up to 19305a13
actions-user Dec 4, 2025
31affce
Patch code up to acbaf505
actions-user Dec 4, 2025
6a349f3
Patch code up to 1ca2f9bc
actions-user Dec 4, 2025
6aea1d0
Patch code up to 86628776
actions-user Dec 4, 2025
6b0265a
Patch code up to cf033778
actions-user Dec 4, 2025
83ad9bd
Patch code up to 8ff106c5
actions-user Dec 5, 2025
96cfa7f
Patch code up to a55fe7c0
actions-user Dec 5, 2025
828157e
Patch code up to a972b63a
actions-user Dec 5, 2025
183aa8f
Patch code up to 499bfc88
actions-user Dec 8, 2025
659e28a
Patch code up to 8c384b36
actions-user Dec 8, 2025
1512e10
Patch code up to 71c5e846
actions-user Dec 9, 2025
de9354d
Patch code up to 4d22c377
actions-user Dec 9, 2025
b2a81b4
Patch code up to 8dcf4f18
actions-user Dec 9, 2025
9695a5e
Patch code up to 725b1237
actions-user Dec 9, 2025
2a4d9f3
Patch code up to a30640ec
actions-user Dec 9, 2025
c8b66ad
Patch code up to 55b58e46
actions-user Dec 9, 2025
fc614cd
Patch code up to f6e46f97
actions-user Dec 9, 2025
f34e642
Patch code up to aa57bcea
actions-user Dec 9, 2025
ce7abd5
Patch code up to 1f751a52
actions-user Dec 9, 2025
5cef3d7
Patch code up to d8b7bf57
actions-user Dec 9, 2025
76f9b13
Patch code up to 45ff62b7
actions-user Dec 9, 2025
33ea6d4
Patch code up to 1fde48b9
actions-user Dec 9, 2025
f6a446f
Patch code up to 0bbc4b18
actions-user Dec 9, 2025
849afd0
Patch code up to 148be953
actions-user Dec 9, 2025
4256086
Patch code up to 997094fb
actions-user Dec 9, 2025
63f8938
Patch code up to 745163fd
actions-user Dec 9, 2025
ac7acb4
Patch code up to 0bf679d7
actions-user Dec 9, 2025
ac07f58
Patch code up to 354b41fc
actions-user Dec 9, 2025
566850e
Patch code up to 0e881696
actions-user Dec 12, 2025
1c676d9
Patch code up to c568fff3
actions-user Dec 12, 2025
522e3c9
Patch code up to 90aa51a3
actions-user Dec 12, 2025
d6d652f
Patch code up to d5763c48
actions-user Dec 12, 2025
d242768
Patch code up to e937a3b9
actions-user Dec 15, 2025
e5eb985
Patch code up to 5da15844
actions-user Dec 16, 2025
2612765
Patch code up to fee11355
actions-user Dec 16, 2025
1bfeb4c
Patch code up to 52bcc9f4
actions-user Dec 16, 2025
fe40ebc
Patch code up to c888d18b
actions-user Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,14 @@ src/tests/e2e/evals/evaluation/rag_eval/examples/output/
# UI test framework dependencies and results
src/tests/node_modules
test-results

# Terraform
*.tfstate
*.tfstate.backup
.terraform/
.terraform.lock.hcl
crash.log
override.tf
override.tf.json
*_override.tf
*_override.tf.json
38 changes: 27 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,21 +45,27 @@ Document Summarization's pipeline architecture is available [here](./docs/images
<img alt="ChatQnA Architecture" src="./docs/images/architecture_chatqna.svg" width="900">
</div>

# Table of Contents
# Table of Contents <!-- omit from toc -->


1. [Intel® AI for Enterprise RAG](#intel-ai-for-enterprise-rag)
- [Why use Intel® AI for Enterprise RAG?](#why-use-intel-ai-for-enterprise-rag)
- [Core Features](#core-features)
3. [Requirements](#requirements)
- [Pipeline Architecture](#pipeline-architecture)
2. [Requirements](#requirements)
- [System Requirements](#system-requirements)
- [Software Prerequisites](#software-prerequisites)
- [Hardware Requirements](#hardware-requirements)
- [Deployment on Xeon only](#deployment-on-xeon-only)
- [Deployment on Xeon + Gaudi Accelerator](#deployment-on-xeon--gaudi-accelerator)
4. [Getting Started](#getting-started)
- [Install a Kubernetes cluster (optional - if you don't have one)](#install-a-kubernetes-cluster-optional---if-you-dont-have-one)
- [Install infrastructure components (storage, operators, backup tools)](#install-infrastructure-components-storage-operators-backup-tools)
- [Deploy the Intel® AI for Enterprise RAG application on top of the prepared infrastructure](#deploy-the-intel-ai-for-enterprise-rag-application-on-top-of-the-prepared-infrastructure)
- [Deployment on Xeon only](#deployment-on-xeon-only)
- [Deployment on Xeon + Gaudi Accelerator](#deployment-on-xeon--gaudi-accelerator)
3. [Getting Started](#getting-started)
- [Validate Hardware Requirements](#validate-hardware-requirements)
- [Intel Enterprise RAG Deployment - Standalone](#intel-enterprise-rag-deployment---standalone)
- [Install a Kubernetes cluster (optional - if you don't have one)](#install-a-kubernetes-cluster-optional---if-you-dont-have-one)
- [Install infrastructure components (storage, operators, backup tools)](#install-infrastructure-components-storage-operators-backup-tools)
- [Deploy the Intel® AI for Enterprise RAG application on top of the prepared infrastructure](#deploy-the-intel-ai-for-enterprise-rag-application-on-top-of-the-prepared-infrastructure)
4. [Intel AI Enterprise RAG Deployment - Partner Solutions](#intel-ai-enterprise-rag-deployment---partner-solutions)
- [Nutanix AI & Intel® AI for Enterprise RAG](#nutanix-ai--intel-ai-for-enterprise-rag)
5. [Documentation](#documentation)
6. [Support](#support)
7. [Publications](#publications)
Expand Down Expand Up @@ -138,11 +144,13 @@ ansible-playbook playbooks/validate.yaml --tags hardware -i inventory/test-clust
> [!NOTE]
> If this is a Gaudi deployment, add the additional flag `-e is_gaudi_platform=true`

## Install a Kubernetes cluster (optional - if you don't have one)
## Intel AI Enterprise RAG Deployment - Standalone

### Install a Kubernetes cluster (optional - if you don't have one)

Intel® AI for Enterprise RAG offers ansible automation for creating a K8s cluster. If you want to set up a K8s cluster, follow the [Cluster Deployment Guide](docs/cluster_deployment_guide.md).

## Install infrastructure components (storage, operators, backup tools)
### Install infrastructure components (storage, operators, backup tools)

The Intel® AI for Enterprise RAG repository offers installation of additional infrastructure components on the deployed K8s cluster:
- **Gaudi_operator** - dedicated for K8s clusters with nodes that use Gaudi AI accelerators
Expand All @@ -151,10 +159,16 @@ The Intel® AI for Enterprise RAG repository offers installation of additional i

If your K8s cluster requires installing any of these tools, please follow the [Infrastructure Components Guide](docs/infrastructure_components_guide.md).

## Deploy the Intel® AI for Enterprise RAG application on top of the prepared infrastructure
### Deploy the Intel® AI for Enterprise RAG application on top of the prepared infrastructure

Once you have a K8s cluster with all infrastructure components installed, you can install the Intel® AI for Enterprise RAG application on top of it. Please follow the [Application Deployment Guide](docs/application_deployment_guide.md).

# Intel AI Enterprise RAG Deployment - Partner Solutions

## Nutanix AI & Intel® AI for Enterprise RAG

Follow documentation to deploy Nutanix AI with Intel® AI for Enterprise RAG using the [Nutanix AI Deployment Guide](docs/nutanix/README.md).

# Documentation

Refer to [deployment/README.md](deployment/README.md) or [docs](docs/) for more detailed deployment guide or in-depth instructions on Intel® AI for Enterprise RAG components.
Expand All @@ -166,6 +180,8 @@ Submit questions, feature requests, and bug reports on the GitHub Issues page.
# Publications

Feel free to checkout articles about Intel® AI for Enterprise RAG:
* [Securing Enterprise RAG Deployments](https://www.intel.com/content/www/us/en/content-details/870124/securing-enterprise-rag-deployments.html)
* [Document Summarization: Transforming Enterprise Content with Intel® AI for Enterprise RAG](https://community.intel.com/t5/Blogs/Tech-Innovation/Artificial-Intelligence-AI/Document-Summarization-Transforming-Enterprise-Content-with/post/1728252)
* [Scaling Intel® AI for Enterprise RAG Performance: 64-Core vs 96-Core Intel® Xeon®](https://community.intel.com/t5/Blogs/Tech-Innovation/Artificial-Intelligence-AI/Scaling-Intel-AI-for-Enterprise-RAG-Performance-64-Core-vs-96/post/1723234)
* [Comprehensive Analysis: Intel® AI for Enterprise RAG Performance](https://community.intel.com/t5/Blogs/Tech-Innovation/Artificial-Intelligence-AI/Comprehensive-Analysis-Intel-AI-for-Enterprise-RAG-Performance/post/1723226)
* [Monitoring and Debugging RAG Systems in Production](https://community.intel.com/t5/Blogs/Tech-Innovation/Artificial-Intelligence-AI/Monitoring-and-Debugging-RAG-Systems-in-Production/post/1720292)
Expand Down
3 changes: 3 additions & 0 deletions deployment/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
upgrade/metadata/*
upgrade/reports/*
components/velero/charts/*
3 changes: 3 additions & 0 deletions deployment/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ The Intel® AI for Enterprise RAG repository offers installation of additional i

If your K8s cluster requires installing any of these tools, follow the [Infrastructure Components Guide](../docs/infrastructure_components_guide.md).

> [!NOTE]
> The `pre-install` tag automatically preconfigures system limits (such as file descriptors, process limits, and kernel parameters) on cluster nodes to ensure optimal performance for Enterprise RAG workloads. These configurations are applied before the main installation process.

## Deploy the Intel® AI for Enterprise RAG application on top of the prepared infrastructure

Once you have a K8s cluster with all infrastructure components installed, you can install the Intel® AI for Enterprise RAG application on top of it. Follow the [Application Deployment Guide](../docs/application_deployment_guide.md).
Expand Down
5 changes: 4 additions & 1 deletion deployment/components/apisix-routes/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
apiVersion: v2
name: auth-apisix-crds
description: A Helm chart with APISIX CRDs for backend services with authentication
version: 2.0.0
version: 2.0.2
appVersion: "2.0.1"
annotations:
app.kubernetes.io/part-of: ERAG
7 changes: 5 additions & 2 deletions deployment/components/apisix/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
apiVersion: v2
name: auth-apisix
description: A Helm chart for installing a specific version of APISIX API gateway and APISIX ingress controller
version: 2.0.0
appVersion: "2.0.0"
version: 2.0.2
appVersion: "2.0.1"
annotations:
app.kubernetes.io/part-of: ERAG

dependencies:
- name: apisix
version: 2.10.0
Expand Down
6 changes: 3 additions & 3 deletions deployment/components/chat_history/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: ferretdb
repository: file://../ferretdb
version: 0.1.4
digest: sha256:6c5b2907f7e2b972862db959001d3dc134a7145225709c5a8ccf055ecac7fe53
generated: "2025-10-15T09:52:29.798192647-07:00"
version: 0.1.5
digest: sha256:a51244a409b5e3ae2aae8181354acf88bb3f2aa8e46f593d2c10c95328673c01
generated: "2025-12-09T13:57:32.412736756+01:00"
10 changes: 5 additions & 5 deletions deployment/components/chat_history/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
apiVersion: v2
name: chat-history
description: Chat History Helm chart

type: application

version: 0.1.0
appVersion: "1.16.0"
version: 0.1.2
appVersion: "2.0.1"
annotations:
app.kubernetes.io/part-of: ERAG

dependencies:
- name: ferretdb
version: "0.1.4"
version: "*"
repository: "file://../ferretdb"
8 changes: 4 additions & 4 deletions deployment/components/edp/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ dependencies:
version: 14.10.3
- name: edp-redis
repository: file://charts/edp-redis
version: 1.0.0
version: 1.0.1
- name: postgresql
repository: file://../postgresql
version: 0.1.0
digest: sha256:985d9da111b8309178248b9dcbc5fcab5a51c12a1b12eda30bf934d8632db14c
generated: "2025-11-05T12:07:28.356959671-08:00"
version: 0.1.2
digest: sha256:1f725f474b78af7321073a7b994ea78df8dba3ffbfdb4e10fb4ce14f1ff1c23d
generated: "2025-12-09T13:57:42.096648941+01:00"
13 changes: 6 additions & 7 deletions deployment/components/edp/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,20 @@
apiVersion: v2
name: helm-edp
description: Enchanced dataprep pipeline chart

type: application

version: 0.1.0

appVersion: "1.16.0"
version: 0.1.2
appVersion: "2.0.1"
annotations:
app.kubernetes.io/part-of: ERAG

dependencies:
- name: minio
version: 14.10.3
repository: https://charts.bitnami.com/bitnami
condition: minio.enabled
- name: edp-redis
version: 1.0.0
version: "*"
repository: file://charts/edp-redis
- name: postgresql
version: 0.1.0
version: "*"
repository: file://../postgresql
6 changes: 4 additions & 2 deletions deployment/components/edp/charts/edp-redis/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@ apiVersion: v2
name: edp-redis
description: Standalone Redis 8.2.2 for EDP
type: application
version: 1.0.0
appVersion: "8.2.2"
version: 1.0.1
appVersion: "2.0.1"
annotations:
app.kubernetes.io/part-of: ERAG
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ spec:
{{- include "helm-edp.backend.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- include "manifest.podLabels" (list .Values.backend.nameOverride .) | nindent 6 }}
{{- include "manifest.tdx.annotations" (list .Values.backend.nameOverride .) | nindent 6 }}
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ spec:
{{- include "helm-edp.celery.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- include "manifest.podLabels" (list .Values.celery.nameOverride .) | nindent 6 }}
{{- include "manifest.tdx.annotations" (list .Values.celery.nameOverride .) | nindent 6 }}
spec:
Expand Down
28 changes: 27 additions & 1 deletion deployment/components/edp/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: edp-configmap
namespace: edp
namespace: {{ .Release.Namespace }}
data:
HIERARCHICAL_DATAPREP_ENDPOINT: {{ if .Values.hierarchicalDataprep.enabled }}{{ print "http://" .Values.hierarchicalDataprep.nameOverride ":9399/v1/hierarchical_dataprep" | quote }}{{ else }}""{{ end }}
TEXT_EXTRACTOR_ENDPOINT: {{ if not .Values.hierarchicalDataprep.enabled }}{{ print "http://" .Values.textExtractor.nameOverride ":9398/v1/text_extractor" | quote }}{{ else }}""{{ end }}
Expand All @@ -22,3 +22,29 @@ data:
DPGUARD_ENABLED: {{ .Values.dpguard.enabled | quote }}
FINGERPRINT_ENDPOINT: "http://fingerprint-svc.fingerprint.svc:6012/v1/system_fingerprint/append_arguments"
PRESIGNED_URL_CREDENTIALS_SYSTEM_FALLBACK: {{ .Values.presignedUrlCredentialsSystemFallback | quote }}
{{- /* Query TorchServe configuration from chatqa namespace */ -}}
{{- $torchserveReplicas := 1 }}
{{- $torchserveBatchSize := 32 }}
{{- $torchserveMaxWorkers := 4 }}
{{- /* Lookup TorchServe deployment */ -}}
{{- $torchserveDeployments := lookup "apps/v1" "Deployment" "chatqa" "" }}
{{- if $torchserveDeployments }}
{{- range $torchserveDeployments.items }}
{{- if hasPrefix "torchserve-embedding-svc-" .metadata.name }}
{{- $torchserveReplicas = .spec.replicas }}
{{- end }}
{{- end }}
{{- end }}
{{- /* Lookup TorchServe ConfigMap for batch size and workers */ -}}
{{- $torchserveConfigMap := lookup "v1" "ConfigMap" "chatqa" "torchserve-embedding-config" }}
{{- if $torchserveConfigMap }}
{{- if $torchserveConfigMap.data.TORCHSERVE_BATCH_SIZE }}
{{- $torchserveBatchSize = $torchserveConfigMap.data.TORCHSERVE_BATCH_SIZE | int }}
{{- end }}
{{- if $torchserveConfigMap.data.TORCHSERVE_MAX_WORKERS }}
{{- $torchserveMaxWorkers = $torchserveConfigMap.data.TORCHSERVE_MAX_WORKERS | int }}
{{- end }}
{{- end }}
{{- /* Calculate CELERY_BATCH_SIZE = replicas × max_workers × batch_size */ -}}
{{- $celeryBatchSize := mul (mul $torchserveReplicas $torchserveMaxWorkers) $torchserveBatchSize }}
CELERY_BATCH_SIZE: {{ $celeryBatchSize | quote }}
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ spec:
{{- include "helm-edp.flower.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- include "manifest.podLabels" (list .Values.flower.nameOverride .) | nindent 6 }}
{{- include "manifest.tdx.annotations" (list .Values.flower.nameOverride .) | nindent 6 }}
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ spec:
{{- include "helm-edp.ingestion.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/ingestion/ingestion-configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- include "manifest.podLabels" (list .Values.ingestion.nameOverride .) | nindent 6 }}
{{- include "manifest.tdx.annotations" (list .Values.ingestion.nameOverride .) | nindent 6 }}
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ spec:
{{- include "helm-edp.textCompression.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/textCompression/text-compression-configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- include "manifest.podLabels" (list .Values.textCompression.nameOverride .) | nindent 6 }}
{{- include "manifest.tdx.annotations" (list .Values.textCompression.nameOverride .) | nindent 6 }}
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ spec:
{{- include "helm-edp.textExtractor.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- include "manifest.podLabels" (list .Values.textExtractor.nameOverride .) | nindent 6 }}
{{- include "manifest.tdx.annotations" (list .Values.textExtractor.nameOverride .) | nindent 6 }}
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ spec:
{{- include "helm-edp.textSplitter.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/textSplitter/text-splitter-configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- include "manifest.podLabels" (list .Values.textSplitter.nameOverride .) | nindent 6 }}
{{- include "manifest.tdx.annotations" (list .Values.textSplitter.nameOverride .) | nindent 6 }}
spec:
Expand Down
Loading