本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
手動建立和設定代理程式
若要使用 Amazon Bedrock 建立代理程式,您需設定下列元件:
-
代理程式的組態,定義了代理程式的用途,並指示用來產生提示和回應的基礎模型 (FM)。
-
至少下列其中一個項目:
-
動作群組,定義代理程式要執行哪些動作。
-
資料來源的知識庫,透過允許搜尋和查詢來增強代理程式的生成能力。
-
您可以建立一個僅包含名稱的代理程式。若要準備代理程式以便測試或部署代理程式,您必須至少設定下列元件:
| 組態 | 說明 |
|---|---|
| 代理程式資源角色 | 具有在代理程式上呼叫 API 操作之許可的服務角色的 ARN |
| 基礎模型 (FM) | 代理程式要調用以執行協同運作的 FM |
| 指示 | 描述代理程式應該做什麼以及如何與使用者互動的自然語言 |
您也應該為代理程式設定至少一個動作群組或知識庫。如果您準備的代理程式沒有動作群組或知識庫,那麼它只會根據 FM 和指示和基本提示範本傳回回應。
若要了解如何建立代理程式,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- Console
-
建立代理程式
-
使用具有 Amazon Bedrock 主控台使用許可的 IAM 身分登入AWS 管理主控台。接著,開啟位於 https://console.aws.amazon.com/bedrock
的 Amazon Bedrock 主控台。 -
從左側導覽窗格選取代理程式。
-
在代理程式區段中選擇建立代理程式。
-
(選用) 變更自動產生的代理程式名稱,並提供選用的描述。
-
選擇建立。您的代理程式已建立,系統會將您導向至新建立代理程式的代理程式建置器,您可以在其中設定代理程式。
-
您可以繼續執行下列程序來設定您的代理程式,或稍後再返回代理程式建置器。
設定您的代理程式
-
如果您尚未進入代理程式建置器,請執行下列動作:
-
使用具有 Amazon Bedrock 主控台使用許可的 IAM 身分登入AWS 管理主控台。接著,開啟位於 https://console.aws.amazon.com/bedrock
的 Amazon Bedrock 主控台。 -
從左側導覽窗格選取代理程式。接著,在代理程式區段中選擇代理程式。
-
選擇在代理程式建置器中編輯。
-
-
在代理程式詳細資訊區段中,您可以設定下列組態:
-
編輯代理程式名稱或代理程式描述。
-
針對代理程式資源角色,選取下列其中一個選項:
-
建立並使用新的服務角色 – 讓 Amazon Bedrock 代表您建立服務角色並設定必要的許可。
-
使用現有的服務角色 – 使用您先前設定的自訂角色。
-
-
針對選取模型,選取一個 FM,供代理程式在協同運作期間調用。
根據預設,會顯示針對代理程式最佳化的模型。若要查看 Amazon Bedrock 代理程式支援的所有模型,請清除 Bedrock 代理程式已最佳化。
-
在代理程式的指示中,輸入詳細資訊以告知代理程式應該執行什麼動作,以及應該如何與使用者互動。指示會取代協同運作提示範本中的 $instructions$ 預留位置。以下是指示的範例:
You are an office assistant in an insurance agency. You are friendly and polite. You help with managing insurance claims and coordinating pending paperwork. -
如果您展開其他設定,您可以修改下列組態:
-
程式碼解譯器 – (選用) 選擇是否讓代理程式處理涉及編寫、執行、測試和疑難排解程式碼的任務。如需詳細資訊,請參閱 使用程式碼解譯來產生、執行和測試程式碼。
-
使用者輸入 – (選用) 選擇是否允許代理程式在資訊不足時向使用者請求更多資訊。如需詳細資訊,請參閱 設定代理程式向使用者請求資訊。
-
KMS 金鑰選取 – (選用) 預設情況下,AWS 會使用 AWS 受管金鑰來加密代理程式資源。若要使用您自己的客戶自管金鑰來加密代理程式,請在 KMS 金鑰選取區段中選取自訂加密設定 (進階)。若要建立新的金鑰,請選取建立 AWS KMS 金鑰,並重新整理此視窗。若要使用現有金鑰,請在選擇 AWS KMS 金鑰中選取一個金鑰。
-
閒置工作階段逾時 – 根據預設,如果使用者在 Amazon Bedrock 代理程式的工作階段中 30 分鐘無回應,則代理程式不再保留對話歷史記錄。對話歷程記錄可用來恢復互動,也可以使用對話中的內容來擴增回應。若要變更此預設時間長度,請在工作階段逾時欄位中輸入數字,然後選擇時間單位。
-
-
針對 IAM 許可區段的代理程式資源角色,選擇服務角色。若要讓 Amazon Bedrock 代表您建立服務角色,請選擇建立並使用新的服務角色。若要使用您之前建立的自訂角色,請選擇使用現有服務角色。
注意
Amazon Bedrock 為您建立的服務角色不包含預覽功能的許可。若要使用這些功能,請將正確的許可連接至服務角色。
-
(選用) 根據預設,AWS 會使用 AWS 受管金鑰來加密代理程式資源。若要使用您自己的客戶自管金鑰來加密代理程式,請在 KMS 金鑰選取區段中選取自訂加密設定 (進階)。若要建立新的金鑰,請選取建立 AWS KMS 金鑰,並重新整理此視窗。若要使用現有金鑰,請在選擇 AWS KMS 金鑰中選取一個金鑰。
-
(選用) 若要將標籤與此代理程式建立關聯,請在標籤 – 選用區段中,選擇新增標籤並提供鍵/值對。
-
完成代理程式組態設定後,選取下一步。
-
-
在動作群組區段中,您可以選擇新增,將動作群組新增至您的代理程式。如需設定動作群組的詳細資訊,請參閱使用動作群組來定義代理程式要執行的動作。若要了解如何將動作群組新增至您的代理程式,請參閱在 Amazon Bedrock 中將動作群組新增至您的代理程式。
-
在知識庫區段中,您可以選擇新增以將知識群組與您的代理程式建立關聯。如需設定知識庫的詳細資訊,請參閱使用 Amazon Bedrock 知識庫擷取資料並產生 AI 回應。若要了解如何將知識庫與您的代理程式建立關聯,請參閱使用知識庫為您的代理程式產生增強回應。
-
在防護機制詳細資訊區段中,您可以選擇編輯,將防護機制與您的代理程式建立關聯,以封鎖和篩選有害內容。從選取防護機制下的下拉式選單中選取您要使用的防護機制,然後在防護機制版本下選擇要使用的版本。您可以選取檢視來查看您的防護機制設定。如需詳細資訊,請參閱 使用 Amazon Bedrock 防護機制偵測和篩選有害內容。
-
在協同運作策略區段中,您可以選擇編輯來自訂代理程式的協同運作。如需可用於代理程式之協同運作策略的詳細資訊,請參閱自訂代理程式協同運作策略。
-
在多代理協同作業區段中,您可以選擇編輯來建立多代理協同作業團隊。如需多代理協同作業的詳細資訊,請參閱搭配 Amazon Bedrock 代理程式使用多代理協同作業 。
-
當您完成設定代理程式時,請選取下列其中一個選項:
-
若要留在代理程式建置器中,請選擇儲存。然後,您可以準備代理程式,以便在測試視窗中使用更新後的組態進行測試。若要了解如何測試您的代理程式,請參閱測試代理程式行為並進行疑難排解。
-
若要返回代理程式詳細資訊頁面,請選擇儲存並結束。
-
-
- API
-
若要建立代理程式,請使用 Amazon Bedrock 代理程式建置時期端點傳送 CreateAgent 請求 (請參閱連結以了解請求和回應格式及欄位詳細資訊)。
若要準備您的代理程式以便進行測試或部署,您必須至少包含下列欄位 (您也可以先略過這些組態,稍後再傳送 UpdateAgent 請求來進行設定):
欄位 使用案例 agentResourceRoleArn 指定具有許可的服務角色 ARN,以呼叫代理程式上的 API 操作 foundationModel 為代理程式指定基礎模型 (FM) 以與以下項目協調 指示 提供指示來告知代理程式該怎麼做。用於協同運作提示範本的 $instructions$ 預留位置。 以下是選填欄位:
欄位 使用案例 描述 描述代理程式執行的操作 idleSessionTTLInSeconds 持續時間,代理程式在此時間後會結束工作階段與刪除任何預存資訊。 customerEncryptionKeyArn 用於加密代理程式資源的 KMS 金鑰 ARN tags 將標籤與代理程式建立關聯。 promptOverrideConfiguration 在協同運作的每個步驟自訂傳送至 FM 的提示。 guardrailConfiguration 將防護機制新增至代理程式。指定防護機制的 ID 或 ARN,以及要使用的版本。 clientToken 為確保 API 請求,僅完成一次。如需詳細資訊,請參閱確保冪等性。 cachingState 啟用代理程式輸入的提示快取。如需詳細資訊,請參閱 提示快取可加快模型推論速度。 reasoning_config 啟用模型推理,讓模型解釋如何得出結論。在 additionalModelRequestFields欄位內使用。您必須指定用於模型推理的budget_tokens數目,這是輸出字符的子集。如需詳細資訊,請參閱使用模型推理增強模型回應。回應會傳回 CreateAgent 物件,其中包含新建立代理程式的詳細資訊。如果無法建立代理程式,回應中的 CreateAgent 物件會傳回
failureReasons的清單和recommendedActions的清單,供您進行疑難排解。def create_agent(self, agent_name, foundation_model, role_arn, instruction): """ Creates an agent that orchestrates interactions between foundation models, data sources, software applications, user conversations, and APIs to carry out tasks to help customers. :param agent_name: A name for the agent. :param foundation_model: The foundation model to be used for orchestration by the agent. :param role_arn: The ARN of the IAM role with permissions needed by the agent. :param instruction: Instructions that tell the agent what it should do and how it should interact with users. :return: The response from Amazon Bedrock Agents if successful, otherwise raises an exception. """ try: response = self.client.create_agent( agentName=agent_name, foundationModel=foundation_model, agentResourceRoleArn=role_arn, instruction=instruction, ) except ClientError as e: logger.error(f"Error: Couldn't create agent. Here's why: {e}") raise else: return response["agent"]如需詳細資訊,請參閱 Hello Amazon Bedrock 代理程式。