

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

# 設定進階提示
<a name="configure-advanced-prompts"></a>

您可以在 AWS 管理主控台 中或透過 API 設定進階提示。

------
#### [ Console ]

在主控台，您可以在建立代理程式之後設定進階提示。您可以在編輯代理程式時進行設定。

**若要檢視或編輯代理程式的進階提示**

1. 使用具有 Amazon Bedrock 主控台使用許可的 IAM 身分登入AWS 管理主控台。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

1. 在左側導覽窗格中，選擇**代理程式**。接著在**代理程式**區段中選擇代理程式。

1. 在代理程式詳細資訊頁面的**工作草稿**區段中，選取**工作草稿**。

1. 在**工作草稿**頁面的**協同運作策略**區段中，選擇**編輯**。

1. 在**協同運作策略**頁面的**協同運作策略詳細資訊**區段中，確保已選取**預設協同運作**，然後選擇與您要編輯之代理程式序列步驟對應的索引標籤。

1. 若要啟用範本編輯功能，請開啟**覆寫範本預設值**。在**覆寫範本預設值**對話方塊中，選擇**確認**。
**警告**  
如果關閉**覆寫範本預設值**或變更模型，則會使用預設的 Amazon Bedrock 範本，並立即刪除您的範本。若要確認，請在文字方塊中輸入 **confirm** 以確認出現的訊息。

1. 若要允許代理程式在產生回應時使用該範本，請開啟**啟用範本**。如果關閉此組態，代理程式就不會使用範本。

1. 若要修改範例提示範本，請使用**提示範本編輯器**。

1. 在**組態**中，您可以修改提示的推論參數。如需參數定義及不同模型參數的詳細資訊，請參閱 [基礎模型的推論請求參數和回應欄位](model-parameters.md)。

1. (選用) 若要使用已定義的 Lambda 函數來剖析原始基礎模型輸出，請執行下列動作：
**注意**  
一個 Lambda 函數用於所有提示範本。

   1. 在**組態**區段中選取**使用 Lambda 函數進行剖析**。如果清除此設定，代理程式會使用預設剖析器來處理提示。

   1. 對於**剖析器 Lambda 函數**，從下拉式功能表中選取 Lambda 函數。
**注意**  
您必須連接代理程式的許可，使其能夠存取 Lambda 函數。如需詳細資訊，請參閱 [資源型政策，允許 Amazon Bedrock 調用動作群組 Lambda 函數](agents-permissions.md#agents-permissions-lambda)。

1. 若要儲存設定，請選擇下列其中一個選項：

   1. 若要保持在相同的視窗中，以便在測試更新的代理程式時動態更新提示設定，請選擇**儲存**。

   1. 若要儲存設定並返回**工作草稿**頁面，請選擇**儲存並結束**。

1. 若要測試更新的設定，請在**測試**視窗中選擇**準備**。

![\[在主控台中設定進階提示。\]](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/images/agents/advanced-prompts.png)


------
#### [ API ]

若要使用 API 操作設定進階提示，請傳送 [UpdateAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html) 呼叫，並修改下列 `promptOverrideConfiguration` 物件。

```
"promptOverrideConfiguration": { 
    "overrideLambda": "string",
    "promptConfigurations": [ 
        { 
            "basePromptTemplate": "string",
            "inferenceConfiguration": { 
                "maximumLength": int,
                "stopSequences": [ "string" ],
                "temperature": float,
                "topK": float,
                "topP": float
            },
            "parserMode": "DEFAULT | OVERRIDDEN",
            "promptCreationMode": "DEFAULT | OVERRIDDEN",
            "promptState": "ENABLED | DISABLED",
            "promptType": "PRE_PROCESSING | ORCHESTRATION | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING | MEMORY_SUMMARIZATION"
        }
    ],
    promptCachingState: {
        cachingState: "ENABLED | DISABLED"
    }
}
```

1. 在 `promptConfigurations` 清單中，為您要編輯的每個提示範本包括 `promptConfiguration` 物件。

1. 在 `promptType` 欄位中指定要修改的提示。

1. 透過下列步驟修改提示範本：

   1. 使用提示範本指定 `basePromptTemplate` 欄位。

   1. 在 `inferenceConfiguration` 物件中包括推論參數。如需有關推論組態的詳細資訊，請參閱 [基礎模型的推論請求參數和回應欄位](model-parameters.md)。

1. 若要啟用提示範本，請將 `promptCreationMode` 設為 `OVERRIDDEN`。

1. 若要允許或阻止代理程式執行 `promptType` 欄位中的步驟，請修改 `promptState` 值。此設定有助於對代理程式的行為進行疑難排解。
   + 如果您針對 `PRE_PROCESSING`、`KNOWLEDGE_BASE_RESPONSE_GENERATION` 或 `POST_PROCESSING` 步驟將 `promptState` 設為 `DISABLED`，則代理程式會略過該步驟。
   + 如果您將 `ORCHESTRATION` 步驟的 `promptState` 設定為 `DISABLED`，代理程式只會將使用者輸入內容傳送至協同運作中的基礎模型。此外，代理程式會依原樣傳回回應，而不會協調 API 操作和知識庫之間的呼叫。
   + 根據預設，`POST_PROCESSING` 步驟為 `DISABLED`。根據預設，`PRE_PROCESSING`、`ORCHESTRATION` 和 `KNOWLEDGE_BASE_RESPONSE_GENERATION` 步驟都是 `ENABLED`。
   + 根據預設，如果啟用記憶體，則 `MEMORY_SUMMARIZATION` 步驟為 `ENABLED`，如果停用記憶體，則 `MEMORY_SUMMARIZATION` 步驟為 `DISABLED`。

1. 若要使用已定義的 Lambda 函數來剖析原始基礎模型輸出，請執行下列步驟：

   1. 針對您要啟用 Lambda 函數的每個提示範本，將 `parserMode` 設定為 `OVERRIDDEN`。

   1. 在 `promptOverrideConfiguration` 物件的 `overrideLambda` 欄位中，指定 Lambda 函數的 Amazon Resource Name (ARN)。

------