Skip to main content

software catalog

Docs pulled from project reposUpdated Sep 24, 2026View on GitHub

Configuration Reference

← Customize

RAG-specific settings in env/<name>/config.erag.yaml. This is the file you edit to change models, pipelines, storage, and features; the installer reads it on every install erag run and updates only the components a change affects.

Overview

bash
./es_auto_installer.sh init erag --env local      # seeds config.erag.yaml
vi env/local/config.erag.yaml                     # (optional) customize
./es_auto_installer.sh install erag --env local   # deploys

Defaults: ChatQnA base, all components enabled, three models (LLM, embedding, reranking), Redis cluster vector store.

Edit when:

Change neededSetting
Different pipeline/variantpipeline_type / pipeline_variant
Disable component<component>_enabled: false
Different modelsinference_models
Different vector DBvector_databases_vector_store
External S3edp_storage_type + edp_s3_*
SSO/SharePointerag_keycloak_oidc_*

Pipeline selection

SettingDefaultOptions
pipeline_typechatqnachatqna | docsum | translation | audioqna
pipeline_variantbasebase | retrieve-rerank | upload (ChatQnA only)
solution_languageautoauto (Polish if LLM name has PLLuM/Bielik, else English) | en | pl

Types: chatqna (RAG with retrieval/rerank/LLM), docsum (TextExtractor → TextCompression → TextSplitter → LLM → DocSum), translation (ALMA models, preview), audioqna (ChatQnA + ASR/TTS).

Variants: base (full), retrieve-rerank (no LLM, retrieval-only), upload (embedding-only, ingestion). See pipelines.md.

Component enablement

ComponentDefaultPurpose
vector_databases_enabledtrueVector DB (Redis/MSSQL/pgvector)
chat_history_enabledtruePostgreSQL chat history
edp_enabledtrueEnhanced Data Preparation
hpa_enabledtrueHorizontal Pod Autoscaling
ui_enabledtrueReact UI
mcp_enabledfalseModel Context Protocol gateway

Backup and restore

SettingDefaultPurpose
backup_enabledfalseArms this layer's backup profile. Also needs the platform's velero_enabled: true and storage_backend: nfs or ceph — both switches are independent, and either off makes a run a no-op
upgrade_backup_max_age_hours6How fresh a backup the pre-upgrade gate demands, once backup_enabled is true
allow_upgrade_without_backupfalseBypass the gate for one upgrade

See Backup and Restore for what is captured, how to run it, and the identity realm.

Inference models

yaml
inference_models:
  - name: llama3-8b-awq
    role: llm
  - name: nomic-embed
    role: embedding
  - name: bge-reranker
    role: reranking

Each model name correspods to model definition defined in env/<name>/models-rag.yaml (seeded from deployment/models.yaml). Roles: llm, embedding, reranking are adding specific VLLM parameters to specific VLLM categories.

If you'd like to use a model, not listed in models-rag.yaml, add a new entry there with name + model_id and reference to it in config.erag.yaml.

Changing models: edit and re-install. Auto undeploys old, deploys new, downloads weights, waits for readiness. Changing embedding invalidates index - re-ingest all documents.

See models.md.

Vector database

SettingDefaultOptions
vector_databases_namespacevdb
vector_databases_vector_storeredis-clusterredis-cluster | mssql | pgvector
vector_databases_vector_datatypeFLOAT32
vector_databases_vector_dims768Auto-detected; override if detection fails

Backends: redis-cluster (production, 1M+ vectors, HA, scalable), mssql (SQL Server; RBAC unsupported; EULA prompt on deploy), pgvector (PostgreSQL).

Storage: default ~5GB. Increase in deployment/components/vector_databases/values.yaml (persistence.size: 100Gi). Vector store needs more storage than file storage (text + embeddings).

Details: deployment/components/vector_databases/README.md.

Enhanced Data Preparation (EDP)

SettingDefaultOptions
edp_namespaceedp
edp_storage_typeseaweedfsseaweedfs | s3 | s3compatible
edp_late_chunking_enabledfalseNot supported - models.md
edp_rbac_enabledfalseMust be false for ONTAP S3, MSSQL
edp_scheduled_sync_enabledfalseFor S3-compatible sans SQS

Backends: seaweedfs (in-cluster), s3 (AWS + SQS), s3compatible (ONTAP S3, external MinIO). See object_store.md.

Authentication and SSO

SSO and SharePoint share one Entra app registration:

yaml
erag_keycloak_oidc_endpoint: ""       # non-empty enables SSO
erag_keycloak_oidc_alias: "enterprise-sso"
erag_keycloak_oidc_client_id: ""
erag_keycloak_oidc_client_secret: ""
erag_keycloak_oidc_tenant_id: ""      # non-empty additionally enables SharePoint

No _enabled flags. All empty = disabled. Partial config rejected. See: sharepoint.md, auth.md.

MCP gateway

SettingDefault
mcp_enabledfalse
mcp_namespacemcp-gateway
mcp_keycloak_client_idmcp-client

Exposes RAG as tools (retrieve_context, list_buckets, ingest_url, ingest_file, check_ingestion_status) over SSE. OAuth 2.0 client credentials. See mcp.md.

Container images

SettingDefaultNotes
registrydocker.io/intel
tagfrom deployment/version.yamlOmit for default; mismatched version needs tag_override: true
tag_overridefalse
local_registryfalseMulti-node

See images.md.

Horizontal Pod Autoscaling

hpa_enabled: true (default). Scales pods by CPU/memory. Disable for: fixed workload, manual scaling, resource-constrained.

UI

ui_enabled: true (default). ui_chat_maintenance_mode: false (auto-set to true for retrieve-rerank/upload).

Node pinning

namespace_node_selector: {}. Pin pods to one node (kubernetes.io/hostname: "worker-node-1"). Single-node only. Topology detection runs on selected node. Requires PodNodeSelector admission plugin. Verify: kubectl get namespace <ns> -o jsonpath='{.metadata.annotations.scheduler\.alpha\.kubernetes\.io/node-selector}'.

Routing mode

From env/<name>/global_config.yaml: subdomain (each service gets subdomain; needs wildcard DNS) or path (one FQDN, path-based; cloud-friendly). For path, update SSO redirect URIs.

Additional settings

SettingDefault
inference_namespacellm-inference
secure_logstrue
helm_timeout10m0s
helm_retries3

Full template

yaml
# config.erag.yaml - defaults
registry: "docker.io/intel"
# tag: "3.0.0"
# tag_override: false

pipeline_type: "chatqna"
pipeline_variant: "base"
# solution_language: "auto"

vector_databases_enabled: true
chat_history_enabled: true
edp_enabled: true
hpa_enabled: true
ui_enabled: true
mcp_enabled: false

backup_enabled: false
# upgrade_backup_max_age_hours: 6
# allow_upgrade_without_backup: false

inference_namespace: "llm-inference"
inference_models:
  - name: llama3-8b-awq
    role: llm
  - name: nomic-embed
    role: embedding
  - name: bge-reranker
    role: reranking

# ui_chat_maintenance_mode: false
# edp_namespace: "edp"
# edp_storage_type: "seaweedfs"
# edp_late_chunking_enabled: false
# edp_rbac_enabled: false
# edp_scheduled_sync_enabled: false
# edp_s3_compatible_access_key_id: ""
# edp_s3_compatible_secret_access_key: ""
# vector_databases_namespace: "vdb"
# vector_databases_vector_store: "redis-cluster"
# vector_databases_vector_datatype: "FLOAT32"
# vector_databases_vector_dims: 768
# erag_keycloak_oidc_endpoint: ""
# erag_keycloak_oidc_alias: "enterprise-sso"
# erag_keycloak_oidc_client_id: ""
# erag_keycloak_oidc_client_secret: ""
# erag_keycloak_oidc_tenant_id: ""
# mcp_namespace: "mcp-gateway"
# mcp_keycloak_client_id: "mcp-client"
# namespace_node_selector: {}

Changing values

Edit env/<name>/config.erag.yaml and re-install, or override: ./es_auto_installer.sh install erag --env local -- -e mcp_enabled=true.

Precedence: CLI -e > global_config.yaml > config.erag.yaml > role defaults.

models.md (models, multilingual, tuning), auth.md/sharepoint.md (SSO, MFA, AD), mcp.md (MCP gateway), object_store.md (ONTAP S3), images.md (build images), pipelines.md (variants), performance.md (tuning), backup.md (backup and restore), platform config.