【AWS】私、緊張しいだから明日のプレゼンはAIに任せました

### はじめに
私、緊張しいです。
タイトルのようなシチュエーションを想像してみました。
AWSサービスを使って実現してみましょう。

### 利用するAWSサービス

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/cc1386cc-8047-5d60-0475-5dbc3a9869c1.png)


* **Amazon Bedrock**
>Amazon Bedrock は、単一の API を介して AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、および Amazon といった大手 AI 企業からの高性能な基盤モデル (FM) を選択できるフルマネージドサービスで、セキュリティ、プライバシー、責任ある AI を備えた生成 AI アプリケーションを構築するために必要な幅広い機能を提供します。

今回は、プレゼン資料を説明したテキストを生成してもらうために使います。

* **Amazon Polly**
> Amazon Polly は、オンデマンドで音声を生成し、あらゆるテキストを音声ストリームに変換する、フルマネージドサービスです。

今回は、Bedrockが生成したテキストを音声で読み上げてもらうために使います。

### やること
1. プレゼン資料を用意する。
1. Amazon Bedrockにプレゼン資料をアップロードし、プレゼンテーション形式で説明してもらう。
1. 生成されたテキストをAmazon Pollyに読み上げてもらう。

では、やっていきましょう！

### プレゼン資料を用意する

サンプルのプレゼン資料として以下を使わさせていただきました。:bow:
**「Cloud Center of Excellence設⽴に向けて」**
https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Building-a-CCoE_1030_v1.pdf

### Amazon Bedrockにプレゼン資料をアップロードし、プレゼンテーション形式で説明してもらう
AWSコンソールより、Amazon Bedrockを開きます。
利用するモデルのリクエストをしていない場合はリクエスト申請しましょう。
左メニューの「**モデルアクセス**」から行います。
下図では「**Claude 3.5 Sonnet**」「**Claude 3 Haiku**」をリクエスト申請しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/99f98d48-3fa7-5c35-81b9-d5f064aa341b.png)

モデルへのアクセスが付与されたら、そのモデルを使ってみます。
左メニューの「**Chat/Text**」からモデルを選択します。
下図では「**Claude 3.5 Sonnet**」を選択し、「**適用**」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/76cad7c8-4611-293f-202d-0b899f83056c.png)

Chat / Text playgroundの画面でプレゼン資料をアップロードします。
画面下の添付アイコンをクリックすると吹き出しが出るので、その吹き出しをクリックします。
プレゼン資料を添付します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/bea32892-ef5f-bcf0-5242-c02143fdbe34.png)

システムプロンプト、ユーザプロンプトに以下のように入力します。
（以下は例ですので、ご自由にどうぞ！）
**システムプロンプト**：`あなたは優秀な先生です。教えるのが得意です。`
**ユーザプロンプト**：`スライド1枚1枚に書かれている内容をプレゼンテーションのように説明してください。`
「**実行**」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/d47142d1-48f0-ad74-5a01-4a38b021442f.png)

説明のテキストを生成してくれました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/421af8c0-faea-f9b3-4e29-25b7ccca04be.png)

これをコピーしてPollyに貼り付けます。

### 生成されたテキストをAmazon Pollyに読み上げてもらう

AWSコンソールより、Amazon Pollyを開きます。
左メニューの「**テキスト読み上げ機能**」をクリックし、先ほどコピーしたテキストを入力テキストに貼り付けます。

読み上げの際に、エンジンと音声を選択します。
**エンジン**：`ニューラル`
**音声**：`Takumi, 男性`
「**音声を聴く**」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/e7ba1efd-7ba7-9c55-af0c-d6430e95cf7a.png)

読み上げてくれました！
「**ダウンロード**」をクリックすると読み上げてくれた音声をmp3形式でダウンロードできます。
ありがとう！:clap:

---

### ちょっと工夫してみよう

#### もしも小学生にプレゼンテーションするとなったら:interrobang:

Amazon Bedrockのユーザプロンプトで以下のように入力します。
（以下は例ですので、ご自由にどうぞ！）
**ユーザプロンプト**：`スライド1枚1枚をプレゼンテーション形式で説明してください。小学生にもわかるように難しい単語は補足説明を入れてください。`
「**実行**」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/697958b9-5c86-5311-a50e-3fb2405710ce.png)

ちゃんと補足説明を入れてくれてますね！　とても分かりやすくなりました:thumbsup:

#### もしもスティーブ・ジョブズのようにプレゼンしたくなったら:interrobang:

Amazon Bedrockのユーザプロンプトで以下のように入力します。
（以下は例ですので、ご自由にどうぞ！）
**ユーザプロンプト**：`スライド1枚1枚をプレゼンテーション形式で説明してください。スティーブ・ジョブズのように聞き手が興味をそそられるように説明してください。`
「**実行**」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/7142de66-5bb7-5e46-595f-c28b2d62803a.png)

やばい、説明だけじゃなくてプレゼンテーション中の動きまで教えてくれてる（笑）
大変勉強になります！:bow:

#### もしも英語通訳が必要だったら:interrobang:

Amazon Bedrockで生成されたテキストを英語翻訳して、英語翻訳したテキストをAmazon Pollyに貼り付けます。
読み上げの際に、言語と音声を選択します。
**言語**：`英語`
**音声**：`Gregory, 男性`
「**音声を聴く**」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/df0c047d-8dcd-202d-9d59-6e90fd023aab.png)

英語で説明してくれました！

### さいごに
* 音声をそのままプレゼン資料と同時に流せば完璧です。
あとは音声に合わせてプレゼン資料をめくれば大丈夫ですね。
* これでプレゼン対策はバッチリですね！

今日はよく寝れそうだ（笑）