REDISAI installation

Document version: 239. Automatically generated.

📘

RedisAI is a Redis module for executing Deep Learning/Machine Learning models and managing their data. Its purpose is to be a "workhorse" for model serving, by providing out-of-the-box support for popular DL/ML frameworks and unparalleled performance.

SentiOne's NLU applications utilize it with TensorFlow and sentencepiece to achive robust performance.

RedisAI platform is designed to run inside the Kubernetes cluster.

Prerequisites

  • Kubernetes cluster
  • Helm (version 3 or higher)
  • Access to Automate HELM Charts repository charts.sentione.com is granted
  • Access to harbor-vm-proxy.sentione.com docker images repository is granted
  • Local-path-provisioner (this is optional, but highly reccomended for data persistence. It may also be replaced with other dynamic PV provisioner like OpenEBS)

Steps

Add helm repository

To add the helm repository, use:

helm repo add sentione-hub https://charts.sentione.com/repository/helm --username USERNAME --password PASSWORD

and fetch repository data:

helm repo update

Container images repo access

The chart is based on images available on harbor-vm-proxy.sentione.com which requires authorization. Secret should be created by;

kubectl create secret \
docker-registry sec-harbor-vm-proxy.sentione.com \
--docker-server=<PRIVATE_REPO_ADDRESS> \
--docker-username=<USER> \
--docker-password=<PASSOWRD> \
--docker-email=<EMAIL> \
--namespace <NAMESPACE>

Values preparation

Before deploying the chart prepare values.yaml file, according to this minimal template:

clusterDomain: cluster.local

persistence:
  # set to false in order to disable data persistence
  enabled: true
  # may be changed to other storageClass names if not using local-path-provisioner
  storageClass: "local-path"

Redis cluster size
The default deployment creates a 6-node cluster (3 masters and 3 replica nodes), this may be changed by using:

cluster:
  nodes: n

n must be an even number

Data persistence

RedisAI holds the results of NLU training. This data may be "regenerated" by running the NLU training again.
We recommend not turning off persistence as it causes the need to retrain in case of RedisAI restart/failure.

Deployment

In order to deploy the chart run, while replacing $REDIS_AI_NAMESPACE with the desired namespace in Kubernetes:

helm -n $REDIS_AI_NAMESPACE upgrade --install redis-ai sentione-hub/redis-cluster --values values.yaml --create-namespace --version 1.0.1

NLU configuration

After RedisAI is deployed the NLU config should be adjusted, see (installation guide 5.3)[installation].