Installation
This page assumes that you are deploying the latest version of LlamaCloud. Please refer to the release notes for more information about previous versions.
Before You Get Started​
Welcome to LlamaCloud! Before you get started, please make sure you have the following prerequisites:
- LlamaCloud License Key. To obtain a LlamaCloud License Key, please contact us at support@llamaindex.ai.
- Kubernetes cluster
>=1.28.0
and a working installation ofkubectl
. - Helm
v3.7.0+
- To install Helm, please refer to the official Helm Documentation.
- OpenAI API Key or Azure OpenAI Credentials. These credentials are required to setup a fully functional LlamaCloud deployment.
- OIDC Credentials. At the time of writing, this is our only supported authentication method. For more information, please refer to the OIDC authentication section.
- (For Production Deployments) Credentials to External Services (Postgres, MongoDB, Redis, RabbitMQ).
- We provide containerized versions of these dependencies to get started quickly. However, we recommend connecting LlamaCloud to externally managed services for production deployments.
Hardware Requirements​
- Linux Instances running x86 CPUs
- As of August 12th, 2024, we build only linux/amd64 images. arm64 is not supported at this moment.
- Ubuntu >=22.04
- >=12 vCPUs
- >=80Gbi Memory
Warning #1: LlamaParse, LlamaIndex's proprietary document parser, can be a very resource-intensive deployment to run, especially if you want to maximize performance.
Warning #2: The base CPU/memory requirements may increase if you are running containerized deployments of LlamaCloud dependencies. (More information in the following section)
Configure and Install Your Deployment​
This section will walk you through the steps to configure a minimal LlamaCloud deployment.
Minimal values.yaml
configuration​
To get a minimal LlamaCloud deployment up and running, you can create a values.yaml
file with the following content:
- OpenAI
- Azure OpenAI
global:
config:
licenseKey: "<REPLACE-WITH-LLAMACLOUD-LICENSE-KEY>"
# existingLicenseKeySecret: "<uncomment-if-using-existing-secret>"
backend:
config:
openAiApiKey: "<REPLACE-WITH-OPENAI-API-KEY>"
# existingOpenAiApiKeySecret: "<uncomment-if-using-existing-secret>"
# As of 09.24.2024, we only support OIDC for authentication.
oidc:
discoveryUrl: "https://login.microsoftonline.com/your-tenant-id/oauth2/v2.0/token"
clientId: "your-client-id"
clientSecret: "your-client-secret"
# existingSecretName: "oidc-secret"
llamaParse:
config:
openAiApiKey: "<REPLACE-WITH-OPENAI-API-KEY>"
# existingOpenAiApiKeySecret: "<uncomment-if-using-existing-secret>"
global:
cloudProvider: "azure"
config:
licenseKey: "<REPLACE-WITH-LLAMACLOUD-LICENSE-KEY>"
# existingLicenseKeySecret: "<uncomment-if-using-existing-secret>"
backend:
config:
azureOpenAi:
enabled: true
key: ""
endpoint: ""
deploymentName: ""
apiVersion: ""
# existingSecret: ""
# As of 09.24.2024, we only support OIDC for authentication.
oidc:
discoveryUrl: "https://login.microsoftonline.com/your-tenant-id/oauth2/v2.0/token"
clientId: "your-client-id"
clientSecret: "your-client-secret"
# existingSecretName: "oidc-secret"
llamaParse:
config:
azureOpenAi:
enabled: true
key: ""
endpoint: ""
deploymentName: ""
apiVersion: ""
# existingSecret: ""
Important Notes​
- There are many more configuration options available for each component. To see the full values.yaml specification, please refer to the values.yaml file in the Helm chart repository.
- We also have in-depth guides for specific use cases and features. You can find them in the Configuration section of the sidebar.
- If you're new to k8s or Helm or would like to see how common scenarios are configured, please refer to the examples directory in the Helm chart repository.
Install the Helm chart​
# Add the Helm repository
helm repo add llamaindex https://run-llama.github.io/helm-charts
# Update your local Helm chart cache
helm repo update
# Install the Helm chart
helm install llamacloud llamaindex/llamacloud -f values.yaml
If you want to install a specific version of the Helm chart, you can specify the version:
helm install llamacloud llamaindex/llamacloud --version <version> -f values.yaml
Validate the installation​
After installation, you will see the following output:
NAME: llamacloud
LAST DEPLOYED: <timestamp>
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Welcome to LlamaCloud!
View your deployment with the following:
kubectl --namespace default get pods
To view LlamaCloud UI in your browser, run the following:
kubectl --namespace default port-forward svc/llamacloud-frontend 3000:3000
If you list the pods with kubectl get pods
, you should see the following pods:
NAME READY STATUS RESTARTS AGE
llamacloud-backend-6f9dccd58d-4xnt5 1/1 Running 0 3m
llamacloud-frontend-5cbf7d6c66-fvr5r 1/1 Running 0 3m
llamacloud-jobs-service-79bb857444-8h9vg 1/1 Running 0 3m
llamacloud-jobs-worker-648f45ccb7-8sqst 1/1 Running 0 3m
llamacloud-llamaparse-658bdf7-6vqnz 1/1 Running 0 3m
llamacloud-llamaparse-658bdf7-vvm5q 1/1 Running 0 3m
llamacloud-llamaparse-ocr-7544cccdcc-29gvn 1/1 Running 0 3m
llamacloud-llamaparse-ocr-7544cccdcc-6nvjt 1/1 Running 0 3m
llamacloud-mongodb-784cf4bf9c-g9bcx 1/1 Running 0 3m
llamacloud-postgresql-0 1/1 Running 0 3m
llamacloud-rabbitmq-0 1/1 Running 0 3m
llamacloud-redis-master-0 1/1 Running 0 3m
llamacloud-redis-replicas-0 1/1 Running 0 3m
llamacloud-redis-replicas-1 1/1 Running 0 3m
llamacloud-redis-replicas-2 1/1 Running 0 3m
llamacloud-usage-5768b788c4-pxfhr 1/1 Running 0 3m
Port forward the frontend service to access the LlamaCloud UI:
kubectl --namespace default port-forward svc/llamacloud-frontend 3000:3000
Open your web browser and navigate to http://localhost:3000
. You should see the LlamaCloud UI.