REDISAI installation
Document version: 245. 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].
Updated 22 days ago