刪除生成式 AI 知識庫

Last reviewed 2024-03-01 UTC

本指南說明如何刪除生成式 AI 知識庫快速部署解決方案。 請參閱本指南,瞭解如何刪除現有的解決方案部署作業。

費用

如要估算生成式 AI 知識庫解決方案使用的 Google Cloud 資源費用,請參閱 Google Cloud Pricing Calculator 中的預先計算估算值。

您可以根據估算結果,進一步計算部署作業的費用。您可以修改預估值,反映您對解決方案所用資源進行的任何設定變更。

預先計算的預估值是根據特定因素的假設而得,包括:

  • 資源的部署位置。 Google Cloud
  • 資源的使用時間長度。

您也可以查看已部署資源的使用費用。詳情請參閱「查看帳單報表和費用趨勢」。

  • 儲存在 Cloud Storage 中的資料量。
  • 知識庫應用程式的叫用次數。
  • 用於微調模型的運算資源。

取得必要的 IAM 權限

如要刪除現有部署作業,您必須具備下表列出的 Identity and Access Management (IAM) 權限。如果您具備解決方案部署專案的roles/owner 基本角色,則表示您已具備所有必要權限。如果您沒有 roles/owner 角色,請要求管理員授予您這些權限 (或包含這些權限的角色)。

所需的身分與存取權管理權限 包含必要權限的預先定義角色

serviceusage.services.enable

服務使用情形管理員
(roles/serviceusage.serviceUsageAdmin)

iam.serviceAccounts.create

服務帳戶管理員
(roles/iam.serviceAccountAdmin)

resourcemanager.projects.setIamPolicy

專案 IAM 管理員
(roles/resourcemanager.projectIamAdmin)
config.deployments.create
config.deployments.list
Cloud Infrastructure Manager 管理員
(roles/config.admin)

為解決方案建立的服務帳戶

透過控制台啟動刪除程序時,系統會建立服務帳戶,代表您部署解決方案 (並在您選擇時刪除部署作業)。系統會暫時為這個服務帳戶指派特定 IAM 權限,也就是在解決方案部署和刪除作業完成後,自動撤銷這些權限。Google 建議您在刪除部署作業後,一併刪除服務帳戶,如本指南稍後所述。

查看指派給服務帳戶的角色

如果 Google Cloud 專案或機構的管理員需要這項資訊,這些角色就會列於此處。

  • roles/aiplatform.user
  • roles/artifactregistry.admin
  • roles/documentai.editor
  • roles/firebase.admin
  • roles/iam.serviceAccountUser
  • roles/serviceusage.serviceUsageAdmin
  • roles/iam.serviceAccountAdmin
  • roles/resourcemanager.projectIamAdmin
  • roles/config.agent

刪除部署作業

不再需要解決方案時,請刪除部署作業。 刪除部署項目後,您就不必再為建立的資源付費。

刪除前的注意事項

刪除這項解決方案前,請先刪除 Vector Search 索引部署作業:

  1. 前往「Vector Search」頁面。

    前往 Vector Search

  2. 按一下 [knowledge-base-index]

  3. 在「Deployed indexes」(已部署的索引) 下方,按一下 more_vert「More」(更多)

  4. 按一下「Undeploy」(取消部署)

您不必等待索引刪除程序完成。

透過控制台刪除

如果您是透過控制台部署解決方案,請使用這個程序。

  1. 前往 Google Cloud 控制台的「Solution deployments」(解決方案部署項目) 頁面。

    前往「Solution Deployments」(解決方案部署項目) 頁面

  2. 選取要刪除部署作業的專案。

  3. 找出要刪除的部署作業。

  4. 在部署作業的資料列中,按一下 「Actions」(動作),然後選取「Delete」(刪除)

    您可能需要捲動畫面,才能看到資料列中的「動作」

  5. 輸入部署作業的名稱,然後按一下「確認」

    「狀態」欄位會顯示「正在刪除」

    如果刪除作業失敗,請參閱「刪除部署作業時發生錯誤」一文中的疑難排解指南。

如果您不再需要用於解決方案的 Google Cloud 專案,可以刪除該專案。詳情請參閱「選用:刪除專案」。

使用 Terraform CLI 刪除

如果您是使用 Terraform CLI 部署解決方案,請按照這個程序操作。

  1. 在 Cloud Shell 中,確認目前工作目錄為 $HOME/cloudshell_open/terraform-genai-knowledge-base/。如果不是,請前往該目錄。

  2. 移除 Terraform 佈建的資源:

    terraform destroy
    

    Terraform 會顯示即將刪除的資源清單。

  3. 系統提示您執行動作時,請輸入 yes

    Terraform 會顯示訊息,說明進度。刪除所有資源後,Terraform 會顯示以下訊息:

    Destroy complete!
    

    如果刪除作業失敗,請參閱「刪除部署作業時發生錯誤」一文中的疑難排解指南。

如果您不再需要用於解決方案的 Google Cloud 專案,可以刪除該專案。詳情請參閱「選用:刪除專案」。

刪除微調模型

您必須手動刪除微調模型。

如要刪除調整後的模型,請參閱「從 Vertex AI Model Registry 刪除模型」。

(選用) 刪除專案

如果您是在新 Google Cloud 專案中部署解決方案,且現在已不再需要該專案,請完成下列步驟來刪除專案:

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。

    前往「Manage resources」(管理資源)

  2. 從專案清單中選取要刪除的專案,然後點選「Delete」(刪除)
  3. 收到提示時,請輸入專案 ID,然後點選「Shut down」(關閉)

如果您決定保留專案,請刪除為這個解決方案建立的服務帳戶,詳情請見下節。

選用:刪除服務帳戶

如果您已刪除用於解決方案的專案,請略過本節。

如本指南稍早所述,部署解決方案時,系統會代表您建立服務帳戶。服務帳戶暫時獲派特定 IAM 權限,也就是說,解決方案部署和刪除作業完成後,系統會自動撤銷權限,但不會刪除服務帳戶。Google 建議您刪除這個服務帳戶。

  • 如果您透過 Google Cloud 控制台部署解決方案,請前往「Solution deployments」(解決方案部署作業) 頁面。(如果已在該頁面,請重新整理瀏覽器。)系統會在背景觸發程序,刪除服務帳戶。您不需採取進一步行動。

  • 如果您使用 Terraform CLI 部署解決方案,請完成下列步驟:

    1. 前往 Google Cloud 控制台的「Service accounts」(服務帳戶) 頁面。

      前往「Service accounts」(服務帳戶)

    2. 選取您用於解決方案的專案。

    3. 選取要刪除的服務帳戶。

      為解決方案建立的服務帳戶電子郵件 ID 格式如下:

      goog-sc-DEPLOYMENT_NAME-NNN@PROJECT_ID.iam.gserviceaccount.com
      

      電子郵件 ID 包含下列值:

      • DEPLOYMENT_NAME:部署作業的名稱。
      • NNN:隨機 3 位數。
      • PROJECT_ID:您部署解決方案的專案 ID。
    4. 點選「刪除」。

排解錯誤

可採取哪些行動來診斷及解決錯誤,取決於部署方法和錯誤的複雜程度。

刪除部署作業時發生錯誤

在某些情況下,嘗試刪除部署作業可能會失敗:

  • 透過控制台部署解決方案後,如果您變更解決方案佈建的任何資源,然後嘗試刪除部署作業,刪除作業可能會失敗。「Solution deployments」(解決方案部署作業) 頁面上的「Status」(狀態) 欄位會顯示「Failed」(失敗),而 Cloud Build 記錄會顯示錯誤原因。
  • 使用 Terraform CLI 部署解決方案後,如果使用非 Terraform 介面 (例如控制台) 變更任何資源,然後嘗試刪除部署作業,刪除作業可能會失敗。terraform destroy 指令輸出內容中的訊息會顯示錯誤原因。

查看錯誤記錄和訊息,找出並刪除導致錯誤的資源,然後再次嘗試刪除部署作業。

如果無法刪除以控制台為基礎的部署作業,且無法使用 Cloud Build 記錄檔診斷錯誤,則可使用 Terraform CLI 刪除部署作業,詳情請參閱下一節。

使用 Terraform CLI 刪除以控制台為基礎的部署作業

本節說明如何刪除以控制台為基礎的部署作業,以防您嘗試透過控制台刪除時發生錯誤。這個方法是下載要刪除的部署作業的 Terraform 設定,然後使用 Terraform CLI 刪除部署作業。

  1. 找出部署作業的 Terraform 程式碼、記錄和其他資料儲存區域。這個區域可能與您部署解決方案時選取的區域不同。

    1. 前往 Google Cloud 控制台的「Solution deployments」(解決方案部署項目) 頁面。

      前往「Solution Deployments」(解決方案部署項目) 頁面

    2. 選取要刪除部署作業的專案。

    3. 在部署清單中,找出要刪除的部署所在的資料列。

    4. 按一下「查看所有列內容」

    5. 在「Location」(位置) 欄中,記下第二個位置,如下列範例所示:

      部署程式碼、記錄和其他構件的位置。

  2. 在 Google Cloud 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

  3. 為專案 ID、區域和要刪除的部署作業名稱建立環境變數:

    export REGION="REGION"
    export PROJECT_ID="PROJECT_ID"
    export DEPLOYMENT_NAME="DEPLOYMENT_NAME"
    

    在這些指令中,請替換下列項目:

    • REGION:您在本程序中稍早記下的位置。
    • PROJECT_ID:您部署解決方案的專案 ID。
    • DEPLOYMENT_NAME:要刪除的部署作業名稱。
  4. 取得要刪除的最新部署作業修訂版本 ID:

    export REVISION_ID=$(curl \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \
        | jq .latestRevision -r)
        echo $REVISION_ID
    

    輸出結果會與下列內容相似:

    projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME/revisions/r-0
    
  5. 取得部署作業的 Terraform 設定 Cloud Storage 位置:

    export CONTENT_PATH=$(curl \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/${REVISION_ID}" \
        | jq .applyResults.content -r)
        echo $CONTENT_PATH
    

    以下是這個指令的輸出範例:

    gs://PROJECT_ID-REGION-blueprint-config/DEPLOYMENT_NAME/r-0/apply_results/content
    
  6. 從 Cloud Storage 下載 Terraform 設定至 Cloud Shell:

    gcloud storage cp $CONTENT_PATH $HOME --recursive
    cd $HOME/content/
    

    等待系統顯示 Operation completed 訊息,如下列範例所示:

    Operation completed over 45 objects/268.5 KiB
    
  7. 初始化 Terraform:

    terraform init
    

    等待系統顯示下列訊息:

    Terraform has been successfully initialized!
    
  8. 移除已部署的資源:

    terraform destroy
    

    Terraform 會顯示即將刪除的資源清單。

    如果系統顯示任何有關未宣告變數的警告,請忽略這些警告。

  9. 系統提示您執行動作時,請輸入 yes

    Terraform 會顯示訊息,說明進度。刪除所有資源後,Terraform 會顯示下列訊息:

    Destroy complete!
    
  10. 刪除部署作業成品:

    curl -X DELETE \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}?force=true&delete_policy=abandon"
    
  11. 等待幾秒,然後確認部署構件已刪除:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \
        | jq .error.message
    

    如果輸出內容顯示 null,請稍候片刻,然後再次執行指令。

    刪除部署構件後,系統會顯示如下例所示的訊息:

    Resource 'projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME' was not found
    

後續步驟