

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

# 在 Amazon Connect 中設定第三方語音供應商
<a name="configure-third-party-speech-providers"></a>

您可以在 Amazon Connect 中設定第三方speech-to-text(STT) 和text-to-speech(TTS) 提供者，以擴展語言涵蓋範圍、改善辨識準確性，並提供更具表達性的合成語音。本節說明如何為機器人設定第三方 STT 提供者，以及設定第三方 TTS 提供者以用於聯絡流程。

**Topics**
+ [設定第三方speech-to-text(STT) 供應商](configure-third-party-stt.md)
+ [設定第三方text-to-speech(TTS) 供應商](configure-third-party-tts.md)
+ [第三方 STT 提供者的端點和區域](endpoints-regions-third-party-stt.md)
+ [管理秘密和資源政策](managing-secrets-resource-policies.md)

# 設定第三方speech-to-text(STT) 供應商
<a name="configure-third-party-stt"></a>

使用下列指示來設定第三方speech-to-text(STT) 提供者。

## 先決條件
<a name="stt-prerequisites"></a>
+ 具有現有地區設定的機器人。
+ 存放於 的第三方 STT 提供者 API 金鑰 AWS Secrets Manager。如需在 Secrets Manager 中將 API 金鑰儲存為秘密的詳細資訊，請參閱[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)。
+ 可讓 Amazon Connect 擷取秘密的 Secrets Manager 資源政策。如需詳細資訊，請參閱[管理秘密和資源政策](managing-secrets-resource-policies.md)。
+ AWS KMS key 允許解密的許可。如需詳細資訊，請參閱[管理秘密和資源政策](managing-secrets-resource-policies.md)。
+ 供應商模型 ID 和 Secrets Manager ARN。

## 步驟 1：開啟語音模型組態面板
<a name="stt-step1"></a>

1. 登入 Amazon Connect 管理員網站。

1. 選擇**機器人**，然後選擇機器人。

1. 選擇地區設定。

1. 在**語音模型**區段中，選擇**編輯**以開啟組態模式。  
![\[對話式 AI 機器人的組態頁面。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/Lex/01-airlinesbot.png)

## 步驟 2：選擇模型類型
<a name="stt-step2"></a>

在**模型類型**下拉式清單中，選擇**Speech-to-Text(STT)**。這可確保地區設定用於轉錄，而不是speech-to-speech。

![\[語音模型對話方塊。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/Lex/02-speech-model.png)


## 步驟 3：檢閱預設語音模型設定
<a name="stt-step3"></a>

根據預設，Amazon 會選取為speech-to-text提供者。在切換到第三方供應商之前，請檢閱目前的設定。

![\[選取 Amazon 做為語音提供者的語音模型對話方塊。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/Lex/03-speech-model-amazon.png)


## 步驟 4：選擇第三方 STT 提供者
<a name="stt-step4"></a>

開啟**語音提供者**下拉式清單，然後選擇支援的第三方speech-to-text提供者。

![\[選取 Deepgram 做為語音提供者的語音模型對話方塊。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/Lex/04-speech-model-deepgram.png)


## 步驟 5：輸入模型 ID 和 Secrets Manager ARN
<a name="stt-step5"></a>

1. 在**模型 ID** 中，輸入提供者的模型名稱。
   + 有些供應商需要長度下限或上限。
   + 模型 IDs 區分大小寫，且必須符合提供者文件。

1. 在 **Secrets Manager ARN** 中，輸入包含提供者 API 金鑰之秘密的 ARN。
   + 秘密必須與 Amazon Connect 執行個體位於相同的區域。
   + Secrets Manager 和 KMS 金鑰政策必須允許 Amazon Connect 存取和解密金鑰。如需詳細資訊，請參閱[管理秘密和資源政策](managing-secrets-resource-policies.md)。

1. 選擇**繼續**以儲存您的變更。

## 建置和啟用地區設定
<a name="stt-build-activate"></a>

如果地區設定顯示**未建置的變更**，請選擇**建置語言**。新的 STT 設定會在成功建置後變成作用中。

## 執行時間行為 (STT)
<a name="stt-runtime-behavior"></a>
+ Amazon Connect 會將音訊路由到所選的第三方speech-to-text提供者。
+ 不需要變更流程或 Lambda 函數。
+ 日誌中會出現無效登入資料或無效模型 IDs等錯誤。
+ 指標和分析會繼續正常運作。

## 故障診斷 (STT)
<a name="stt-troubleshooting"></a>
+ **無效的模型 ID**：使用提供者文件確認值。
+ **存取遭拒**：驗證 Secrets Manager 和 KMS 許可。
+ **地區設定建置失敗**：確保必要欄位有效。
+ **高延遲**：驗證供應商區域組態。

# 設定第三方text-to-speech(TTS) 供應商
<a name="configure-third-party-tts"></a>

使用下列指示來設定第三方text-to-speech(TTS) 提供者。

## 先決條件
<a name="tts-prerequisites"></a>
+ 存在聯絡流程 （或您具有建立聯絡流程的許可）。
+ 存放於 的第三方 TTS 提供者 API 金鑰 AWS Secrets Manager。如需在 Secrets Manager 中將 API 金鑰儲存為秘密的詳細資訊，請參閱[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)。
+ 可讓 Amazon Connect 擷取金鑰的 Secrets Manager 資源政策。如需詳細資訊，請參閱[管理秘密和資源政策](managing-secrets-resource-policies.md)。
+ AWS KMS key 允許解密的許可。如需詳細資訊，請參閱[管理秘密和資源政策](managing-secrets-resource-policies.md)。
+ 提供者特定的模型和語音值。

## 步驟 1：開啟聯絡流程
<a name="tts-step1"></a>

1. 登入 Amazon Connect 管理員網站。

1. 選擇**流程**。

1. 選擇現有的流程或建立新的流程。

## 步驟 2：新增或選擇設定語音區塊
<a name="tts-step2"></a>

1. 在流程設計工具中，搜尋**設定語音**。

1. 將 區塊拖曳到畫布上，或選擇現有的區塊。

1. 選擇 區塊以開啟其組態面板。

## 步驟 3：選擇第三方 TTS 提供者
<a name="tts-step3"></a>

在**語音提供者**下拉式清單中，選擇您要使用的第三方text-to-speech提供者。

![\[「設定語音」組態窗格顯示語音提供者的下拉式清單。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/Lex/08-set-voice-amazon.png)


## 步驟 4：指定模型、語音、Secrets Manager ARN 和語言
<a name="tts-step4"></a>

1. 在**模型**下，選擇**手動設定**，然後輸入提供者模型。

1. 在**語音**下，選擇**手動設定**，然後輸入供應商語音。

1. 在 **Secrets Manager ARN** 下，選擇**手動設定**，然後輸入提供者秘密的 ARN。
   + 秘密必須位於相同的 中 AWS 區域。
   + AWS Secrets Manager 和 KMS 政策必須允許擷取和解密。如需詳細資訊，請參閱[管理秘密和資源政策](managing-secrets-resource-policies.md)。

1. 在**語言**下，選擇**手動設定**，然後選擇提供者語音支援的語言。  
![\[「語音提供者」組態窗格，顯示 ElevenLabs 第三方語音提供者。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/Lex/09-voice-provider-elevenlabs.png)

## 步驟 5：儲存和發佈流程
<a name="tts-step5"></a>

1. 在流程設計工具中選擇**儲存**。

1. 選擇**發佈**以啟用更新的流程設定。

## 執行時間行為 (TTS)
<a name="tts-runtime-behavior"></a>
+ Amazon Connect 會將文字傳送至 TTS 供應商進行合成。
+ 傳回的音訊會播放給客戶。
+ 執行日誌包括提供者錯誤，例如無效的登入資料或模型值。

## 故障診斷 (TTS)
<a name="tts-troubleshooting"></a>
+ **無音訊輸出**：驗證模型和語音值。
+ **驗證錯誤**：驗證 Secrets Manager 和 KMS 許可。
+ **動態屬性**：確保執行時間值解析為有效的提供者參數。
+ **高延遲**：驗證供應商區域對齊。

# 第三方 STT 提供者的端點和區域
<a name="endpoints-regions-third-party-stt"></a>

根據預設，Amazon Connect 會與下列端點通訊：

**Deepgram**：https：//[https://api.deepgram.com](https://api.deepgram.com)

**ElevenLabs**：https：//[https://api.elevenlabs.io](https://api.elevenlabs.io)

您可以在 API 金鑰旁邊指定不同的提供者區域，做為 JSON 物件的一部分：

```
{
  "apiToken": "XXXXX",
  "apiTokenRegion": "xx"
}
```

支援下列區域：


| **供應商** | **apiTokenRegion** | **端點** | 
| --- | --- | --- | 
| 深度圖 | eu | [https://api.eu.deepgram.com](https://api.eu.deepgram.com) （僅支援speech-to-text) | 
| 深度圖 | \$1SHORT\$1UID\$1.\$1REGION\$1SUBDOMAIN\$1 | https：//\$1SHORT\$1UID\$1。\$1REGION\$1SUBDOMAIN\$1.api.deepgram.com (Deepgram 專用端點） | 
| ElevenLabs | us | [https://api.us.elevenlabs.io](https://api.us.elevenlabs.io) | 
| ElevenLabs | eu | [https://api.eu.residency.elevenlabs.io](https://api.eu.residency.elevenlabs.io) | 
| ElevenLabs | in | [https://api.in.residency.elevenlabs.io](https://api.in.residency.elevenlabs.io) | 

# 管理秘密和資源政策
<a name="managing-secrets-resource-policies"></a>

當您[設定第三方語音提供者](configure-third-party-speech-providers.md)時，您需要在 Secrets Manager 中建立包含語音提供者 API 金鑰的秘密。建立秘密需要兩個步驟：
+ 建立包含 API 金鑰的秘密。如需說明，請參閱[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)。
+ 設定必要的許可：
  + 將資源型政策連接至秘密。
  + 將資源型政策連接至與秘密相關聯的 KMS 金鑰 （而非 API 金鑰）。KMS 金鑰會保護秘密中的 API 金鑰。

  這些政策允許 Amazon Connect 存取秘密中的 API 金鑰。請注意，您無法使用預設 `aws/secretsmanager` KMS 金鑰；您必須建立新的金鑰或使用現有的客戶受管金鑰。如需 KMS 金鑰如何保護秘密的詳細資訊，請參閱 [Secrets Manager 中的秘密加密和解密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html)。

請確定秘密的資源型政策包含 `aws:SourceAccount`和`aws:SourceArn`混淆代理人條件 （請參閱[混淆代理人問題](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html))，且 KMS 金鑰的資源型政策包含 `kms:EncryptionContext:SecretARN`條件。這將確保 Amazon Connect 只能在單一特定執行個體的內容中存取您的 API 金鑰秘密，並且只能在該執行個體和特定秘密的內容中存取您的 KMS 金鑰。

## Secrets Manager 秘密的資源型政策範例
<a name="example-resource-policy-secrets-manager"></a>

以下是您可以連接到秘密的資源型政策範例。

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///"
        }
      }
    }
  ]
}
```

## 適用於 AWS KMS key的資源型政策範例
<a name="example-resource-policy-kms-keys"></a>

以下是您可以連接到 KMS 金鑰的資源型政策範例。

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///",
          "kms:EncryptionContext:SecretARN": "///the ARN of your secrets manager secret///"
        }
      }
    }
  ]
}
```

## 將資源型政策連接至 Secrets Manager 秘密
<a name="attaching-resource-policy-secrets-manager"></a>

若要將資源型政策連接至您的秘密，請前往 中的 Secrets Manager 主控台 AWS 管理主控台，導覽至您的秘密，選擇**編輯許可**或**資源許可**，然後直接在頁面上新增或修改資源政策，使其看起來與[範例](#example-resource-policy-secrets-manager)類似。您也可以透過 AWS CLI`put-resource-policy`命令連接資源政策，或使用 [PutResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html) API 操作以程式設計方式連接資源政策。

## 將資源型政策連接至您的 KMS 金鑰
<a name="attaching-resource-policy-kms-key"></a>

若要將資源型政策連接至您的 KMS 金鑰，請前往 內的 AWS Key Management Service 主控台 AWS 管理主控台，導覽至您的 KMS 金鑰並編輯您的金鑰政策，看起來像[範例](#example-resource-policy-kms-keys)。您也可以透過 AWS CLI`put-key-policy`命令更新金鑰，或使用 [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) API 操作以程式設計方式更新金鑰。

## 輪換 API 金鑰
<a name="rotating-api-keys"></a>

我們建議至少每 90 天輪換 API 金鑰，以將入侵風險降至最低，並針對緊急狀況維持良好的金鑰輪換程序。

若要輪換 API 金鑰，您必須輪換其中包含的秘密。如需如何[輪換秘密的詳細資訊，請參閱《Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) *使用者指南》中的輪換 Secrets Manager* 秘密。當您輪換 API 金鑰時，建議您先等待上一個金鑰的使用量降至零，再撤銷舊的 API 金鑰，以確保持續的請求不會受到影響。