Amazon Bedrock PlayGroundによるチャット生成ならびに画像生成の始め方

Amazon Bedrockを利用した、Webコンソール上でのチャット生成や画像生成をゴールとします。

**チャット生成**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/ec0df680-af56-b7e9-41f3-7489f2587c30.png)


**画像生成**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/40303dfc-d656-f1e9-c518-561772bc2b6a.png)


# 目次
**1.AWS Bedrock料金仕様の確認**
料金仕様を確認し、掛かる費用を想定します。

**2.AWS Bedrock モデルアクセスの有効化**
生成AI利用の事前準備である、AIモデルのアクセス有効化を行います。

**3.AWS Bedrock PlayGroundによるチャット生成**
チャット生成をWebコンソールより実施します。

**4.AWS Bedrock PlayGroundによる画像生成**
画像生成をWebコンソールより実施します。



# 1.Amazon Bedrock料金仕様の確認
今回AWS Bedrock PlayGround(オンデマンド)を使用する場合、以下の要素で課金が行われます。

課金要素 | 概要
--- | ---
入力トークン(1000個単位) | 入力文章に含まれる意味単位(トークン)の数
出力トークン(1000個単位) | 出力文章に含まれる意味単位(トークン)の数
生成画像(1画像単位) | 生成された画像の数

チャット生成で利用する場合、Anthropicモデル@東京において入力トークン(1000個)あたり0.00025～0.003USD、出力トークン(1000個)あたり0.00125～0.024USD、画像生成を利用する場合はStability AI@オレゴンの場合に0.04～0.14USDとなります。

おおよその費用感として、デフォルトのままで使用する場合、チャット生成を短文入力する場合は0.05USD/1質問、画像生成は0.08USD/1枚程度と考えておいて問題ないかと思います。

https://aws.amazon.com/jp/bedrock/pricing/

# 2.Amazon Bedrock モデルアクセスの有効化
まずはAmazon Bedrockで使用する、生成AIモデルを利用有効化する必要があります。
AWSコンソールからAmazon Bedrockを表示し、`Bedrock configrations` - `モデルアクセス`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/69ff8208-4ee1-fff1-c7d5-93d4705da3f4.png)

<br>

モデルアクセス許可の有効化を処置します。今回は`すべてのモデルを有効にする`を選択します。

:::note info
東京リージョンでの表示内容になります。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/bce088f9-dc02-1204-8aa1-fcac537a7ef9.png)

<br>

有効化するモデルを選択し、`次へ`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/bc3a1540-9217-39a3-632f-5398da674e85.png)

<br>

Anthropic社のモデルを有効化する場合は以下の情報入力が求められるため、適当に入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/078b5685-a1ed-cc98-8e12-81e46bb11550.png)

<br>

内容を確認し、`送信`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/e3085355-58a1-6502-05bf-5b3cb379bf89.png)

<br>

モデル有効化のアクセスが開始され、おおよそ5分程度で全てのモデルが使用可能になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/ae84c86f-8fcc-6430-2ca3-403d4a4cbd08.png)

各リージョンにおいて利用できるモデルに違いがあるため、詳細は以下を確認ください。

https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html

:::note warn
記事投稿現在、画像生成のStability AIはオレゴンリージョンのみ使用可能となります。
:::

# 3.Amazon Bedrock PlayGroundによるチャット生成
プレイグラウンドを開き、チャット/プロンプト生成を開始します。

`プレイグラウンド` - `Chat/text`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/a9ea4601-c71b-8c8c-1a28-a242cd0c91aa.png)

<br>

`モデルを選択`から生成モデルを選択します。
今回は`Anthripic` - `Claude 3 Haiku`を選択しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/006a0ada-d3f3-0f31-ade5-ce0592dc5d55.png)

<br>

各設定がありますが、デフォルトでも問題ないため下部テキストボックスにチャット内容を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/8fd05f58-eaef-6d4c-8fd0-d1fdb1cbf022.png)

:::note info
各設定内容の概要は以下になります。

設定 | 概要
--- | ---
温度 | 出力内容について、多様性やランダム性を制御するパラメータ。高いとランダム、低いと確実な出力になるよう調整される
トップP | トークンに対するサンプリング範囲指定。0.1の場合は上位10%を、0.9の場合は上位90%をサンプリングする。トークンサンプリング範囲が狭いほど確実性/堅実性の高い回答出力に寄与する
トップK | トークンに対するサンプリング範囲指定。10の場合は上位10個を、90の場合は上位90個をサンプリングする。トークンサンプリング範囲が狭いほど確実性/堅実性の高い回答出力に寄与する
長さ | 生成/出力するトークンの最大数。課金に関連
停止シーケンス | 停止シーケンス。入力した文字が出力文章内に出現すると生成が中断/終了する
ガードレール | 生成/出力される内容に対して事前に定義したポリシーを設定する。ワードフィルタ、コンテンツフィルタ、機密情報フィルタ、拒否トピック等
:::


<br>

入力したチャット内容に対する出力内容が生成されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/1a31e6e6-43d9-c87b-9d6b-4bd8a7f94425.png)

<br>

チャットについては`比較モード`を使用することで、複数のモデルを利用して1つの入力内容から複数の出力内容を生成することもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/6675f0ef-52fd-09f6-1d21-6da5fde781f3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/0cfef3d6-cb2f-c6f0-9d37-2e8df9a45c5c.png)


# 4.Amazon Bedrock PlayGroundによる画像生成
チャット生成と同様に、画像生成もプレイグラウンドより実施します。

:::note warn
記事投稿現在、画像生成のStability AIはオレゴンリージョンのみ使用可能となります。
必要に応じてリージョンを切り替え、モデル有効化をしてください。
:::

`プレイグラウンド` - `イメージ`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/3459e0c3-91c3-0dc1-6e5e-508f22e0e35e.png)

<br>

`Stability AI` - `SDXL1.0` を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/a0f600b8-1618-0e3d-7a4b-e1f1bc5ec896.png)

<br>

下部の入力欄から生成したい画像の説明を入力します。

:::note warn
記事投稿現在、Stability AIの対応言語は英語のみになります。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/f178cde9-a6ff-0636-97ab-243f6a7fce94.png)

<br>

入力したチャット内容に対する画像が生成されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/ebba0803-3766-5312-a9bc-45787c445cf0.png)

# 参考
https://aws.amazon.com/jp/bedrock/

https://www.ctc-g.co.jp/solutions/cloud/column/article/108.html

https://findy-tools.io/articles/amazon-bedrock/26