Skip to content

Commit

Permalink
release v1.1.0-alpha0 (#459)
Browse files Browse the repository at this point in the history
* add rag kuberay and jupyterhub image (#440)

* Rollback to previous image (#454)

* Ray Webhook Support for Single-Host, Multi-Slice TPUs (#453)

* Fix incorrect replicaIndex for single-host, multi replica

* Fix single-host, multi-slice deletion logic

* Update README & simplify workloads.tfvars for RAG (#445)

* RAG marketplace updates (#456)

* fix RAG marketplace changes

---------

Co-authored-by: Chia-Yi Liang <chiayiliang327@gmail.com>
Co-authored-by: zlq <zlq@google.com>
Co-authored-by: ryanaoleary <113500783+ryanaoleary@users.noreply.github.com>
Co-authored-by: imreddy13 <132504814+imreddy13@users.noreply.github.com>
  • Loading branch information
5 people authored Mar 27, 2024
1 parent 515828e commit a3560f4
Show file tree
Hide file tree
Showing 22 changed files with 404 additions and 450 deletions.
315 changes: 172 additions & 143 deletions applications/rag/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@
"metadata": {},
"outputs": [],
"source": [
"!pip install langchain==0.1.9 ray==2.9.3 datasets==2.18.0 sentence-transformers==2.5.1 kaggle==1.6.6\n",
"!pip install \"cloud-sql-python-connector[pg8000]==1.7.0\" SQLAlchemy==2.0.7"
"!pip install ray==2.9.3 kaggle==1.6.6"
]
},
{
Expand Down Expand Up @@ -122,7 +121,7 @@
"BATCH_SIZE = 100\n",
"CHUNK_SIZE = 1000 # text chunk sizes which will be converted to vector embeddings\n",
"CHUNK_OVERLAP = 10\n",
"TABLE_NAME = 'googlemaps_reviews_db' # CloudSQL table name\n",
"TABLE_NAME = 'netflix_reviews_db' # CloudSQL table name\n",
"DIMENSION = 384 # Embeddings size\n",
"ACTOR_POOL_SIZE = 1 # number of actors for the distributed map_batches function\n",
"\n",
Expand Down Expand Up @@ -272,6 +271,7 @@
"metadata": {},
"outputs": [],
"source": [
"# Port forward to the Ray dashboard and go to `localhost:8265` in a browser to see job status: kubectl port-forward -n <namespace> service/ray-cluster-kuberay-head-svc 8265:8265\n",
"import time\n",
"\n",
"start_time = time.time()\n",
Expand Down
2 changes: 1 addition & 1 deletion applications/rag/frontend/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ resource "kubernetes_deployment" "rag_frontend_deployment" {
spec {
service_account_name = var.google_service_account
container {
image = "us-central1-docker.pkg.dev/ai-on-gke/rag-on-gke/frontend@sha256:91835a736252a43adfee6aa552a4853442d3c8b1dd9e5a82383cf25f536af6d0"
image = "us-central1-docker.pkg.dev/ai-on-gke/rag-on-gke/frontend@sha256:7530314f46a7c4f487240984f6412d4041311a3252238ac3635375434521f837"
name = "rag-frontend"

port {
Expand Down
1 change: 1 addition & 0 deletions applications/rag/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ module "kuberay-cluster" {
grafana_host = module.kuberay-monitoring.grafana_uri
disable_network_policy = var.disable_ray_cluster_network_policy
depends_on = [module.kuberay-operator]
use_custom_image = true

# IAP Auth parameters
add_auth = var.ray_dashboard_add_auth
Expand Down
170 changes: 20 additions & 150 deletions applications/rag/metadata.display.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ spec:
variables:
acknowledge:
name: acknowledge
title: Confirm that all prerequisites have been met.
title: Confirm that all prerequisites have been met.
section: acknowledge
subtext: If you choose an existing GKE standard cluster, ensure it has an L4 GPU Node pool with <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-autoscaler#enable_autoscaling">autoscaling</a> and <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning#enable">node auto-provisioning</a> enabled.
enumValueLabels:
- label: "Confirm that all prerequisites have been met."
- label: Confirm that all prerequisites have been met.
value: "true"
additional_labels:
name: additional_labels
Expand All @@ -36,6 +36,7 @@ spec:
value: "true"
- label: Standard Cluster
value: "false"
invisible: true
cloudsql_instance:
name: cloudsql_instance
title: CloudSQL Instance
Expand Down Expand Up @@ -121,50 +122,10 @@ spec:
name: frontend_add_auth
title: Enable IAP for Frontend Application
section: rag_iap_auth
frontend_client_id:
name: frontend_client_id
title: Frontend Client Id
invisible: true
section: rag_iap_auth
frontend_client_secret:
name: frontend_client_secret
title: Frontend Client Secret
invisible: true
section: rag_iap_auth
frontend_domain:
name: frontend_domain
title: Frontend Domain
section: rag_iap_auth
frontend_k8s_backend_config_name:
name: frontend_k8s_backend_config_name
title: Frontend K8s Backend Config Name
invisible: true
section: rag_iap_auth
frontend_k8s_backend_service_name:
name: frontend_k8s_backend_service_name
title: Frontend K8s Backend Service Name
invisible: true
section: rag_iap_auth
frontend_k8s_backend_service_port:
name: frontend_k8s_backend_service_port
title: Frontend K8s Backend Service Port
invisible: true
section: rag_iap_auth
frontend_k8s_iap_secret_name:
name: frontend_k8s_iap_secret_name
title: Frontend K8s Iap Secret Name
invisible: true
section: rag_iap_auth
frontend_k8s_ingress_name:
name: frontend_k8s_ingress_name
title: Frontend K8s Ingress Name
invisible: true
section: rag_iap_auth
frontend_k8s_managed_cert_name:
name: frontend_k8s_managed_cert_name
title: Frontend K8s Managed Cert Name
invisible: true
section: rag_iap_auth
frontend_members_allowlist:
name: frontend_members_allowlist
title: Frontend Members Allowlist
Expand All @@ -178,105 +139,14 @@ spec:
goog_cm_deployment_name:
name: goog_cm_deployment_name
title: Goog Cm Deployment Name
gpu_pools:
name: gpu_pools
title: Gpu Pools
invisible: true
ray_dashboard_add_auth:
name: ray_dashboard_add_auth
title: Enable IAP for Ray Dashboard Application
section: ray_iap_auth
ray_dashboard_client_id:
name: ray_dashboard_client_id
title: Ray Dashboard Client Id
section: ray_iap_auth
invisible: true
ray_dashboard_client_secret:
name: ray_dashboard_client_secret
title: Ray Dashboard Client Secret
section: ray_iap_auth
invisible: true
ray_dashboard_domain:
name: ray_dashboard_domain
title: Ray Dashboard Domain
section: ray_iap_auth
ray_dashboard_k8s_backend_config_name:
name: ray_dashboard_k8s_backend_config_name
title: Ray Dashboard K8s Backend Config Name
section: ray_iap_auth
invisible: true
ray_dashboard_k8s_backend_service_port:
name: ray_dashboard_k8s_backend_service_port
title: Ray Dashboard K8s Backend Service Port
section: ray_iap_auth
invisible: true
ray_dashboard_k8s_iap_secret_name:
name: ray_dashboard_k8s_iap_secret_name
title: Ray Dashboard K8s Iap Secret Name
section: ray_iap_auth
invisible: true
ray_dashboard_k8s_ingress_name:
name: ray_dashboard_k8s_ingress_name
title: Ray Dashboard K8s Ingress Name
section: ray_iap_auth
invisible: true
ray_dashboard_k8s_managed_cert_name:
name: ray_dashboard_k8s_managed_cert_name
title: Ray Dashboard K8s Managed Cert Name
section: ray_iap_auth
invisible: true
ray_dashboard_members_allowlist:
name: ray_dashboard_members_allowlist
title: Ray Dashboard Members Allowlist
section: ray_iap_auth
jupyter_add_auth:
name: jupyter_add_auth
title: Enable IAP for JupyterHub Application
section: jupyter_iap_auth
jupyter_client_id:
name: jupyter_client_id
title: Jupyter Client Id
invisible: true
section: jupyter_iap_auth
jupyter_client_secret:
name: jupyter_client_secret
title: Jupyter Client Secret
invisible: true
section: jupyter_iap_auth
jupyter_domain:
name: jupyter_domain
title: Jupyter Domain
section: jupyter_iap_auth
jupyter_k8s_backend_config_name:
name: jupyter_k8s_backend_config_name
title: Jupyter K8s Backend Config Name
invisible: true
section: jupyter_iap_auth
jupyter_k8s_backend_service_name:
name: jupyter_k8s_backend_service_name
title: Jupyter K8s Backend Service Name
invisible: true
section: jupyter_iap_auth
jupyter_k8s_backend_service_port:
name: jupyter_k8s_backend_service_port
title: Jupyter K8s Backend Service Port
invisible: true
section: jupyter_iap_auth
jupyter_k8s_iap_secret_name:
name: jupyter_k8s_iap_secret_name
title: Jupyter K8s Iap Secret Name
invisible: true
section: jupyter_iap_auth
jupyter_k8s_ingress_name:
name: jupyter_k8s_ingress_name
title: Jupyter K8s Ingress Name
invisible: true
section: jupyter_iap_auth
jupyter_k8s_managed_cert_name:
name: jupyter_k8s_managed_cert_name
title: Jupyter K8s Managed Cert Name
invisible: true
section: jupyter_iap_auth
jupyter_members_allowlist:
name: jupyter_members_allowlist
title: Jupyter Members Allowlist
Expand Down Expand Up @@ -310,35 +180,37 @@ spec:
title: Rag Service Account
invisible: true
section: rag
ray_dashboard_add_auth:
name: ray_dashboard_add_auth
title: Enable IAP for Ray Dashboard Application
section: ray_iap_auth
ray_dashboard_domain:
name: ray_dashboard_domain
title: Ray Dashboard Domain
section: ray_iap_auth
ray_dashboard_members_allowlist:
name: ray_dashboard_members_allowlist
title: Ray Dashboard Members Allowlist
section: ray_iap_auth
ray_service_account:
name: ray_service_account
title: Ray Service Account
invisible: true
section: rag
subnetwork_cidr:
name: subnetwork_cidr
title: Subnetwork Cidr
invisible: true
section: cluster_details
support_email:
name: support_email
title: Support Email
invisible: true
sections:
- name: acknowledge
title: Before you begin
- name: cluster_details
title: GKE Cluster Configuration
tooltip: Select or Create GKE cluster
subtext: It is recommended to choose the <b>New Cluster</b> option
- name: rag
title: Other Configuration
- name: rag_iap_auth
title: Configure Authenticated Access for Frontend
subtext: Make sure the <a href="https://developers.google.com/workspace/guides/configure-oauth-consent#configure_oauth_consent"><i>OAuth Consent Screen</i></a> is configured for your project. Ensure <b>User type</b> is set to Internal.
subtext: Make sure the <a href="https://developers.google.com/workspace/guides/configure-oauth-consent#configure_oauth_consent"><i>OAuth Consent Screen</i></a> is configured for your project. Ensure <b>User type</b> is set to <i>Internal</i>. Note that by default, only users within your organization can be allowlisted. To add external users, change the <b>User type</b> to <i>External</i> after the application is deployed.
- name: ray_iap_auth
title: Configure Authenticated Access for Ray Dashboard
subtext: Make sure the <a href="https://developers.google.com/workspace/guides/configure-oauth-consent#configure_oauth_consent"><i>OAuth Consent Screen</i></a> is configured for your project. Ensure <b>User type</b> is set to <i>Internal</i>. Note that by default, only users within your organization can be allowlisted. To add external users, change the <b>User type</b> to <i>External</i> after the application is deployed.

- name: jupyter_iap_auth
title: Configure Authenticated Access for JupyterHub
subtext: Make sure the <a href="https://developers.google.com/workspace/guides/configure-oauth-consent#configure_oauth_consent"><i>OAuth Consent Screen</i></a> is configured for your project. Ensure <b>User type</b> is set to <i>Internal</i>. Note that by default, only users within your organization can be allowlisted. To add external users, change the <b>User type</b> to <i>External</i> after the application is deployed.
Expand Down Expand Up @@ -369,11 +241,6 @@ spec:
openInNewTab: true
showInNotification: true
label: Go to Frontend Application
ray_dashboard_ip_address: {}
ray_dashboard_uri:
openInNewTab: true
showInNotification: true
label: Go to RAY Dashboard Application
gcp_network: {}
jupyterhub_ip_address: {}
jupyterhub_password: {}
Expand All @@ -383,3 +250,6 @@ spec:
label: Go to JupyterHub Application
jupyterhub_user: {}
kubernetes_namespace: {}
ray_dashboard_ip_address: {}
ray_dashboard_uri: {}

Loading

0 comments on commit a3560f4

Please sign in to comment.