Prompt Design in Agent Platform

Solution for Prompt Design in Agent Platform. 1 lab: GSP519. Fast copy-paste commands for Google Cloud.

GSP519 — Prompt Design in Agent Platform: Challenge Lab

Estimated time: 50 minutes

# Prompt Design in Agent Platform: Challenge Lab Follow the execution sequence below exactly as shown to successfully complete all tasks. ## 🚀 Step-by-Step Execution Guide ### 🔹 STEP 1 — Complete Tasks 1 & 2 (Agent Studio UI) #### **Task 1 — Create the Image Analysis Prompt** 1. Navigate to **Agent Platform → Prompts**. 2. Click **+ New Prompt (Chat)**. 3. Rename the prompt to: - **Cymbal Product Analysis** 4. Change the **Region** to your lab region. 5. Click **+ Import from Cloud Sto

from google import genai
from google.genai import types
import subprocess

# 🚀 Pure Python Auto-fetch: Extracts Project ID and parses Region to Multi-Region (e.g., 'us')
PROJECT_ID = subprocess.check_output(["gcloud", "config", "get-value", "project"]).decode("utf-8").strip()
REGION = subprocess.check_output(["gcloud", "config", "get-value", "compute/region"]).decode("utf-8").strip()
LOCATION = REGION.split('-')[0] if REGION and REGION != "(unset)" else "us"

print(f"[*] Authenticating with Project ID: {PROJECT_ID} in Multi-Region: {LOCATION}")

def generate():
    client = genai.Client(
        vertexai=True,
        project=PROJECT_ID,
        location=LOCATION
    )

    msg1_image1 = types.Part.from_uri(
        file_uri=f"gs://{PROJECT_ID}-bucket/cymbal-product-image.png",
        mime_type="image/png",
    )

    msg1_text1 = types.Part.from_text(
        text="""Change the wording of the prompt in the code cell to make the output less than 10 words."""
    )

    # ⚠️ MANUAL ENTRY REQUIRED: Update this string to match your lab manual exactly!
    model = "YOUR_MODEL_NAME_HERE" 

    contents = [
        types.Content(
            role="user",
            parts=[msg1_image1, msg1_text1]
        )
    ]

    generate_content_config = types.GenerateContentConfig(
        temperature=1,
        top_p=0.95,
        max_output_tokens=65535,
        safety_settings=[
            types.SafetySetting(category="HARM_CATEGORY_HATE_SPEECH", threshold="OFF"),
            types.SafetySetting(category="HARM_CATEGORY_DANGEROUS_CONTENT", threshold="OFF"),
            types.SafetySetting(category="HARM_CATEGORY_SEXUALLY_EXPLICIT", threshold="OFF"),
            types.SafetySetting(category="HARM_CATEGORY_HARASSMENT", threshold="OFF")
        ]
    )

    for chunk in client.models.generate_content_stream(
        model=model,
        contents=contents,
        config=generate_content_config,
    ):
        if not chunk.candidates or not chunk.candidates[0].content or not chunk.candidates[0].content.parts:
            continue
        print(chunk.text, end="")

generate()
from google import genai
from google.genai import types
import subprocess

# 🚀 Pure Python Auto-fetch: Extracts Project ID and parses Region to Multi-Region (e.g., 'us')
PROJECT_ID = subprocess.check_output(["gcloud", "config", "get-value", "project"]).decode("utf-8").strip()
REGION = subprocess.check_output(["gcloud", "config", "get-value", "compute/region"]).decode("utf-8").strip()
LOCATION = REGION.split('-')[0] if REGION and REGION != "(unset)" else "us"

print(f"[*] Authenticating with Project ID: {PROJECT_ID} in Multi-Region: {LOCATION}")

def generate():
    client = genai.Client(
        vertexai=True,
        project=PROJECT_ID,
        location=LOCATION
    )

    # Grader Optimization: Forces a single short sentence with the required keyword.
    msg1_text1 = types.Part.from_text(
        text="""Create a single, short tagline for a new line of outdoor gear. The tagline MUST include the keyword nature."""
    )
    
    # ⚠️ MANUAL ENTRY REQUIRED: Update this string to match your lab manual exactly!
    model = "YOUR_MODEL_NAME_HERE" 

    contents = [
        types.Content(
            role="user",
            parts=[msg1_text1]
        )
    ]

    generate_content_config = types.GenerateContentConfig(
        temperature=1,
        top_p=0.95,
        max_output_tokens=65535,
        safety_settings=[
            types.SafetySetting(category="HARM_CATEGORY_HATE_SPEECH", threshold="OFF"),
            types.SafetySetting(category="HARM_CATEGORY_DANGEROUS_CONTENT", threshold="OFF"),
            types.SafetySetting(category="HARM_CATEGORY_SEXUALLY_EXPLICIT", threshold="OFF"),
            types.SafetySetting(category="HARM_CATEGORY_HARASSMENT", threshold="OFF")
        ]
    )

    for chunk in client.models.generate_content_stream(
        model=model,
        contents=contents,
        config=generate_content_config,
    ):
        if not chunk.candidates or not chunk.candidates[0].content or not chunk.candidates[0].content.parts:
            continue
        print(chunk.text, end="")

generate()
# 1. Force a clean wipe and reinstall of the broken authentication modules
!pip install --upgrade --force-reinstall google-auth google-genai google-cloud-aiplatform

# 2. Force a hard crash of the kernel to instantly wipe the corrupted memory
import os
print("✅ REPAIR COMPLETE. The kernel will now restart automatically.")
print("Wait 5 seconds, then run your main Code Block below!")
os._exit(0)