管理技能修訂版本

在代理程式登錄檔中,技能修訂版本可讓您將獨立技能版本控管為不可變的快照,而不會中斷運作中的代理程式。每項技能都有預設修訂版本,且可包含多個有版本編號的技能修訂版本。更新技能的操作說明或選用指令碼時,您可以在代理登錄檔中建立、列出、檢查、下載及刪除技能修訂版本。如要瞭解如何更新技能的預設修訂版本,請參閱「更新技能中繼資料或預設修訂版本」。

事前準備

  1. 設定 Agent Registry。
  2. 如果是單一專案設定,請取得已啟用 Agent Registry 的管理專案ID。如果您為多個專案設定了管理邊界,請使用管理專案的 ID 進行邊界範圍的探索和註冊,或指定成員專案 ID 進行單一專案作業。

  3. 註冊獨立技能。

  4. 如要使用本文件中的 Google Cloud CLI 指令,請設定 gcloud CLI 環境。

必要的角色

如要取得在 Agent Registry 管理技能修訂版本所需的權限,請要求管理員在已啟用 Agent Registry 的管理專案中,授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

其他 Agent Registry 角色也可能具備查看、下載、建立、更新及刪除技能修訂版本所需的權限。詳情請參閱「Agent Registry 角色和權限」。

建立技能修訂版本

建立新修訂版本時,系統會將新的 ZIP 酬載上傳至現有的技能容器。驗證成功後,修訂版本會進入「Active」(有效) 狀態。如要將新修訂版本設為技能的預設修訂版本,請更新技能的預設修訂版本,指向新的有效修訂版本。只有處於「Active」(有效) 狀態的修訂版本才能下載。

如要瞭解技能的定價和功能費用,請參閱「Agent Registry 定價」。

技能修訂版本的 ZIP 檔案大小上限為 500 KB。

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」頁面:

    前往 Agent Registry

  2. 選取「技能」分頁標籤,然後點選技能名稱。
  3. 在「Skill Details」(技能詳細資料) 頁面中,找到「Version history」(版本記錄) 表格。
  4. 按一下「 新增版本」。
  5. 在「Add version」(新增版本) 面板中,選擇下列其中一個選項:

    • 檔案:上傳包含 SKILL.md 指令檔案和選用指令碼的套件或 ZIP 檔案。您可以按一下「Browse」(瀏覽),在本機環境中尋找檔案。
    • Bucket:提供包含有效 ZIP 組合的 gs://... Cloud Storage URI。您可以點選「Browse」(瀏覽),在 Cloud Storage bucket 中尋找檔案。

  6. 點選「建立」。

「Skill Details」(技能詳細資料) 頁面的「Version history」(版本記錄) 表格會顯示技能修訂版本。

gcloud

您可以上傳本機 ZIP 檔案,或匯入儲存在 Cloud Storage 的套件,建立技能修訂版本。

更改下列內容:

  • REVISION_ID:要指派給技能修訂版本的 ID。
  • SKILL_ID:用於修訂版本的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。

  • 上傳本機 ZIP 檔案:如要使用本機 ZIP 酬載建立技能修訂版本,請執行 gcloud alpha agent-registry skills revisions create 指令:

    gcloud alpha agent-registry skills revisions create REVISION_ID \
        --skill=SKILL_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --payload="LOCAL_ZIP_PATH"
    

    將 LOCAL_ZIP_PATH 替換成本機電腦上封裝技能封存檔的路徑。

  • 從 Cloud Storage bucket 匯入:如要使用託管於 Cloud Storage bucket 的 ZIP 封存檔建立技能修訂版本,請執行 gcloud alpha agent-registry skills revisions create 指令:

    gcloud alpha agent-registry skills revisions create REVISION_ID \
        --skill=SKILL_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --gcs-source-uri="gs://BUCKET_NAME/SKILL_PACKAGE.zip"
    

    更改下列內容:

    • BUCKET_NAME:包含 ZIP 組合的 Cloud Storage bucket 名稱。
    • SKILL_PACKAGE:包含技能修訂版本的技能套件名稱。

REST

如要建立技能修訂版本,請將 POST 要求傳送至修訂版本集合。您可以直接上傳 ZIP 酬載,或指向 Cloud Storage 路徑。

  • 上傳本機 ZIP 檔案:在要求主體中指定包含 Base64 編碼 ZIP 位元組的 archiveUploadSource。您可以在 curl 中使用內嵌 base64 指令:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -d '{
            "archiveUploadSource": {
              "archiveContent": "'"$(base64 -w0 local_skill.zip)"'"
            }
          }' \
        "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions?skillRevisionId=REVISION_ID"
    
  • 從 Cloud Storage bucket 匯入:在要求主體中指定 gcsSource,指向 bucket 路徑:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -d '{
            "gcsSource": {
              "uri": "gs://BUCKET_NAME/SKILL_PACKAGE.zip"
            }
          }' \
        "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions?skillRevisionId=REVISION_ID"
    

更改下列內容:

  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:技能容器的 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • REVISION_ID:要指派給這個修訂版本的 ID。
  • BUCKET_NAME:包含 ZIP 的 Cloud Storage bucket 名稱。
  • SKILL_PACKAGE:ZIP 套件的名稱。

列出並說明修訂版本

您可以查看技能的所有修訂版本清單,並檢查其中繼資料。如要更新技能的預設修訂版本,請參閱「更新技能中繼資料或預設修訂版本」。

如要列出並查看修訂版本的詳細資料,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」頁面:

    前往 Agent Registry

  2. 選取「技能」分頁標籤,然後點選技能名稱。
  3. 在「Skill Details」(技能詳細資料) 頁面中,找到「Version history」(版本記錄) 表格。
  4. 查看版本 ID、建立時間、修訂版本狀態和可用動作。

gcloud

如要列出技能的所有修訂版本,請執行 gcloud alpha agent-registry skills revisions list 指令:

gcloud alpha agent-registry skills revisions list \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

如要描述特定修訂版本的中繼資料,請執行 gcloud alpha agent-registry skills revisions describe 指令:

gcloud alpha agent-registry skills revisions describe REVISION_ID \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

更改下列內容:

  • SKILL_ID:技能容器的 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • REVISION_ID:技能修訂版本 ID。

REST

如何列出修訂版本:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions"

如要取得單一修訂版本的中繼資料,請按照下列步驟操作:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"

更改下列內容:

  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:技能容器的 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • REVISION_ID:技能修訂版本 ID。

下載修訂版本酬載

您可以下載特定修訂版本的 ZIP 檔案酬載,在本機驗證或偵錯。

如要下載酬載,必須符合下列兩項條件:

  • 技能:技能必須處於「有效」或「已淘汰」狀態。如要變更技能的目標狀態,請參閱「管理技能生命週期狀態」。
  • 技能修訂版本:修訂版本必須處於「有效」狀態。無法下載狀態為「失敗」或「建立中」的修訂版本。如要查看技能修訂版本的狀態,請列出並描述修訂版本。

如要下載有效修訂版本的修訂版本酬載,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」頁面:

    前往 Agent Registry

  2. 選取「技能」分頁標籤,然後點選技能名稱。
  3. 在「Skill Details」(技能詳細資料) 頁面中,找到「Version history」(版本記錄) 表格。
  4. 找出要下載的版本。
  5. 按一下「動作」欄中的「下載」。ZIP 酬載會下載到本機電腦。

gcloud

如要下載修訂版本的封存酬載,請執行 gcloud alpha agent-registry skills revisions download 指令,並指定目的地路徑:

gcloud alpha agent-registry skills revisions download REVISION_ID \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    --destination="./skill_payload.zip"

更改下列內容:

  • REVISION_ID:要下載的技能修訂版本 ID。
  • SKILL_ID:技能容器的 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。

REST

傳送 GET 要求至修訂版本的資源網址,並新增查詢參數 alt=media。您必須搭配使用 -L 旗標和 curl,才能追蹤 HTTP 重新導向串流:

curl -L -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -o skill_payload.zip \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID?alt=media"

更改下列內容:

  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:技能容器的 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • REVISION_ID:要下載的技能修訂版本 ID。

刪除特定修訂版本

刪除特定修訂版本後,系統會從 Agent Registry 移除其 ZIP 酬載和中繼資料記錄。

刪除個別修訂版本通常僅限管理員。如果刪除設為技能預設修訂版本的修訂版本,Agent Registry 會清除 defaultRevision 指標,並將「Active」技能轉換為「Disabled」狀態。如要讓技能保持啟用狀態,請先更新技能的預設修訂版本,指向另一個啟用中的修訂版本,再刪除先前的預設修訂版本。

如要刪除特定修訂版本,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」頁面:

    前往 Agent Registry

  2. 選取「技能」分頁標籤,然後點選技能名稱。
  3. 在「Skill Details」(技能詳細資料) 頁面中,找到「Version history」(版本記錄) 表格。
  4. 找出要刪除的版本。
  5. 在「Actions」(動作) 欄中,按一下「Delete」(刪除) 並確認動作。

gcloud

如要刪除修訂版本,請執行 gcloud alpha agent-registry skills revisions delete 指令:

gcloud alpha agent-registry skills revisions delete REVISION_ID \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

更改下列內容:

  • REVISION_ID:要刪除的技能修訂版本 ID。
  • SKILL_ID:技能容器的 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。

REST

如要刪除修訂版本,請傳送 DELETE 要求:

curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"

更改下列內容:

  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:技能容器的 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • REVISION_ID:要刪除的技能修訂版本 ID。

後續步驟