agent-platform-tuning-management

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Agent Platform Tuning Management

Agent Platform 调优任务管理

This skill provides instructions on how to manage GenAI Tuning Jobs using the Agent Platform Python SDK. Use this skill when a user wants to check the status of their tuning runs, find an active tuning job, or cancel a job that is running too long.
本技能提供了如何使用Agent Platform Python SDK管理GenAI调优任务的说明。当用户想要查看调优任务的运行状态、查找活跃的调优任务,或取消运行时间过长的任务时,可以使用本技能。

Safety & Confirmation Tiers (CRITICAL)

安全与确认层级(CRITICAL)

Before executing any commands on behalf of the user, you MUST adhere to the following safety tiers based on the action requested:
  1. Tier R: Read-only (
    list
    ,
    get
    )
    • Rule: No confirmation needed. You may execute these commands immediately to gather information for the user.
  2. Tier D: Destructive & Interruptive (
    cancel
    )
    • Rule: This requires explicit typed confirmation. You MUST output a text message to the user explaining that this will stop the tuning process and any progress will be lost, and asking them to type "I confirm" or "Yes, cancel it". You MUST ask for this confirmation IMMEDIATELY, before executing the cancel command.
在代表用户执行任何命令之前,你必须根据请求的操作遵循以下安全层级:
  1. 层级R:只读操作(
    list
    get
    • 规则:无需确认。你可以立即执行这些命令,为用户收集信息。
  2. 层级D:破坏性与中断性操作(
    cancel
    • 规则:此操作需要明确的输入确认。你必须向用户输出一条文本消息,说明这将停止调优过程且所有进度都会丢失,并请求用户输入"I confirm"或"Yes, cancel it"。你必须在执行取消命令之前立即请求确认。

Phase 0: Environment Setup

阶段0:环境设置

CRITICAL: Before running any of the Python snippets below, you MUST ensure the environment is correctly initialized by following these steps:
  1. Virtual Environment: Create and activate a virtual environment:
    bash
    python3 -m venv ~/tuning_mgr_venv
    source ~/tuning_mgr_venv/bin/activate
  2. Google Cloud Authentication: Authenticate with your Google Cloud account and configure active Application Default Credentials (ADC) for Agent Platform access:
    bash
    gcloud auth login
    gcloud auth application-default login
  3. Install Dependencies: Install the required Agent Platform SDK:
    bash
    pip install google-cloud-aiplatform
  4. Execution: Advise the user that every time they execute a Python snippet, they must ensure this virtual environment is activated first.
CRITICAL:在运行以下任何Python代码片段之前,你必须确保按照以下步骤正确初始化环境:
  1. 虚拟环境:创建并激活虚拟环境:
    bash
    python3 -m venv ~/tuning_mgr_venv
    source ~/tuning_mgr_venv/bin/activate
  2. Google Cloud身份验证:使用你的Google Cloud账户进行身份验证,并配置用于Agent Platform访问的活跃应用默认凭据(ADC):
    bash
    gcloud auth login
    gcloud auth application-default login
  3. 安装依赖:安装所需的Agent Platform SDK:
    bash
    pip install google-cloud-aiplatform
  4. 执行说明:告知用户每次执行Python代码片段之前,必须确保已激活此虚拟环境。

Workflow Decision Tree

工作流决策树

  1. Information Gathering: Do you have a Project ID and Region?
    • No -> You MUST ask the user for the missing Project ID and Region in plain text, or advise them to check their gcloud configuration. If neither location has this information, then ask the user to provide it. Do not attempt to search random regions on your own.
    • Yes -> Proceed to Step 2.
  2. Task Type: What does the user want to do?
    • Find or List Jobs -> Use the Python SDK to list tuning jobs. (Tier R)
    • Check Status / Inspect a Specific Job -> Use the Python SDK to get tuning job details. (Tier R)
    • Cancel a Job -> Ask for confirmation, then use the Python SDK to cancel the tuning job. (Tier D)
  1. 信息收集:你是否拥有项目ID和区域信息?
    • -> 你必须以纯文本形式向用户请求缺失的项目ID和区域信息,或建议他们检查自己的gcloud配置。如果这两个地方都没有该信息,请用户提供。请勿自行尝试搜索随机区域。
    • -> 进入步骤2。
  2. 任务类型:用户想要执行什么操作?
    • 查找或列出任务 -> 使用Python SDK列出调优任务。(层级R)
    • 查看状态 / 检查特定任务 -> 使用Python SDK获取调优任务详情。(层级R)
    • 取消任务 -> 请求确认,然后使用Python SDK取消调优任务。(层级D)

Using the Python SDK

使用Python SDK

[!NOTE] Resource Verification & Missing Projects/Jobs: If the execution of the Python snippet fails with an error (such as
403 Permission Denied
,
404 Not Found
,
INVALID_ARGUMENT
, or indicating a dummy/missing project or job ID), you MUST inform the user that the project or tuning job does not exist or cannot be accessed. You MUST prompt the user to provide a valid Project ID or Job ID, and stop tool execution immediately to wait for their response. Do NOT retry or loop, do NOT assume the resource is valid, and do NOT execute further scripts before receiving valid details from the user.
[!NOTE] 资源验证与缺失项目/任务:如果Python代码片段执行失败并出现错误(例如
403 Permission Denied
404 Not Found
INVALID_ARGUMENT
,或提示虚拟/缺失的项目或任务ID),你必须告知用户该项目或调优任务不存在或无法访问。你必须提示用户提供有效的项目ID或任务ID,并立即停止工具执行以等待用户回复。请勿重试或循环,请勿假设资源有效,在收到用户提供的有效信息之前,请勿执行更多脚本。

1. Listing Tuning Jobs (Tier R)

1. 列出调优任务(层级R)

If the user asks "What tuning jobs do I have running?" or wants to find a specific job ID:
python
from google.cloud import aiplatform_v1

project_id = "YOUR_PROJECT_ID"
region = "YOUR_REGION"
parent = f"projects/{project_id}/locations/{region}"

client = aiplatform_v1.GenAiTuningServiceClient(
    client_options={"api_endpoint": f"{region}-aiplatform.googleapis.com"}
)

jobs = client.list_tuning_jobs(parent=parent)
for job in jobs:
    print(f"Name: {job.name}")
    print(f"Base Model: {job.base_model}")
    print(f"State: {job.state}")
当用户询问“我有哪些正在运行的调优任务?”或想要查找特定任务ID时:
python
from google.cloud import aiplatform_v1

project_id = "YOUR_PROJECT_ID"
region = "YOUR_REGION"
parent = f"projects/{project_id}/locations/{region}"

client = aiplatform_v1.GenAiTuningServiceClient(
    client_options={"api_endpoint": f"{region}-aiplatform.googleapis.com"}
)

jobs = client.list_tuning_jobs(parent=parent)
for job in jobs:
    print(f"Name: {job.name}")
    print(f"Base Model: {job.base_model}")
    print(f"State: {job.state}")

2. Getting Details for a Specific Job (Tier R)

2. 获取特定任务的详情(层级R)

If the user provides a Tuning Job ID and asks for its status:
python
from google.cloud import aiplatform_v1

project_id = "YOUR_PROJECT_ID"
region = "YOUR_REGION"
job_id = "YOUR_JOB_ID"  # 19-digit ID
name = f"projects/{project_id}/locations/{region}/tuningJobs/{job_id}"

client = aiplatform_v1.GenAiTuningServiceClient(
    client_options={"api_endpoint": f"{region}-aiplatform.googleapis.com"}
)

job = client.get_tuning_job(name=name)
print(f"Name: {job.name}")
print(f"Base Model: {job.base_model}")
print(f"State: {job.state}")
print(f"Tuning Model: {job.tuned_model_display_name}")
当用户提供调优任务ID并询问其状态时:
python
from google.cloud import aiplatform_v1

project_id = "YOUR_PROJECT_ID"
region = "YOUR_REGION"
job_id = "YOUR_JOB_ID"  # 19-digit ID
name = f"projects/{project_id}/locations/{region}/tuningJobs/{job_id}"

client = aiplatform_v1.GenAiTuningServiceClient(
    client_options={"api_endpoint": f"{region}-aiplatform.googleapis.com"}
)

job = client.get_tuning_job(name=name)
print(f"Name: {job.name}")
print(f"Base Model: {job.base_model}")
print(f"State: {job.state}")
print(f"Tuning Model: {job.tuned_model_display_name}")

3. Canceling a Job (Tier D)

3. 取消任务(层级D)

If the user explicitly requests to stop, abort, or cancel a running tuning job:
Safety Check: Action requires explicit typed confirmation before proceeding. You MUST ask the user for confirmation before generating or providing this script, even if they provided the job ID, unless they explicitly use confirming language like "Yes, I confirm, cancel tuning job 123456".
[!IMPORTANT] NEVER pre-emptively provide or execute any cancellation code before receiving the user's response in a new turn. You must never speculate or assume that confirmation will be given. Asking for confirmation and providing the code in a single parallel turn is a severe safety violation.
python
from google.cloud import aiplatform_v1

project_id = "YOUR_PROJECT_ID"
region = "YOUR_REGION"
job_id = "YOUR_JOB_ID"  # 19-digit ID
name = f"projects/{project_id}/locations/{region}/tuningJobs/{job_id}"

client = aiplatform_v1.GenAiTuningServiceClient(
    client_options={"api_endpoint": f"{region}-aiplatform.googleapis.com"}
)

client.cancel_tuning_job(name=name)
print(f"Successfully requested cancellation for {name}")
当用户明确请求停止、中止或取消正在运行的调优任务时:
安全检查执行此操作前需要明确的输入确认。即使用户提供了任务ID,你也必须在生成或提供此脚本之前请求用户确认,除非用户使用了明确的确认语句,例如“Yes, I confirm, cancel tuning job 123456”。
[!IMPORTANT] 在收到用户新的回复之前,切勿预先提供或执行任何取消代码。你绝不能推测或假设用户会确认。在同一轮对话中同时请求确认并提供代码属于严重违反安全规定的行为。
python
from google.cloud import aiplatform_v1

project_id = "YOUR_PROJECT_ID"
region = "YOUR_REGION"
job_id = "YOUR_JOB_ID"  # 19-digit ID
name = f"projects/{project_id}/locations/{region}/tuningJobs/{job_id}"

client = aiplatform_v1.GenAiTuningServiceClient(
    client_options={"api_endpoint": f"{region}-aiplatform.googleapis.com"}
)

client.cancel_tuning_job(name=name)
print(f"Successfully requested cancellation for {name}")