東京リージョンのBedrockにClaude 3.5 Sonnet / 3 Haikuが来た！宇宙最速で検知して確認してみた

# はじめに

日本時間2024年7月37日[^1]5時14分頃、Amazon Bedrockの東京リージョンに、Anthropic社の主力モデルClaude 3シリーズが**一瞬だけ**登場しました！

5時30分現在では表示されたり消えたりを繰り返していますが、今日中には使えることになるのが期待できそうです。

*【5時38分追記】どうやら安定して表示されるようになりました！やったね。*

*【6時58分追記】検知が早すぎてドン引きされたのか、また隠れてしまいました。*

*【7時59分追記】未だコンソールでは表示されたり隠れたりを繰り返していますが、オレゴンとフランクフルトでも3.5 Sonnetを確認できました！*

*【8時41分追記】いずれのリージョンも安定して利用可能になったようです！What's Newなど公式リリースが出ていないので安心はできませんが…*

*【8月8日追記】What's Newで正式にアナウンスされました！シンガポールでも追加されていたようですね。*

https://aws.amazon.com/about-aws/whats-new/2024/08/claude-3-5-sonnet-haiku-more-regions/

全日本国民が待ち望んでいた！？このアップデートを最速で察知し、確認してみました。

# 東京リージョンにおけるBedrockの歴史

## Bedrock GAからほどなく東京リージョンにも対応！

Amazon Bedrockは2023年4月に限定プレビューとしてアナウンスされ、2023年9月28日にようやくGAされました！

GAから1週間も経たずに発表されたプロダクト「ビジつく！」が話題になっていましたね。

https://developers.kddi.com/blog/44TMD1pcdiTqR2CMzrdpZo

この発表とほぼ同じタイミングの2024年10月3日、早速東京リージョンでもBedrockが利用できるようになったのでした。

## Claude 3がBedrockに登場！しかし東京は2.1のまま

当時はAnthropic社の主力モデルはClaude Instantで、それからClaude 2.0が登場し、2.1を経て、2024年3月4日夜（日本時間）に次世代モデルであるClaude 3が発表、即日Bedrockで利用可能になりました！

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

東京リージョンはClaude 2.1まで対応していましたが、残念ながら3には対応しないままでした。

その後、新しくBedrockが利用可能になったロンドン、シドニー、ムンバイなどのリージョンは初めからClaude 3 Sonnet/Haikuが使えるようになっていましたが、東京では全く音沙汰がないまま月日は流れていきます。

## AWS Summit Japan 2024でついにアナウンスが！

そしてようやく、2024年6月20日/21日に幕張メッセで行われたAWS Summit Japan 2024の1日目基調講演にて、サプライズ的に「7月中に東京でClaude 3が利用できるようになる」というアナウンスがありました！

https://x.com/shimagaji/status/1803607828504219833

それから1ヶ月経過し、7月ももう終わりに差し掛かったこのタイミングで、ようやくClaude 3が東京リージョンのモデルに追加されたのでした。
待ってた。

~~まだ7月だよね？~~

# コンソールで確認

早速、東京リージョンのコンソールにて、モデルアクセスのページを見てみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/556048f1-1575-d09e-8382-8b4869389113.png)

今回追加されたのはClaude 3.5 Sonnetと3 Haikuのようですね！
どうせなら3 Opusも欲しかったけど、3.5 Sonnetなのはめちゃくちゃありがたいですね。

ただ、まだロード中のようで、しばらくしたら隠れてしまいました。
準備中かな？程なくして利用できることには間違いなさそうですね！

*【5時38分追記】何度かトライした結果、両方のアクセスが有効になりました！*

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/72adb91b-5ac2-814b-b74b-a320e43a9911.png)

# Claude 3のリトマス試験

これは今後使えないかもしれない知識ですが、Claude 2.1かClaude 3のどちらか判別する有効なプロンプトがあります。

**「シマリスはサルの仲間？」**

**これで「はい」と答えたらClaude 2.1で、「いいえ」と答えたらClaude 3です！**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/35201b0e-f22b-22b3-8604-22661d62b6fe.png)
こちらはシマリスをサルの仲間だと思っているClaude 2.1です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/f555c0c1-e569-3a1a-af7f-3ea1ddc27b56.png)
そしてこちらはシマリスをサルの仲間でないと正しく認識しているClaude 3 Haikuです。
（SonnetとOpusもちゃんと正解を答えてくれます）

みなさんも東京リージョンに追加されたClaude 3が本物なのか確認する際には是非試してみてください！

# APIで使う場合はちょっと注意が必要

すでにClaude 2.1を活用したワークロードを東京リージョンで展開している場合、InvokeModel APIの形式をそのままClaude 3で使うことはできません。
Claude 3よりMessages APIという方式に変わっているからです。

Bedrockのコンソールからも確認できますが、Claude 2.1の標準APIリクエストの例は以下の通りです。

```
{
  "modelId": "anthropic.claude-v2:1",
  "contentType": "application/json",
  "accept": "*/*",
  "body": "{\"prompt\":\"\\n\\nHuman: Hello world\\n\\nAssistant:\",\"max_tokens_to_sample\":300,\"temperature\":0.5,\"top_k\":250,\"top_p\":1,\"stop_sequences\":[\"\\n\\nHuman:\"],\"anthropic_version\":\"bedrock-2023-05-31\"}"
}
```

これに対し、Claude 3の標準APIリクエストの例は以下の通りで、異なることが分かります。
形式だけでなく、画像を入力するためのパラメータも増えていることが分かりますね。

```
{
  "modelId": "anthropic.claude-3-sonnet-20240229-v1:0",
  "contentType": "application/json",
  "accept": "application/json",
  "body": {
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 1000,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "base64",
              "media_type": "image/jpeg",
              "data": "iVBORw..."
            }
          },
          {
            "type": "text",
            "text": "What's in this image?"
          }
        ]
      }
    ]
  }
}
```

なお、今からClaude 3を利用する場合は、InvokeModelの代わりにConverse APIを利用することを推奨します。
こちらはモデル間の差異を吸収し、異なるプロバイダーやモデルを利用する場合でも共通の形式で呼び出すことができるようになるからです。

https://qiita.com/moritalous/items/cde191320abcfffacaca

※Step Functionsでは残念ながら、現時点（2024年7月）でConverse APIに対応していません。

# どうして速攻で気付けたの？

実は4月ごろから東京リージョンのStep Functionsで以下のようなステートマシンを作成し、EventBridge Schedulerで20分（7月からは5分）おきに叩くよう仕込んでいました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/adf62f90-414f-7b5a-a143-000bfb74b9e0.png)
簡単に説明すると、ListFoundationModelsで現在有効なモデルを取得したものと、予めListFoundationModelsで取得してPatameter Storeに保存しておいたものを比較し、差分があればSNS経由でSlackとEメールに通知しつつParameter Storeの値を置き換える、という処理をしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/6b106474-5e71-c129-7ff7-88ea24ab50f3.png)

モデルが追加されると、このように更新されたモデルの一覧がSlackとEメールで届くわけですね！
メール受信時に普段と異なる着信音を設定していたので、5:14に飛び起きることができました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/9fd08c8c-3550-5548-3a2a-1fef0380c799.png)

・・・と思ったら、その2分後には隠れてしまいました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/7290a6aa-e370-8e33-661a-027beb152454.png)

と思ったらまた復活しました。しばらくしたら安定するかな？？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815817/b9e3637c-01d4-36fc-52e7-0077cca0fdc1.png)
料金の目安として、20分間隔で叩いていた6月はおよそ15,000の状態遷移だったため、無料枠を含めておよそ0.3ドルでした。
10分間隔だと1ドル未満、5分間隔でも1.5ドル程度で済むかと思います。

Step Functionsはいいぞ。

# 東京で使えると何が嬉しいの？

大きく以下2つのメリットがあります。

## コンプライアンス要件への対応

エンタープライズなど一部の組織では、国内のリージョンにあるモデルしか利用を許されていないことがあります。
今までは海外リージョンへリクエストするか、Claude 2.1を利用するしかありませんでしたが、やっと合法的？にClaude 3が利用できるようになったわけですね！

## レイテンシーの改善

呼び出し先が海外から国内になるので、ネットワークレイテンシーに若干の改善が期待できます！

ただ、モデル呼び出し時にはLLMによる推論の方が応答の長さに影響し、またそれでもClaude 3は海外リージョンから呼び出した際も気にならないほどの速度であるため、ミリ秒を求めるようなワークロードでない限り実感は薄いでしょう。
~~Claudeだけに~~

# おわりに

Bedrockを使いこなすのであれば、以下の書籍がオススメです！

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

Bedrockのあらゆる機能を、充実のハンズオンで体系的に学ぶことができます。
500ページ超えの大ボリュームで、辞書とか鈍器とか呼ばれていたりいなかったりします。

実は発売前にちょっとだけお手伝いさせていただき、何周も読んでいますので、自信を持って薦められる一冊です！

Bedrock以外のサービスを含むほぼ全てのAWSアップデートをキャッチアップしたい場合は、自分が毎週記事をアップしている個人ブログ「しまがじ！」をチェックしてみてください！

https://alta-whitechip.name

# おまけ

6時58分現在、関連記事がこの記事合わせてすでに3本出ていますね！
**宇宙最速はいただきました**が、どの記事も書き手によって視点が変わっていて面白いので、読み比べてみてはいかがでしょうか。

https://qiita.com/hedgehog051/items/3833e6ddfb842e48892e

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

[^1]: 8月6日と（たぶん）同義だと思います