Claude 3最強のOpusがついにAWSのBedrockに来た！！

# Claude 3 Opus、ずっと待ってました！

AWSの生成AIサービス、Amazon Bedrock。

多数の生成AIモデルがAPIとして利用できますが、テキスト生成で非常に高性能なのがAnthropic社のClaude 3シリーズです。

OpenAI社のGPT-4シリーズと日々、追いつけ追い越せを続けています。

https://qiita.com/minorun365/items/e6f3aa71f5e1bdf21139

Claude 3登場後、3モデルあるうち最上位の **Opus** モデルだけはなかなかBedrockにリリースされませんでしたが、ついに先ほどオレゴンリージョンに出現したようです！

まだAWS公式リリースはないですが、近日中にWhat's New等でアナウンスされるものと思われます。

:::note info
4/16 23:53追記　公式ブログでもアナウンスされました！
:::

https://aws.amazon.com/jp/blogs/aws/anthropics-claude-3-opus-model-on-amazon-bedrock/

※今回も宇宙最速の発見者はひるたさんでした。いつもありがとうございます🙌

https://x.com/web_se/status/1780224702138786278


# そもそもBedrockって何だっけ？

こちらの資料で紹介していますのでご覧ください！

https://speakerdeck.com/minorun365/jin-sarawen-kenai-awsnosheng-cheng-aisabisu-amazon-bedrockru-men

なお、凄腕Bedrockerの @hedgehog051 @moritalous と入門書を出版することとなりました。最新情報＆ハンズオン多数をわかりやすく整理した決定版です。

すでに予約可能で、ありがたいことにAmazonのカテゴリー内でベストセラー1位となりました！

![スライド1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/cad8f2eb-326c-707e-3d5a-14bae3ff0e8e.png)

https://www.sbcr.jp/product/4815626440/



# 早速触ってみた


### モデル有効化

AWSマネコンでAmazon Bedrockコンソールへ移動し、モデルアクセスを確認。オレゴンリージョンにOpusがいます！

![Opus.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/9fdcad86-24e6-0bef-26a8-d6693dd6d436.png)

リクエストすると、ほどなくして有効化されました！

![スクリーン ショット 2024-04-16 に 22.33.24 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/377fd57a-9a9f-fda9-9e55-a4861d349530.png)


### GUIで試してみる

プレイグラウンドから試してみます。

マルチモーダル（テキスト＆画像混在）の入力ができるので、題材として「RAG」について語った論文の1ページ目を画像としてアップロードし、「これは何？」と聞いてみます。

https://arxiv.org/abs/2005.11401

すると、画像を読み取って論文について的確に説明してくれました！ 英語なのが惜しいｗ

![スクリーン ショット 2024-04-16 に 22.43.34 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/7f955573-67fd-1dd2-070f-ece078943fed.png)

※みなさんの検証報告を伺っていると、プレイグラウンドだと日本語出力の調子がまだ良くないようです。このあと紹介するAPIでの利用は問題ありませんでした。

:::note info
4/17追記　けさ、プレイグラウンドからの日本語出力も動作改善したようです。
:::

なお、ナレッジベースやエージェントからは、まだOpusを選択できませんでした。

![スクリーン ショット 2024-04-16 に 22.44.44 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/807986c2-34af-8919-c9f5-a0a13a5e9fd4.png)

対応状況をまとめると以下のようになります。

|  | モデル利用 | ナレッジベース | エージェント |
|:-|:-:|:-:|:-:|
| Claude 3 Opus  |  ✅ | ⌛️  |  ⌛️ |
| Claude 3 Sonnet  | ✅  | ✅  |  ⌛️ |
| Claude 3 Haiku  | ✅  | ✅  |  ⌛️ |
| （参考） Claude 2.1  | ✅  | ✅  |  ✅ |

※ナレッジベースの場合、 `Retrieve` APIを単体で利用することにより、現時点でもOpusを用いたRAGの実装は可能です。


### APIから試してみる

Cloud 9環境を立ち上げてみましょう。

待機中にCloudShellから以下コマンドを実行して、OpusのモデルIDを確認しておきます。

```bash
aws bedrock list-foundation-models
```

OpusのモデルIDは `anthropic.claude-3-opus-20240229-v1:0` のようでした！

Cloud 9が立ち上がったら、ターミナルからAWS SDK for Pythonを最新化します。

```bash
pip install -U boto3
```

以下のコードを実行してみましょう。（ストリーミング出力できるようにしてあるので、少し長めです）

```py
# Python外部ライブラリのインポート
import json
import boto3

# Bedrockクライアントの作成
bedrock_runtime = boto3.client("bedrock-runtime", region_name="us-west-2")

# リクエストボディを定義
body = json.dumps({
   "anthropic_version": "bedrock-2023-05-31",
   "max_tokens": 1000,
   "messages": [
       {
           "role": "user",
           "content": [{"type": "text", "text": "生成AIでDXビジネスを実現するアイディアを出して"}]
       }
   ]
})

# モデルを定義（Claude 3 Opus）
modelId="anthropic.claude-3-opus-20240229-v1:0"

# レスポンスを定義
response = bedrock_runtime.invoke_model_with_response_stream(body=body, modelId=modelId)

# ストリーミング出力
for event in response.get("body"):
   chunk = json.loads(event["chunk"]["bytes"])
   if chunk['type'] == 'content_block_delta' and chunk['delta']['type'] == 'text_delta':
       print(chunk['delta']['text'], end="")

# ストリーミング終了後に改行
print()
```

なめらかにDX事業アイディアを出力してくれました🎉

```bash
$ python3 opus.py 
AIを活用したDXビジネスのアイデアをいくつか提案いたします。

1. AI搭載のバーチャルアシスタントによるカスタマーサポート
チャットボットやバーチャルアシスタントを導入し、24時間365日の対応が可能な自動化されたカスタマーサポートを提供する。AIが顧客の質問や要望を理解し、適切な回答や提案を行うことで、顧客満足度の向上とコスト削減を実現する。

2. AIを活用した需要予測と在庫最適化
販売データやトレンド情報をAIで分析し、将来の需要を予測する。この予測に基づいて在庫管理を最適化し、過剰在庫や欠品のリスクを最小限に抑える。これにより、在庫コスト の削減と顧客満足度の向上を図る。

3. AIによるパーソナライズドマーケティング
顧客データや行動履歴をAIで分析し、個々の顧客に最適化された商品推奨やプロモーションを提供する。パーソナライズされたアプローチにより、顧客エンゲージメントの向上と 売上拡大を目指す。

4. AI搭載のスマートファクトリー
製造工程にAIを導入し、生産ラインの最適化や予知保全を実現する。AIが機械の稼働状況や品質データを分析し、異常の早期検知や生産効率の向上を図る。これにより、ダウンタ イムの削減とコスト削減を実現する。

5. AIを活用した金融サービス
AIを用いて金融データを分析し、リスク評価やポートフォリオ最適化を行う。また、AIによる不正検知システムを導入し、金融犯罪の防止と安全性の向上を図る。これにより、顧 客の信頼を獲得し、競争力のある金融サービスを提供する。

これらのアイデアは一例ですが、AIの力を活用することで、様々な業界においてDXビジネスを実現できる可能性があります。重要なのは、自社の強みや顧客のニーズを理解し、そ れに合ったAI活用策を見出すことです。
```

なお、API経由で画像を読み込ませる方法は、以下の熊田さん記事をぜひご覧ください！

https://qiita.com/hedgehog051/items/26ab1a5b035dd7760faf