|
| 1 | +--- |
| 2 | +title: Install Prompts in an on-prem environment (optional) |
| 3 | +short: Install Prompts |
| 4 | +type: guide |
| 5 | +tier: enterprise |
| 6 | +order: 0 |
| 7 | +order_enterprise: 71 |
| 8 | +meta_title: Install Prompts |
| 9 | +meta_description: Install Prompts in a Label Studio Enterprise on-prem environment |
| 10 | +section: "Install & Setup" |
| 11 | +parent: "install_k8s" |
| 12 | +parent_enterprise: "install_enterprise_k8s" |
| 13 | +--- |
| 14 | + |
| 15 | +Installing Prompts in an on-prem environment requires installing Adala, our data labeling agent microservice. |
| 16 | + |
| 17 | +You only need to complete these steps if you want to use Prompts. For more information, see our [Prompts overview](prompts_overview). |
| 18 | + |
| 19 | + |
| 20 | +## Prerequisites |
| 21 | + |
| 22 | +- Kubernetes cluster **v1.24** or later |
| 23 | +- Helm **v3.8.0** or later |
| 24 | +- Docker CLI (for logging into Docker Hub) |
| 25 | + |
| 26 | +## Resource requirements |
| 27 | + |
| 28 | +Before installing, ensure your Kubernetes cluster can provide the following minimum resources for Adala: |
| 29 | + |
| 30 | +| Resource | Requirement | |
| 31 | +| --- | --- | |
| 32 | +| CPU | 6 cores | |
| 33 | +| Memory | 12 GB | |
| 34 | + |
| 35 | +## 1. Authenticate to Docker Hub and validate access |
| 36 | + |
| 37 | +You will need your Docker Hub username and password. If you do not have them, [request access from the HumanSignal team ](mailto:[email protected]). |
| 38 | + |
| 39 | +Log in to DockerHub to access the private OCI repository: |
| 40 | + |
| 41 | +```bash |
| 42 | + |
| 43 | +docker login -u CUSTOMER_USERNAME |
| 44 | +``` |
| 45 | + |
| 46 | +When prompted, enter your Docker Hub password. |
| 47 | + |
| 48 | +Then verify your credentials and access: |
| 49 | + |
| 50 | +```bash |
| 51 | +helm pull oci://registry-1.docker.io/heartexlabs/adala |
| 52 | +``` |
| 53 | + |
| 54 | +Expected output: |
| 55 | + |
| 56 | +```bash |
| 57 | +Pulled: registry-1.docker.io/heartexlabs/adala:X.X.X |
| 58 | +Digest: sha256:*************************************************** |
| 59 | +``` |
| 60 | + |
| 61 | +## 2. Create a Kubernetes secret for image pulling |
| 62 | + |
| 63 | +Create a Kubernetes secret to allow your cluster to pull private Adala images: |
| 64 | + |
| 65 | +```bash |
| 66 | +kubectl create secret docker-registry heartex-pull-key \ |
| 67 | + --docker-server=https://index.docker.io/v2/ \ |
| 68 | + --docker-username=CUSTOMER_USERNAME \ |
| 69 | + --docker-password=CUSTOMER_PASSWORD |
| 70 | +``` |
| 71 | + |
| 72 | +## 3. Prepare your custom values file |
| 73 | + |
| 74 | +Create a file named `custom.values.yaml` with the following contents: |
| 75 | + |
| 76 | +```yaml |
| 77 | +adala-app: |
| 78 | + deployment: |
| 79 | + image: |
| 80 | + tag: 20250428.151611-master-592e818 |
| 81 | + pullSecrets: |
| 82 | + - heartex-pull-key |
| 83 | +adala-worker: |
| 84 | + deployment: |
| 85 | + image: |
| 86 | + tag: 20250428.151611-master-592e818 |
| 87 | + pullSecrets: |
| 88 | + - heartex-pull-key |
| 89 | +``` |
| 90 | +
|
| 91 | +!!! note |
| 92 | + Replace the `image.tag` with the appropriate version if necessary. |
| 93 | + |
| 94 | + |
| 95 | +## 4. Create a dedicated namespace for Adala |
| 96 | + |
| 97 | +Create a dedicated namespace `prompt` for Adala: |
| 98 | + |
| 99 | +```bash |
| 100 | +kubectl create namespace prompt |
| 101 | +``` |
| 102 | + |
| 103 | +## 5. Install the Adala Helm chart |
| 104 | + |
| 105 | +Run the following command to install **Adala** using your custom values: |
| 106 | + |
| 107 | +```bash |
| 108 | +helm install lse oci://registry-1.docker.io/heartexlabs/adala --values custom.values.yaml |
| 109 | +``` |
| 110 | + |
| 111 | +## 6. Validate that Adala is running |
| 112 | + |
| 113 | +Check if all pods in the `prompt` namespace are in the **Running** or **Completed** state: |
| 114 | + |
| 115 | +```bash |
| 116 | +kubectl get pods -n prompt |
| 117 | +``` |
| 118 | + |
| 119 | +You should see output where all pods have `STATUS` set to `Running`, for example: |
| 120 | + |
| 121 | +``` |
| 122 | +NAME READY STATUS RESTARTS AGE |
| 123 | +adala-adala-app-d4564ffd7-gtmhx 1/1 Running 0 100m |
| 124 | +adala-adala-kafka-controller-0 1/1 Running 0 110m |
| 125 | +adala-adala-kafka-controller-1 1/1 Running 0 111m |
| 126 | +adala-adala-kafka-controller-2 1/1 Running 0 113m |
| 127 | +adala-adala-redis-master-0 1/1 Running 0 125m |
| 128 | +adala-adala-worker-5d87f97f76-mq952 1/1 Running 0 111m |
| 129 | +
|
| 130 | +``` |
| 131 | + |
| 132 | +If any pod is not running, you can investigate further: |
| 133 | + |
| 134 | +```bash |
| 135 | +
|
| 136 | +kubectl describe pod <pod-name> -n prompt |
| 137 | +``` |
| 138 | + |
| 139 | +or |
| 140 | + |
| 141 | +```bash |
| 142 | +kubectl logs <pod-name> -n prompt |
| 143 | +``` |
| 144 | + |
| 145 | +## 7. Update the Label Studio `values.yaml` file |
| 146 | + |
| 147 | +You will need to update the `global` section of your Label Studio Enterprise `values.yaml` file to include the following: |
| 148 | + |
| 149 | +* Add the Adala endpoint, which will allow Label Studio to connect to Adala. |
| 150 | +* Add the Prompts feature flag, to enable Prompts visibility within Label Studio. |
| 151 | + |
| 152 | + |
| 153 | +```yaml |
| 154 | +global: |
| 155 | + extraEnvironmentVars: |
| 156 | + PROMPTER_ADALA_URL: http://adala-adala-app.prompt:8000 |
| 157 | + featureFlags: |
| 158 | + fflag_feat_all_dia_835_prompter_workflow_long: true |
| 159 | +``` |
| 160 | + |
| 161 | +Note the following for `PROMPTER_ADALA_URL`: |
| 162 | + |
| 163 | +- `prompt` is the namespace where Adala is installed. |
| 164 | +- `adala-adala-app` is the name of the Adala service automatically created by the Helm release. |
| 165 | +- Port `8000` is the default port where Adala listens. |
| 166 | + |
| 167 | +After updating the values file, redeploy Label Studio to apply the changes. |
0 commit comments