【AWS】Amazon SageMaker Canvasを生成AIで検証！


## はじめに

この記事では「この前リリースされた機能って実際に動かすとどんな感じなんだろう」とか「もしかしたら内容次第では使えるかも？？」などAWSサービスの中でも特定の機能にフォーカスして検証していく記事です。主な内容としては実践したときのメモを中心に書きます。（忘れやすいことなど）
誤りなどがあれば書き直していく予定です。

今回はAmazon SageMaker CanvasでClaude2を検証してみます。

## 実演動画

<iframe width="560" height="315" src="https://www.youtube.com/embed/fZP7k4FmrzM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" loading="lazy" allowfullscreen></iframe>

## SageMaker Canvasで生成AIが使えるようになったとさ - リベンジ

最近ですが、下記のようなアップデートが紹介されました。

[Amazon SageMaker Canvas で生成系AIを利用できるようになりました](https://aws.amazon.com/jp/blogs/news/new-no-code-generative-ai-capabilities-now-available-in-amazon-sagemaker-canvas/)

> SageMaker Canvas は、生成系 AI を使用してコンテンツを生成および要約するための基盤モデル ( FM ) を、簡単に使えるモデルとしてサポートするようになりました。自然言語を会話型チャットインターフェイスと併用すると、説明文、レポート、ブログ投稿の作成、質問への回答、メ自然言語を会話型チャットインターフェイスと併用すると
〜以下略

Amazon SageMaker Canvasについては記事を書いているので[前回の記事](https://qiita.com/ymd65536/items/7e23d8141e098c1458e3)を読んでください

## 前回はなぜダメだった？

結論を言うとSageMaker Canvasを起動したリージョンが原因でした。
SageMaker CanvasでAmazon Bedrockの生成AIを呼び出す場合

Bedrockが生成AIの基盤モデルに対応している必要があります。
つまり、Amazon Bedrcokのサポート具合によってSageMaker Canvasで利用できる生成AIの基盤モデルが変わるということです。

前回は東京リージョンでやっていたため、Claude2を選択できない状態になっていました。
現時点ではClaude2を使うためにはバージニアリージョンその他で利用する必要があります。

東京リージョンはClaude Instantの呼び出しが可能ですが、Claudeではないというところがポイントです。

## では実際に触ってみよう

では、「[Amazon SageMaker Canvas で生成系AIを利用できるようになりました](https://aws.amazon.com/jp/blogs/news/new-no-code-generative-ai-capabilities-now-available-in-amazon-sagemaker-canvas/)」の内容に沿ってやっていきましょう。

まずはバージニアリージョンで[AWSマネジメントコンソール](https://us-east-1.console.aws.amazon.com/console/home?region=us-east-1#)を開いてください。


[Sagemaker Canvas](https://ap-northeast-1.console.aws.amazon.com/sagemaker/home?region=ap-northeast-1#/canvas-landing)を開きます。

`Open Canvas`をクリックします。

![Screenshot 2023-11-12 at 21.52.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/a5892095-1076-1bb5-1949-31f93a89d2a4.png)

起動には12分くらいかかりましたのでしばらく待ちましょう。

![Screenshot 2023-11-12 at 21.53.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/7b3f9636-44ef-1ffd-694a-97a695ffc457.png)

起動すると下記のようなカッコイイ画面が表示されます。

![Screenshot 2023-11-12 at 21.59.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/e229e025-87a7-b4cd-a6f8-e0aedcff0ba2.png)

※はじめて起動する場合は以下の画面になりますので`Skip for now`をクリックします。

![Screenshot 2023-11-13 at 22.43.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/bc66984b-8ceb-1f08-ba03-7edc92da4ac3.png)

Sagemaker CanvasでClaude2を使ってみます。
検索窓で`Generate, extract and summarize content`と入力して`Generate, extract and summarize content`をクリックします。

![Screenshot 2023-11-12 at 22.07.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/201075e6-1e56-2f89-212f-6d6530017c24.png)

## 今回やること（顧客からの苦情の処理）

今回は`顧客からの苦情の処理`についてAIを使って対応するというシナリオとのことです。

プロンプトの入力画面が表示されましたら下記の文章を入力して`Enter`を実行しましょう。

```text
次の顧客からの苦情からの感情を200文字以内で要約してください。
カスタマーサポートの皆さん、こんにちは。あなたのウェブサイトでオンライン購入した自転車のZoom65にはがっかりしました。パッケージが一部欠けていて、フェンダーが破損していました。私はあなたの自転車ショップのロイヤルカスタマーとして数年になりますが、このような経験をしたのはこれが初めてです。私の最近の経験と友人の経験から、あなたの品質へのこだわりが薄れてしまったのではないかと思います。パッケージを返品するので、全額返金していただけるでしょうか。
よろしくお願いします。
ジョン・ドウ
```

回答

```text
ご購入いただいたZoom65自転車がパッケージの欠損と破損により期待外れだったことに失望しています。長年のロイヤルカスタマーとして初めての品質の問題にショックを受けている様子です。全額返金を求めているので、すみやかに対応をお願いしたいと訴えています。
```

ちょっとした質問を加えてみましょう。

```text
お客様に送った自転車にどんなトラブルがありましたか？
```

回答

```text
 お客様のメッセージによると、以下のトラブルがありました。

- ご購入いただいたZoom65自転車のパッケージが一部欠けていた
- Zoom65自転車のフェンダーが破損していた

つまり、パッケージが不完全な状態で届けられ、さらに製品自体にも破損があったようです。
```

どうやらしっかりと要点をおさえているようです。
理解できていそう？なので下記の文でフィードバックリンクを含むメッセージを作りましょう。

```text
顧客からの苦情に対する回答を生成し、顧客がさらにフィードバックが提供できるように、フィードバックリンク https://www.example.com/feedback を含めてください。
```

回答

```text
ジョン様

お問い合わせの件、誠に申し訳ございません。 Zoom65自転車のパッケージの一部が欠け、フェンダーが破損していたことにびっくりしました。長年のご愛顧に感謝するとともに、このような品質の問題が発生したことを深くお詫び申し上げます。

ご指摘の通り、当社の品質管理が不十分であったことが原因で、このような問題が発生してしまったと反省しております。今後このようなことが二度と起こらないよう、より一層の品質管理の徹底を図ってまいります。

ご返品いただいたZoom65自転車につきましては、全額返金させていただきます。ご迷惑をおかけしたことをお詫びするとともに、今後とも変わらぬご愛顧を賜りますよう、よろしくお願い申し上げます。

また、当社の対応についてご意見やご要望がございましたら、下記フィードバックフォームからご連絡ください。 [https://www.example.com/feedback](https://www.example.com/feedback)

ありがとうございました。

```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/c2353d59-402f-9578-ec5b-24037d0cce63.png)

ちょっと白々しく見えますが、ちゃんと謝罪して返品する旨が表示されました。

フィードバックのリンクがマークダウンになっていますが、これはプロンプトの改良が必要なのかもしれません。

ユーザーさんがかわいそうなのでギフトカードを送って終わりましょう。

```text
レスポンスに50ドルのギフトカードのオファーを追加します。
```

回答

```text
ジョン様

お問い合わせの件、誠に申し訳ございません。 Zoom65自転車のパッケージの一部が欠け、フェンダーが破損していたことにびっくりしました。長年のご愛顧に感謝するとともに、このような品質の問題が発生したことを深くお詫び申し上げます。

ご指摘の通り、当社の品質管理が不十分であったことが原因で、このような問題が発生してしまったと反省しております。今後このようなことが二度と起こらないよう、より一層の品質管理の徹底を図ってまいります。

ご返品いただいたZoom65自転車につきましては、全額返金させていただきます。ご迷惑をおかけしたことをお詫びするとともに、当店の50ドルギフトカードを進呈させていただきます。今後とも変わらぬご愛顧を賜りますよう、よろしくお願い申し上げます。

また、当社の対応についてご意見やご要望がございましたら、下記フィードバックフォームからご連絡ください。 [https://www.example.com/feedback](https://www.example.com/feedback)

ありがとうございました。
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/55a235c9-25f3-2f2f-37ac-597f749d2c37.png)

> 当店の50ドルギフトカードを進呈させていただきます。

少しだけ文章が変わりました。

## 片付け

[リンク先](https://aws.amazon.com/jp/blogs/news/new-no-code-generative-ai-capabilities-now-available-in-amazon-sagemaker-canvas/)の内容に沿って片付けます。

## まとめ

今回はAmazon SageMaker Canvasで生成AIを触りました。
`IAM Identity Center`と`AWS organization`、Sagemaker Studioをすでに利用していたこともあってすぐに起動して利用できました。

ただし、現状ではバージニアリージョンでのみ動く状態ですので東京リージョンではできません、

なお、2023/11/02時点では`Falcon-7B-Instruct、Jurassic-2が日本語未対応`のためAIの比較検討はまだ厳しいところがありそうです。

## おわり