

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon Q Developer 解決 Canvas 中 ML 問題的生成式 AI 輔助
<a name="canvas-q"></a>

使用 Amazon SageMaker Canvas 時，您可以使用自然語言與 Amazon Q Developer 聊天，以利用生成式 AI 並解決問題。Q Developer 是一個助理，可協助您將目標轉換為機器學習 (ML) 任務，並描述 ML 工作流程的每個步驟。Q Developer 可協助 Canvas 使用者減少利用 ML 並為組織做出資料驅動型決策所需的時間、精力和資料科學專業知識。

透過與 Q Developer 的對話，您可以在 Canvas 中啟動動作，例如準備資料、建置 ML 模型、進行預測，以及部署模型。Q Developer 會針對後續步驟提出建議，並在您完成每個步驟時為您提供內容。它也會通知您結果；例如，Canvas 可以根據最佳實務轉換資料集，而且 Q Developer 可以列出已使用的轉換及其原因。

Amazon Q Developer 可在 SageMaker Canvas 中同時免費提供給 Amazon Q Developer 專業方案和免費方案使用者。不過，標準費用適用於 SageMaker Canvas 工作區執行個體等資源，以及用於建置或部署模型的任何資源。如需定價的詳細資訊，請參閱 [Amazon SageMaker Canvas 定價](https://aws.amazon.com/sagemaker-ai/canvas/pricing/)。

Amazon Q 的使用是根據 [MIT 的 0 授權](https://github.com/aws/mit-0)向您授權，並受 [AWS 負責任的 AI 政策](https://aws.amazon.com/machine-learning/responsible-ai/policy/)約束。當您從美國境外使用 Q Developer 時，Q Developer 會跨美國區域處理資料。如需詳細資訊，請參閱 [Amazon Q Developer 中的跨區域推論](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-inference.html)。

**注意**  
無論您使用免費方案還是專業方案訂閱，SageMaker Canvas 中的 Amazon Q Developer 都不會使用使用者內容來改善服務。基於服務遙測目的，Q Developer 可能會追蹤您的使用情況，例如提出的問題數量，以及接受還是拒絕建議。此遙測資料不包含個人可識別資訊，例如 IP 位址。

## 運作方式
<a name="canvas-q-how-it-works"></a>

Amazon Q Developer 是採用生成式 AI 技術的助理，適用於 SageMaker Canvas，您可以使用自然語言進行查詢。Q Developer 針對機器學習工作流程的每個步驟提出建議，從而解釋概念，並視需要為您提供選項和更多詳細資訊。您可以使用 Q Developer 來協助處理迴歸、二進制分類和多類別分類使用案例。

例如，若要預測客戶流失，請透過 Q Developer 將歷史客戶流失資訊的資料集上傳至 Canvas。Q Developer 建議適當的 ML 模型類型和步驟，以修正資料集問題、建置模型並進行預測。

**重要**  
Amazon Q Developer 旨在用於討論 SageMaker Canvas 內的機器學習問題。它會引導使用者完成 Canvas 動作，並選擇性地回答有關 AWS 服務的問題。Q Developer 僅以英文處理模型輸入。如需 Amazon Q Developer 使用方式的詳細資訊，請參閱《Amazon Q Developer 使用者指南》**中的 [Amazon Q Developer 功能](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/features.html)。

## 支援的 區域
<a name="canvas-q-regions"></a>

Amazon Q Developer 可在 SageMaker Canvas 中使用，如下所示 AWS 區域：
+ 美國東部 (維吉尼亞北部)
+ 美國東部 (俄亥俄)
+ 美國西部 (奧勒岡)
+ 亞太區域 (孟買)
+ 亞太區域 (首爾)
+ 亞太區域 (新加坡)
+ 亞太地區 (雪梨)
+ 亞太地區 (東京)
+ 歐洲 (法蘭克福)
+ 歐洲 (愛爾蘭)
+ Europe (Paris)

## Canvas 中可用的 Amazon Q Developer 功能
<a name="canvas-q-capabilities"></a>

下列清單摘要說明 Q Developer 可以提供協助的 Canvas 任務：
+ **描述您的目標** - Q Developer 可以建議 ML 模型類型和一般方法來解決您的問題。
+ **匯入和分析資料集** - 告知 Q Developer 您的資料集存放位置，或上傳檔案以將其儲存為 Canvas 資料集。提示 Q Developer 識別資料集的任何問題，例如極端值或缺失值。Q Developer 提供有關資料集的摘要統計資料，並列出任何已識別的問題。

  Q Developer 支援個別資料欄的下列統計資料查詢：
  + 數值欄 - `number of valid values`、`feature type`、`mean`、`median`、`minimum`、`maximum`、`standard deviation`、`25th percentile`、`75th percentile`、`number of outliers`
  + 分類欄 - `number of missing values`、`number of valid values`、`feature type`、`most frequent`、`most frequent category`、`most frequent category count`、`least frequent`、`least frequent category`、`least frequent category count`、`categories`
+ **修正資料集問題** - 提示 Q Developer 使用 Canvas 的資料轉換功能來建立資料集的修訂版本。Canvas 會建立 Data Wrangler 資料流程，並根據資料科學最佳實務套用轉換。如需詳細資訊，請參閱[資料準備](canvas-data-prep.md)。

  如果您想要執行的資料分析或資料準備任務比使用 Q Developer 可以完成的更進階，建議您前往 Data Wrangler 資料流程介面。
+ **訓練模型** - Q Developer 會針對您的問題告訴您建議的 ML 模型類型，以及提議的模型建置組態。您可以使用建議的預設設定來執行快速建置，也可以修改組態並執行標準建置。備妥時，提示 Q Developer 建置您的 Canvas 模型。

  支援所有自訂模型類型。如需模型類型和快速與標準建置的詳細資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。
+ **評估模型準確性** - 建立模型後，Q Developer 會提供模型如何跨各種指標評分的摘要。這些指標可協助您判斷模型的實用性和準確性。Q Developer 可以詳細說明任何概念或指標。

  若要檢視完整詳細資訊和視覺化，請從聊天或 Canvas 的**我的模型**頁面開啟模型。如需詳細資訊，請參閱[模型評估](canvas-evaluate-model.md)。
+ **取得新資料的預測** - 您可以上傳新的資料集，並提示 Q Developer 協助您開啟 Canvas 的預測功能。

  Q Developer 會在應用程式中開啟新視窗，您可以在其中進行單一預測或使用新資料集進行批次預測。如需詳細資訊，請參閱[使用自訂模型進行預測](canvas-make-predictions.md)。
+ **部署模型** - 若要部署模型進行生產，請要求 Q Developer 協助您透過 Canvas 部署模型。Q Developer 會開啟新視窗，您可以在其中設定部署。

  部署後，檢視部署詳細資訊的位置為 1) Canvas 的**我的模型**頁面上模型的**部署**索引標籤，或 2) **ML Ops** 頁面上的**部署**索引標籤。如需詳細資訊，請參閱[將模型部署到端點](canvas-deploy-model.md)。

## 先決條件
<a name="canvas-q-prereqs"></a>

若要使用 Amazon Q Developer 在 SageMaker Canvas 中建置 ML 模型，請完成下列先決條件：

**設定 Canvas 應用程式**

請確定您已設定 Canvas 應用程式。如需如何設定 Canvas 應用程式的資訊，請參閱[Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)。

**授予 Q Developer 許可**

若要在使用 Canvas 時存取 Q Developer，您必須將必要的許可連接至用於 SageMaker AI 網域或使用者設定檔的 AWS IAM 角色。您可以透過本節所述的主控台執行此操作。如果您因為使用 主控台方法而遇到任何許可問題，請手動將 AWS 受管政策 [ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) 連接至 IAM 角色。

網域層級連接的許可適用於網域中的所有使用者設定檔，除非在使用者設定檔層級授予或撤銷個別許可。

------
#### [ SageMaker AI console method ]

您可以透過編輯 SageMaker AI 網域或使用者設定檔設定來授予許可。

若要透過 SageMaker AI 主控台中的網域設定授予許可，請執行下列動作：

1. 開啟 Amazon SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從網域清單中選取您的網域。

1. 在**網域詳細資訊**頁面上，選取**應用程式組態**索引標籤。

1. 在 **Canvas** 區段中，選擇**編輯**。

1. 在**編輯 Canvas 設定**頁面上，前往 **Amazon Q Developer** 區段並執行下列動作：

   1. 開啟**在 SageMaker Canvas 中啟用 Amazon Q Developer 以進行自然語言 ML**，將與 Canvas 中 Q Developer 聊天的許可新增至網域的執行角色。

   1. （選用） 如果您想要詢問 Q **開發人員有關各種問題的一般 AWS 問題，請開啟啟用 Amazon Q 開發人員聊天**功能 AWS 服務 （例如：描述 Athena 的運作方式）。
**注意**  
對 Q Developer 進行一般 AWS 查詢時，您的請求會透過美國東部 （維吉尼亞北部） 進行路由 AWS 區域。若要防止您的資料透過美國東部 (維吉尼亞北部) 進行路由，請關閉**針對一般 AWS 問題啟用 Amazon Q Developer 聊天**切換。

------
#### [ Manual method ]

將 [ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) 政策連接至用於網域或使用者設定檔的 AWS IAM 角色。如需如何執行此動作的詳細資訊，請參閱《AWS IAM 使用者指南》**中的[新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

------

**(選用) 從 VPC 設定對 Q Developer 的存取**

如果您有一個在沒有公有網際網路存取情況下設定的 VPC，您可以為 Q Developer 新增 VPC 端點。如需詳細資訊，請參閱[在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas](canvas-vpc.md)。

## 開始使用
<a name="canvas-q-get-started"></a>

若要使用 Amazon Q Developer 在 SageMaker Canvas 中建置 ML 模型，請執行下列動作：

1. 開啟您的 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中，選擇 **Amazon Q**。

1. 選擇**開始新的對話**以開啟新的聊天。

當您開始新的聊天時，Q Developer 會提示您陳述問題或提供資料集。

![\[Q Developer 在開始新的聊天時提供給您的問候語。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-greeting.png)


匯入資料後，您可以要求 Q Developer 提供您資料集的摘要統計資料，也可以詢問特定資料欄的相關問題。如需 Q Developer 支援的不同統計資料清單，請參閱上節[Canvas 中可用的 Amazon Q Developer 功能](#canvas-q-capabilities)。下列螢幕擷取畫面顯示要求資料集統計資料的範例，以及產品類別欄中最常見的類別。

![\[聊天對話方塊，要求 Q Developer 提供資料集統計資料和最常用的類別統計資料。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-dataset-statistics.png)


Q Developer 會追蹤您在對話期間匯入或建立的任何 Canvas 成品，例如轉換的資料集和模型。您可以從聊天或其他 Canvas 應用程式索引標籤存取它們。例如，如果 Q Developer 修正資料集中的問題，您可以從下列位置存取新的轉換資料集：
+ Q Developer 聊天介面中的成品側邊欄
+ Canvas 的**資料集**頁面，您可以在其中檢視原始和轉換的資料集。轉換的資料集已將**建置者 Amazon Q** 標籤新增至其中。
+ Canvas 的 **Data Wrangler** 頁面，其中 Q Developer 會為您的資料集建立新的資料流程

下列螢幕擷取畫面顯示聊天側邊欄中的原始資料集和已轉換資料集。

![\[顯示在 Q Developer 聊天側邊欄中的成品，即資料集和已轉換資料集。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-artifacts.png)


當您的資料備妥時，請要求 Q Developer 協助建置 Canvas 模型。Q Developer 可能會提示您確認幾個欄位並檢閱建置組態。如果您使用預設建置組態，則系統會使用快速建置來建置模型。如果您想要自訂建置組態的任何部分，例如選取使用的演算法或變更目標指標，則系統會使用標準建置來建置您的模型。

下列螢幕擷取畫面顯示如何提示 Q Developer 使用幾個提示啟動 Canvas 模型建置。此範例使用預設組態來啟動快速建置。

![\[與 Q Developer 的對話，其中提示使用者開始 Canvas 模型建置。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-training-chat.png)


建置模型後，您可以在聊天中使用自然語言或使用成品側邊欄功能表執行其他動作。例如，您可以檢視模型詳細資訊和指標、進行預測或部署模型。下列螢幕擷取畫面顯示側邊欄，您可以在其中選擇這些額外的選項。

![\[Q Developer 對話省略符號功能表已展開，顯示檢視模型詳細資訊、預測和部署的選項。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-ellipsis-menu.png)


您也可以前往 Canvas 的**我的模型**頁面並選取模型，以執行其中任何動作。從模型的頁面，您可以導覽至**分析**、**預測**和**部署**索引標籤，分別檢視模型指標和視覺化、進行預測，以及管理部署。

# 使用 記錄 Q 開發人員對話 AWS CloudTrail
<a name="canvas-q-cloudtrail"></a>

AWS CloudTrail 是一項服務，可記錄使用者、角色或在 Amazon SageMaker AI AWS 服務 中採取的動作。CloudTrail 會在使用 SageMaker Canvas (無程式碼 ML 介面) 時，擷取您與 Amazon Q Developer (對話式 AI 助理) 互動所產生的 API 呼叫。CloudTrail 資料會顯示請求詳細資訊、請求者的 IP 位址、提出請求者和請求時間。

您與 Q Developer 的互動會以 `SendConversation` API 呼叫的形式傳送至 SageMaker AI 資料科學助理服務，這是 Canvas 在後端利用的內部服務。`SendConversation` API 呼叫的事件來源為 `sagemaker-data-science-assistant.amazonaws.com`。

**注意**  
基於隱私和安全原因，您的對話內容會隱藏在日誌中，在請求和回應元素中顯示為 `HIDDEN_DUE_TO_SECURITY_REASONS`。

若要進一步了解 CloudTrail，請參閱[「*AWS CloudTrail 使用者指南」*](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。若要進一步了解 SageMaker AI 中的 CloudTrail，請參閱[使用 記錄 Amazon SageMaker AI API 呼叫 AWS CloudTrail](logging-using-cloudtrail.md)。

以下是 `SendConversation` API 的範例日誌檔案項目：

```
{
    "eventVersion":"1.10",
    "userIdentity": {
        "type":"AssumedRole",
        "principalId":"AROA123456789EXAMPLE:user-Isengard",
        "arn":"arn:aws:sts::111122223333:assumed-role/Admin/user",
        "accountId":"111122223333",
        "accessKeyId":"ASIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type":"Role",
                "principalId":"AROA123456789EXAMPLE",
                "arn":"arn:aws:iam::111122223333:role/Admin",
                "accountId":"111122223333",
                "userName":"Admin"
            },
            "attributes": {
                "creationDate":"2024-11-11T22:04:37Z",
                "mfaAuthenticated":"false"
            }
        }
    },
    "eventTime":"2024-11-11T22:09:22Z",
    "eventSource":"sagemaker-data-science-assistant.amazonaws.com",
    "eventName":"SendConversation",
    "awsRegion":"us-west-2",
    "sourceIPAddress":"192.0.2.0",
    "userAgent":"Boto3/1.33.13 md/Botocore#1.33.13 ua/2.0 os/linux#5.10.227-198.884.amzn2int.x86_64 md/arch#x86_64 lang/python#3.7.16 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.33.13",
    "requestParameters": {
        "conversation": [
            {
                "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
                "utterance":"HIDDEN_DUE_TO_SECURITY_REASONS",
                "timestamp":"Feb 4, 2020, 7:46:29 AM",
                "utteranceType":"User"
            }
        ],
        "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
    },
    "responseElements": {
        "responseCode":"CHAT_RESPONSE",
        "conversationId":"1234567890abcdef0",
        "response": {
            "chat": {
                "body":"HIDDEN_DUE_TO_SECURITY_REASONS"
            }
        }
    },
    "requestID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "eventID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "readOnly":false,
    "eventType":"AwsApiCall",
    "managementEvent":true,
    "recipientAccountId":"123456789012",
    "eventCategory":"Management",
    "tlsDetails": {
        "tlsVersion":"TLSv1.2",
        "cipherSuite":"ECDHE-RSA-AES128-GCM-SHA256",
        "clientProvidedHostHeader":"gamma.us-west-2.data-science-assistant.sagemaker.aws.dev"
    }
}
```