# Amazon Bedrock Workshop for FSI (實驗環境準備) ## 目錄 - [實驗環境準備](#實驗環境準備) - [:key: 啟用模型存取權](#-啟用模型存取權) - [🛠️ 啟用 Amazon Q Developer](#🛠%EF%B8%8F-啟用-Amazon-Q-Developer) - [🛠️ 使用 Amazon Q Developer for CLI (AWS CloudShell)](#🛠%EF%B8%8F-使用-Amazon-Q-Developer-for-CLI-AWS-CloudShell) - [🛠️ 使用 Amazon Q Developer for IDE (VSCode)](#%F0%9F%9B%A0%EF%B8%8F-%E4%BD%BF%E7%94%A8-Amazon-Q-Developer-for-IDE-VSCode) - [1. Amazon Bedrock Foundation Model 使用概覽](https://hackmd.io/@6g-86IJuRWiQ17aprBneGQ/B1PFXXHcex) - [2. Amazon Bedrock Knowledge Bases (Vector Store) for RAG](https://hackmd.io/@6g-86IJuRWiQ17aprBneGQ/ByyeB7r5eg) - [3. Amazon Bedrock Knowledge Bases (Vector Store) for GraphRag](https://hackmd.io/@6g-86IJuRWiQ17aprBneGQ/HJmVw7S9gl) - [4. Amazon Bedrock Agents](https://hackmd.io/@6g-86IJuRWiQ17aprBneGQ/HJe4D7Bcxl) - [5. Amazon Bedrock Flows](https://hackmd.io/@6g-86IJuRWiQ17aprBneGQ/B1eEw7H5gl) - [6. Amazon Bedrock Guardrails](https://hackmd.io/@6g-86IJuRWiQ17aprBneGQ/SJ0XvmH5lx) - [其他相關參考資料](https://hackmd.io/@6g-86IJuRWiQ17aprBneGQ/B1Dw5XBclg) --- ## 實驗環境準備 >[!Tip] 提醒 >**建議瀏覽器:Firefox、Chrome** :+1: **Workshop Link: https://catalog.us-east-1.prod.workshops.aws/join?access-code=6f71-0e5a6d-b3** (**Access Code:** `6f71-0e5a6d-b3`) ### [Option 1] 使用 AWS 練習環境 :::spoiler **操作步驟** 1. 進入課程提供的 AWS Workshop Studio 網址,並點擊 **「Email one-time password (OTP)」**,以獲得一次性臨時密碼。 ![圖片](https://hackmd.io/_uploads/SyrbMYEH0.png) 2. 輸入**自己的 Email** 以用於接收一次性臨時密碼 ,並點擊 **「傳送密碼」**。 ![圖片](https://hackmd.io/_uploads/r1nU7KNrC.png) >[!Tip] 提醒 >**活動期間使用相同 Email 進行登入將會使用相同的練習環境** 3. 進入自己的 Email 以取得 **9 碼 Passcode**。 ![圖片](https://hackmd.io/_uploads/rJhmNt4rC.png) 4. 將 9 碼 Passcode 填入,並點擊 **「登入」**。 ![圖片](https://hackmd.io/_uploads/BySiVKNB0.png) 5. 登入並進行環境使用要求條款後,請勾選 **「I agree with the Terms and Conditions」**,並點擊 **「Join event」**。 ![圖片](https://hackmd.io/_uploads/r14SItErA.png) ==中間省略== ![圖片](https://hackmd.io/_uploads/B1wWLK4rC.png) 6. 點擊 **「Open AWS console」**,以開啟 AWS Management Console。 ![圖片](https://hackmd.io/_uploads/SJSEvtNSC.png) >[!Tip] 提醒 >**練習過程中,若 AWS Management Console 逾時登出,可再次點擊此連結以重新登入並更新憑證** 7. 進入 AWS Management Console 後,即完成登入。 ![圖片](https://hackmd.io/_uploads/SkIu9KVSA.png) ::: ### [Option 2] 通過 AWS Management Console Signin Console 登入 :::spoiler **操作步驟** 1. 進入 [AWS Management Console](https://console.aws.amazon.com/),並輸入 **Account ID / Alias** 及 Admin 的 **User Name** 及 **Password** 後,點擊 **「Sign in」** 登入。 ![圖片](https://hackmd.io/_uploads/r1_mKKNrR.png) 2. 進入 AWS Management Console 後,即完成登入。 ![image](https://hackmd.io/_uploads/Syjplx9Kkx.png) ::: ### [Option 3] 通過 AWS Identity Center 登入 (Optional) :::spoiler **操作步驟** 1. 進入 AWS Identity Center 登入網址,並輸入 **Username** 及 **Password**,完成後點擊 **「Sign in」**。 ![圖片](https://hackmd.io/_uploads/B1zwstVHC.png) 2. 登入後,選擇**對應 AWS Account 的 Admin 權限**後,點擊連結以登入。 ![圖片](https://hackmd.io/_uploads/H1SAiKNBA.png) 3. 進入 AWS Management Console 後,即完成登入。 ![圖片](https://hackmd.io/_uploads/SkIu9KVSA.png) ::: --- ### :key: 啟用模型存取權 1. 點擊 **齒輪圖示 ![圖片](https://hackmd.io/_uploads/r1yBM3O-ke.png =30x)** 可以更換為您習慣的語言 ![圖片](https://hackmd.io/_uploads/HkxYZl5Yke.png =300x) 2. 確認區域為 **奧勒岡 (Oregon)** ![image](https://hackmd.io/_uploads/BJqtze5F1l.png =500x) 3. 進入 **Amazon Bedrock** 服務 ![圖片](https://hackmd.io/_uploads/rJ4a68wn1l.png) 4. 進入 **模型存取權 (Model access)** 來啟用欲存取的 Foundation Models (FMs) ![圖片](https://hackmd.io/_uploads/BJteC8Ph1l.png =200x) 5. 您可點擊 **修改模型存取權** 來啟用所有的 FMs 存取權限 ![image](https://hackmd.io/_uploads/BySYLPrqgl.png) ![image](https://hackmd.io/_uploads/S1h9LDB5xl.png) 6. 等待一段時間,確認 FMs 的存取狀態為 **已授予存取權 (access granted)** ![圖片](https://hackmd.io/_uploads/Syyv1PDhyx.png) >[!Note] 資訊 >若您使用的是課程所提供的練習環境,由於教學環境的限制,部分模型在教學環境中限制使用,因此若出現以下錯誤屬於正常情況 >![image](https://hackmd.io/_uploads/HyjVvDS5xe.png) --- ### 🛠️ 啟用 Amazon Q Developer 1. 進入 **Amazon Q Developer** 服務。 ![image](https://hackmd.io/_uploads/HJrDXLH9gg.png) 2. 切換區域為 **維吉尼亞洲北部 (N. Virginia)**。 ![image](https://hackmd.io/_uploads/r1tj7LS5xe.png) 3. 點擊 **Get Started**。 ![image](https://hackmd.io/_uploads/HyLL4IScgx.png) 4. 輸入 **可收取信件的 Email** (將用於登入 Amazon Q Developer for CLI),完成後點擊 **繼續**。 ![image](https://hackmd.io/_uploads/Bkqt4IS5ge.png =500x) 5. 點擊 **Create**,並等待 Amazon Q Developer 服務完成啟用。 ![image](https://hackmd.io/_uploads/ByUxBLHcxg.png =500x) 6. 當出現 `Successfully setup Amazon Q Developer.` 即表示 Amazon Q Developer 服務已完成啟用。 ![image](https://hackmd.io/_uploads/HyYrS8r5ex.png) 8. 前往收取 Email 以進行 **登入密碼設定**。 - 紀錄 **Your AWS access portal URL (Start URL)**,後續將用於 Amazon Q Developer 登入。 ![image](https://hackmd.io/_uploads/HyyIwLB5xl.png) 9. 輸入密碼後,點擊 **Set new password**,完成登入密碼設定。 ![image](https://hackmd.io/_uploads/HJttPUBqel.png =300x) [**[ ⤴️ 回到目錄]**](#目錄) --- #### 🛠️ 使用 Amazon Q Developer for CLI (AWS CloudShell) :::spoiler **您可以選擇先關閉 MFA 要求** >[!Caution] 警告 >**此設定只是為了實驗時方便沒有 MFA 裝置時使用,在使用 AWS 環境時,針對登入啟用 MFA 仍屬於最佳實踐** > 1. 進入 **AWS IAM Identity Center** 服務。 ![image](https://hackmd.io/_uploads/BkxDfSv9xx.png) 2. 點擊 **設定 MFA** ![image](https://hackmd.io/_uploads/rk2jzSPqll.png =400x) 3. 將 **如果使用者尚無已註冊的 MFA 裝置** 調整成 `允許他們登入` ![image](https://hackmd.io/_uploads/Hyzw1Svcxx.png =300x) ::: 1. 回到 **Amazon Bedrock** 服務。 ![image](https://hackmd.io/_uploads/HypPOUB9el.png) 2. 切換至 **奧勒岡 (Oregon)** 區域。 ![image](https://hackmd.io/_uploads/HkqtO8Hclg.png =300x) 3. 開啟 **CloudShell** *(建議按右鍵開啟新分頁)*。 ![image](https://hackmd.io/_uploads/Sk0OtIBqee.png =300x) >[!Tip] 說明 >AWS CloudShell 是一個基於瀏覽器的 Shell 環境,可以更輕鬆地安全地管理、探索 AWS 資源並與之互動。 CloudShell 直接使用您的控制台憑證進行預先驗證,並預先安裝了常用的開發和維運工具,而無需在您的本機中安裝或設定軟體。透過 AWS CloudShell,您可以使用 AWS 命令列介面 (AWS CLI) 快速執行腳本,使用 AWS 開發工具包 (AWS SDK) 實驗 AWS 服務 API,或使用各種工具來提高工作效率。 4. 關閉 **歡迎畫面**。 ![image](https://hackmd.io/_uploads/Sk8-5UScll.png =600x) 5. 安裝 **Amazon Q Developer for CLI**: - 移除現有安裝的 **Amazon Q Developer CLI** (目前 AWS CloudShell 預設關閉 Q Developer for CLI,參考資訊:https://github.com/aws/amazon-q-developer-cli/issues/1944)。 ``` # This removes the existing installation due to issue: sudo rm `which q` ``` ![image](https://hackmd.io/_uploads/S17FlDS9lx.png =500x) - 安裝 **Amazon Q Developer CLI**: - Do you want q to modify your shell config (you will have to manually do this otherwise)?: `Yes` ``` # Download the latest ZIP-based installer curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux-musl.zip" -o "q.zip" # Install Amazon Q Developer CLI unzip q.zip ./q/install.sh ``` ![image](https://hackmd.io/_uploads/SyfgWDS5ll.png) 6. 登入 **Amazon Q Developer for CLI**: - 輸入 `q login` 以整合至 **Amazon Q Developer CLI**: - Select login method: `Use with Pro license` - Enter Start URL: `[輸入步驟 7 紀錄的 Start URL]` - Enter Region: `us-east-1` ![image](https://hackmd.io/_uploads/BJc1zwSqxg.png) - 將 URL 複製到瀏覽器,並登入帳號密碼: - 輸入 `Username`,完成後點擊 **Next**: ![image](https://hackmd.io/_uploads/BkJcMvScle.png =300x) - 輸入 `Password`,完成後點擊 **Sign in**: ![image](https://hackmd.io/_uploads/rJHizwB5el.png =300x) - 進行 MFA 裝置註冊,以確保安全性。(若您已關閉 MFA 驗證,可忽略此步驟) ![image](https://hackmd.io/_uploads/SJ-V7DBcxg.png =400x) ![image](https://hackmd.io/_uploads/S1JtQDBcee.png =400x) ![image](https://hackmd.io/_uploads/S1XjmPSqll.png =500x) - 再次輸入 `Username`、`Password` 及 `MFA` 進行登入,並進行 Amazon Q Developer CLI 的訂閱驗證,點擊 **確認並繼續** 以及 **允許存取**。(若您已關閉 MFA 驗證,可忽略此步驟) ![image](https://hackmd.io/_uploads/ByarEPB5le.png =300x) ![image](https://hackmd.io/_uploads/HkkhEDH5xx.png =300x) ![image](https://hackmd.io/_uploads/HyA6Ewr5xx.png =300x) - 回到 **AWS CloudShell** 確認登入狀態,看到 `Logged in successfully` 即完成登入作業。 ![image](https://hackmd.io/_uploads/ryowHvS5xe.png) 7. 輸入 `q` 即可使用 Amazon Q Developer CLI。 ![image](https://hackmd.io/_uploads/ByKZUPrcel.png) [**[ ⤴️ 回到目錄]**](#目錄) --- #### 🛠️ 使用 Amazon Q Developer for IDE (VSCode) 1. 下載 **AWS CloudFromation Template**: https://d1wcvekt3937ya.cloudfront.net/vscodeserver.yaml 2. 進入 **AWS CloudFormation** 服務。 ![image](https://hackmd.io/_uploads/Sk9QCfU5lx.png) 3. 點擊 **建立堆疊** > **使用新資源 (標準)**。 ![image](https://hackmd.io/_uploads/ry9dRMLqxe.png =300x) 4. *[步驟1:建立堆疊]* 選擇 `上傳範本檔案`,並且上傳 *步驟 1* 所下載的 **AWS CloudFormation Template** 檔案,完成後點擊 **下一步**。 ![image](https://hackmd.io/_uploads/HJvRJQUclx.png) 5. *[步驟2:指定堆疊詳細資訊]* 輸入並選擇以下資訊,完成後點擊 **下一步**: - 堆疊名稱:`vscode` - VPCId: `[default-vpc]` - SubnetId: `[任選]` - InstanceType: `t3.large` - VSCodeServerPassword: `password` *(建議不要使用特殊字元)* ![image](https://hackmd.io/_uploads/B1_ZZmI5lg.png) ![image](https://hackmd.io/_uploads/SJVz-QI9lg.png) 6. *[步驟3:設定堆疊選項]* 點擊 **下一步**。 ![image](https://hackmd.io/_uploads/S1meb78qlx.png) 7. *[步驟4:檢閱和建立]* 點擊 **提交**。 ![image](https://hackmd.io/_uploads/rJzPzX85le.png) 8. 等待環境建立。 ![image](https://hackmd.io/_uploads/S1tgGmUclg.png) 9. 當部署完成,可於輸出中前往 `VSCodeServerURL` (建議按右鍵開啟新分頁)。 ![image](https://hackmd.io/_uploads/HyVCMmL5xg.png) >[!Tip] 提醒 >**此處環境建立可能需要等待數分鐘** 10. 輸入 *步驟 5* 所設定的 `VSCodeServerPassword`。 ![image](https://hackmd.io/_uploads/HkqpvXI9xl.png) 11. 點擊 **Amazon Q Extension** 進行登入。 ![image](https://hackmd.io/_uploads/SJhxOmU9xg.png) - Choose a sign-in option: `Company account` - Start URL: `Your AWS access portal URL` - Region: us-east-1 - Confirm Code for IAM Identity Center (Successor to AWS Single Sign-on): `Process To Browser` ![image](https://hackmd.io/_uploads/Sy68uQLcel.png) ![image](https://hackmd.io/_uploads/ByX5uXL5gg.png =400x) ![image](https://hackmd.io/_uploads/rkdjOXL9ge.png =400x) ![image](https://hackmd.io/_uploads/BJZ3_QU9ex.png =500x) ![image](https://hackmd.io/_uploads/SJjR_QI9le.png =400x) 12. 回到 **VSCode** 即完成登入。 ![image](https://hackmd.io/_uploads/ryVZKm8qlg.png) [**[ ⤴️ 回到目錄]**](#目錄) ---