diff --git a/notebooks/official/prediction/llm_streaming_prediction.ipynb b/notebooks/official/prediction/llm_streaming_prediction.ipynb
index b111ee25d..faf2f30d1 100644
--- a/notebooks/official/prediction/llm_streaming_prediction.ipynb
+++ b/notebooks/official/prediction/llm_streaming_prediction.ipynb
@@ -32,25 +32,27 @@
"# Vertex AI LLM and streaming prediction\n",
"\n",
"
\n",
- " | \n",
+ " | \n",
+ " \n",
+ "  Open in Colab\n",
+ " \n",
+ " | \n",
+ " \n",
+ " \n",
+ "  Open in Colab Enterprise\n",
+ " \n",
+ " | \n",
+ " \n",
+ " \n",
+ "  Open in Workbench\n",
+ " \n",
+ " | \n",
+ " \n",
" \n",
- " \n",
- " View on GitHub\n",
+ "  View on GitHub\n",
" \n",
" | \n",
- " \n",
- " \n",
- " Run in Colab\n",
- " \n",
- " | \n",
- " \n",
- " \n",
- " \n",
- " Open in Vertex AI Workbench\n",
- " \n",
- " | \n",
- "
\n",
- "
"
+ ""
]
},
{
@@ -127,157 +129,122 @@
{
"cell_type": "markdown",
"metadata": {
- "id": "install_mlops"
+ "id": "4b331e2fd155"
},
"source": [
- "## Installations\n",
- "\n",
- "Install the packages required for executing this notebook."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "NQ6SdFxji8ks"
- },
- "outputs": [],
- "source": [
- "! pip3 install --upgrade --quiet google-cloud-aiplatform"
+ "## Get Started"
]
},
{
"cell_type": "markdown",
"metadata": {
- "id": "restart"
+ "id": "a2c2cb2109a0"
},
"source": [
- "### Colab only: Uncomment the following cell to restart the kernel"
+ "### Install Vertex AI SDK for Python and other required packages\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
- "id": "D-ZBOjErv5mM"
+ "id": "24166b67eab5"
},
"outputs": [],
"source": [
- "# Automatically restart kernel after installs so that your environment can access the new packages\n",
- "# import IPython\n",
- "\n",
- "# app = IPython.Application.instance()\n",
- "# app.kernel.do_shutdown(True)"
+ "! pip3 install --upgrade --quiet google-cloud-aiplatform \\\n",
+ " pandas"
]
},
{
"cell_type": "markdown",
"metadata": {
- "id": "yfEglUHQk9S3"
+ "id": "ff555b32bab8"
},
"source": [
- "## Before you begin\n",
+ "### Restart runtime (Colab only)\n",
"\n",
- "### Set your project ID\n",
- "\n",
- "**If you don't know your project ID**, try the following:\n",
- "* Run `gcloud config list`.\n",
- "* Run `gcloud projects list`.\n",
- "* See the support page: [Locate the project ID](https://support.google.com/googleapi/answer/7014113)"
+ "To use the newly installed packages, you must restart the runtime on Google Colab."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
- "id": "set_project_id"
+ "id": "f09b4dff629a"
+ },
+ "outputs": [],
+ "source": [
+ "import sys\n",
+ "\n",
+ "if \"google.colab\" in sys.modules:\n",
+ "\n",
+ " import IPython\n",
+ "\n",
+ " app = IPython.Application.instance()\n",
+ " app.kernel.do_shutdown(True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "ee775571c2b5"
+ },
+ "source": [
+ "\n",
+ "⚠️ The kernel is going to restart. Wait until it's finished before continuing to the next step. ⚠️\n",
+ "
\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "92e68cfc3a90"
+ },
+ "source": [
+ "### Authenticate your notebook environment (Colab only)\n",
+ "\n",
+ "Authenticate your environment on Google Colab.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "46604f70e831"
+ },
+ "outputs": [],
+ "source": [
+ "import sys\n",
+ "\n",
+ "if \"google.colab\" in sys.modules:\n",
+ "\n",
+ " from google.colab import auth\n",
+ "\n",
+ " auth.authenticate_user()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "4f872cd812d0"
+ },
+ "source": [
+ "### Set Google Cloud project information and initialize Vertex AI SDK for Python\n",
+ "\n",
+ "To get started using Vertex AI, you must have an existing Google Cloud project and [enable the Vertex AI API](https://console.cloud.google.com/flows/enableapi?apiid=aiplatform.googleapis.com). Learn more about [setting up a project and a development environment](https://cloud.google.com/vertex-ai/docs/start/cloud-environment)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "6ddefefd807a"
},
"outputs": [],
"source": [
"PROJECT_ID = \"[your-project-id]\" # @param {type:\"string\"}\n",
- "\n",
- "# Set the project id\n",
- "! gcloud config set project {PROJECT_ID} --quiet"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "region"
- },
- "source": [
- "#### Region\n",
- "\n",
- "You can also change the `REGION` variable used by Vertex AI. Learn more about [Vertex AI regions](https://cloud.google.com/vertex-ai/docs/general/locations)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "region"
- },
- "outputs": [],
- "source": [
- "REGION = \"us-central1\" # @param {type: \"string\"}"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "gcp_authenticate"
- },
- "source": [
- "### Authenticate your Google Cloud account\n",
- "\n",
- "Depending on your Jupyter environment, you may have to manually authenticate. Follow the relevant instructions below.\n",
- "\n",
- "**1. Vertex AI Workbench**\n",
- "* Do nothing as you are already authenticated.\n",
- "\n",
- "**2. Local JupyterLab instance, uncomment and run:**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "ce6043da7b33"
- },
- "outputs": [],
- "source": [
- "# ! gcloud auth login"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "0367eac06a10"
- },
- "source": [
- "**3. Colab, uncomment and run:**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "21ad4dbb4a61"
- },
- "outputs": [],
- "source": [
- "# from google.colab import auth\n",
- "# auth.authenticate_user()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "c13224697bfb"
- },
- "source": [
- "**4. Service account or other**\n",
- "* See how to grant Cloud Storage permissions to your service account at https://cloud.google.com/storage/docs/gsutil/commands/iam#ch-examples."
+ "LOCATION = \"us-central1\" # @param {type:\"string\"}"
]
},
{
@@ -286,7 +253,7 @@
"id": "bucket:mbsdk"
},
"source": [
- "### Create a Cloud Storage bucket\n",
+ "#### Create a Cloud Storage bucket\n",
"\n",
"Create a storage bucket to store intermediate artifacts such as datasets."
]
@@ -308,7 +275,7 @@
"id": "autoset_bucket"
},
"source": [
- "**Only if your bucket doesn't already exist**: Run the following cell to create your Cloud Storage bucket."
+ "**If your bucket doesn't already exist**: Run the following cell to create your Cloud Storage bucket."
]
},
{
@@ -319,7 +286,29 @@
},
"outputs": [],
"source": [
- "! gsutil mb -l {REGION} -p {PROJECT_ID} {BUCKET_URI}"
+ "! gsutil mb -l {LOCATION} -p {PROJECT_ID} {BUCKET_URI}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "b7c2a8a91840"
+ },
+ "source": [
+ "#### Set Google Cloud project"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "d72078ee9da2"
+ },
+ "outputs": [],
+ "source": [
+ "import vertexai\n",
+ "\n",
+ "vertexai.init(project=PROJECT_ID, location=LOCATION, staging_bucket=BUCKET_URI)"
]
},
{
@@ -328,10 +317,7 @@
"id": "setup_vars"
},
"source": [
- "### Set up variables\n",
- "\n",
- "Next, set up some variables used throughout the tutorial.\n",
- "### Import libraries and define constants"
+ "## Import libraries"
]
},
{
@@ -342,32 +328,9 @@
},
"outputs": [],
"source": [
- "import vertexai\n",
"from vertexai.preview.language_models import TextGenerationModel"
]
},
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "init_aip:mbsdk"
- },
- "source": [
- "### Initialize Vertex AI SDK for Python\n",
- "\n",
- "Initialize the Vertex AI SDK for Python for your project and corresponding bucket."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "oiraqRwdooE0"
- },
- "outputs": [],
- "source": [
- "vertexai.init(project=PROJECT_ID, location=REGION, staging_bucket=BUCKET_URI)"
- ]
- },
{
"cell_type": "markdown",
"metadata": {
@@ -616,6 +579,7 @@
},
"outputs": [],
"source": [
+ "# Tuning model\n",
"! gsutil cp gs://cloud-samples-data/vertex-ai/prediction/llm/q_a_train_with_context.jsonl {BUCKET_URI}/q_a_train_with_context.jsonl\n",
"\n",
"tuning_job = model3.tune_model(\n",
@@ -635,6 +599,7 @@
},
"outputs": [],
"source": [
+ "# Make a prediction with the fine tuned model\n",
"tuned_model = tuning_job.get_tuned_model()\n",
"\n",
"print(tuned_model.predict(\"Tell me some ideas combining VR and fitness:\"))"
@@ -648,6 +613,7 @@
},
"outputs": [],
"source": [
+ "# List tuned model names\n",
"model3.list_tuned_model_names()"
]
},
@@ -659,6 +625,7 @@
},
"outputs": [],
"source": [
+ "# Get tuned model\n",
"tuned_model4 = model3.get_tuned_model(\n",
" tuned_model_name=model3.list_tuned_model_names()[0]\n",
")"
@@ -672,6 +639,7 @@
},
"outputs": [],
"source": [
+ "# Make a prediction with the fine tuned model\n",
"print(tuned_model4.predict(\"Brainstorm some ideas combining VR and fitness:\"))"
]
},
@@ -722,6 +690,7 @@
},
"outputs": [],
"source": [
+ "# Tune pretrained model\n",
"model4 = TextGenerationModel.from_pretrained(\"google/text-bison@001\")\n",
"\n",
"tuning_job = model4.tune_model(\n",
@@ -741,6 +710,7 @@
},
"outputs": [],
"source": [
+ "# Make a prediction with the fine tuned model\n",
"tuned_model = tuning_job.get_tuned_model()\n",
"\n",
"print(tuned_model.predict(\"Tell me some ideas combining VR and fitness:\"))"
@@ -763,14 +733,14 @@
},
"outputs": [],
"source": [
- "import os\n",
+ "delete_bucket = False\n",
"\n",
+ "# Delete job\n",
"batch_job_1.delete()\n",
"batch_job_2.delete()\n",
"\n",
- "delete_bucket = False\n",
- "if delete_bucket or os.getenv(\"IS_TESTING\"):\n",
- " ! gsutil rm -rf {BUCKET_URI}"
+ "if delete_bucket:\n",
+ " ! gsutil -m rm -r $BUCKET_URI"
]
}
],