

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

# 啟用生成式通話摘要
<a name="tca-enable-summarization"></a>

**注意**  
 **採用 Amazon Bedrock 技術：** AWS 實作[自動濫用偵測](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。因為採用生成式 AI 技術的聯絡後摘要是建立在 Amazon Bedrock 的基礎上，所以使用者可以充分利用 Amazon Bedrock 中實作的控制措施，強制執行人工智慧 (AI) 的安全、保障和負責任使用目標。

若要使用生成式通話摘要搭配通話後分析作業，請參閱下列範例：

## AWS 管理主控台
<a name="analytics-summarization-console"></a>

在「摘要」面板中啟用「生成式通話摘要」，以在輸出中接收摘要。

![Amazon Transcribe 主控台螢幕擷取畫面：「通話分析任務」頁面。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/analytics-summarization.png)


## AWS CLI
<a name="analytics-summarization-cli"></a>

此範例使用 [start-call-analytics-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-call-analytics-job.html) 命令和 `Settings` 參數搭配 `Summarization` 子參數。如需詳細資訊，請參閱[https://docs.aws.amazon.com//transcribe/latest/APIReference/API_StartCallAnalyticsJob.html](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_StartCallAnalyticsJob.html)。

```
aws transcribe start-call-analytics-job \
--region {{us-west-2}} \
--call-analytics-job-name {{my-first-call-analytics-job}} \
--media MediaFileUri={{s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac}} \
--output-location {{s3://amzn-s3-demo-bucket/my-output-files/}} \
--data-access-role-arn {{arn:aws:iam::111122223333:role/ExampleRole}} \
--channel-definitions ChannelId=0,ParticipantRole=AGENT ChannelId=1,ParticipantRole=CUSTOMER
--settings '{"Summarization":{"GenerateAbstractiveSummary":true}}'
```

以下是使用 [start-call-analytics-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-call-analytics-job.html) 命令的另一個範例，以及啟用該作業摘要的請求本文。

```
aws transcribe start-call-analytics-job \
--region {{us-west-2}} \
--cli-input-json {{file://filepath/my-call-analytics-job.json}}
```

檔案 *my-call-analytics-job.json* 包含以下請求主文。

```
{
  "CallAnalyticsJobName": {{"my-first-call-analytics-job"}},
  "DataAccessRoleArn": {{"arn:aws:iam::111122223333:role/ExampleRole"}},
  "Media": {
    "MediaFileUri": {{"s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"}}
  },
  "OutputLocation": {{"s3://amzn-s3-demo-bucket/my-output-files/"}},
  "ChannelDefinitions": [
    {
      "ChannelId": 0,
      "ParticipantRole": "AGENT"
    },
    {
      "ChannelId": 1,
      "ParticipantRole": "CUSTOMER"
    }
  ],
  "Settings": {
    "Summarization":{
      "GenerateAbstractiveSummary": true
    }
  }
}
```

## 適用於 Python (Boto3) 的 AWS SDK
<a name="analytics-summarization-python"></a>

此範例使用 適用於 Python (Boto3) 的 AWS SDK 啟動通話分析，並使用 [start\_call\_analytics\_job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.start_call_analytics_job) 方法啟用摘要。如需詳細資訊，請參閱[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartCallAnalyticsJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartCallAnalyticsJob.html)。

如需使用 AWS SDKs 的其他範例，包括功能特定、案例和跨服務範例，請參閱 [Amazon Transcribe AWS SDKs的程式碼範例](service_code_examples.md)章節。

```
from __future__ import print_function
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', {{'us-west-2'}})
job_name = {{"my-first-call-analytics-job"}}
job_uri = {{"s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"}}
output_location = {{"s3://amzn-s3-demo-bucket/my-output-files/"}}
data_access_role = {{"arn:aws:iam::111122223333:role/ExampleRole"}}
transcribe.start_call_analytics_job(
  CallAnalyticsJobName = job_name,
  Media = {
    'MediaFileUri': job_uri
  },
  DataAccessRoleArn = data_access_role,
  OutputLocation = output_location,
  ChannelDefinitions = [
    {
      'ChannelId': 0, 
      'ParticipantRole': 'AGENT'
    },
    {
      'ChannelId': 1, 
      'ParticipantRole': 'CUSTOMER'
    }
  ],
  Settings = {
    "Summarization":
      {
        "GenerateAbstractiveSummary": true
      }
  }
)
    
while True:
  status = transcribe.get_call_analytics_job(CallAnalyticsJobName = job_name)
  if status['CallAnalyticsJob']['CallAnalyticsJobStatus'] in ['COMPLETED', 'FAILED']:
    break
  print("Not ready yet...")
  time.sleep(5)
print(status)
```