2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AIに関する記事を書こう!
Qiita Engineer Festa20242024年7月17日まで開催中!

【AWS】AWS CLIでAmazon Bedrockに登録されている基盤モデルの情報を取得する

Last updated at Posted at 2024-06-18

はじめに

この記事ではAmazon bedrockをAWS CLIで検証します。
主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど)誤りなどがあれば書き直していく予定です。

AWS CLIでAmazon bedrockの基盤モデルを取得するには

AWS CLIを使ってAmazon bedrockの基盤モデルを取得するにはどうすれば良いのでしょうか。
結論を言うと下記のとおり、ドキュメントがありますので書いてある内容を辿っていくとだいたいのことはわかります。

bedrock — AWS CLI 1.33.10 Command Reference

ですが、どう調査すれば良いのかわかりませんよね?当然のことながら私もわかりません。一緒に見ていきましょう。

おさらい:AWS CLIの基本

AWS CLIは実行する端末もしくはシェルによって認証方法が異なります。
EC2などIAMのプロファイルを参照できる環境であれば、プロファイルで認証するため、認証済みのプロファイルで暗黙的に認証されます。
プロファイルを持たない場合は--profileというオプションをつけて、認証に使うプロファイルを指定する必要があります。

具体的には以下のとおりです。プロファイルを指定しないで実行する。

aws ecr describe-repositories --output json

プロファイルを指定して実行する。

aws ecr describe-repositories --profile cicd_handson --output json

もう1つ、おさえておくべき内容として
awsに続く、サブコマンドはサービス名でその次に来るのは操作の名前になっていることが大半です。

たとえば、S3バケット名のリストを表示するコマンドは以下のようにaws サービス名 操作となっています。

aws s3 ls

上記を踏まえてAmazon bedrockに登録されている基盤モデルの情報を取得してみましょう。

ハンズオン

今回はAdministrator Accessの権限でAWS CloudShellを起動します。

AWS CloudShellを起動する

今回はTokyoリージョンでAWS CloudShellを起動します。コンソールマークをクリックします。

bedrock1.png

基盤モデル名の情報を取得する

Amazon TitanとClaudeのモデル情報を取得します。
まずはAmazon Titanを取得するために以下のコマンドを実行します。

aws bedrock get-foundation-model --model-identifier amazon.titan-embed-text-v1

実行結果

{
    "modelDetails": {
        "modelArn": "arn:aws:bedrock:ap-northeast-1::foundation-model/amazon.titan-embed-text-v1",
        "modelId": "amazon.titan-embed-text-v1",
        "modelName": "Titan Embeddings G1 - Text",
        "providerName": "Amazon",
        "inputModalities": [
            "TEXT"
        ],
        "outputModalities": [
            "EMBEDDING"
        ],
        "responseStreamingSupported": false,
        "customizationsSupported": [],
        "inferenceTypesSupported": [
            "ON_DEMAND"
        ],
        "modelLifecycle": {
            "status": "ACTIVE"
        }
    }
}

次にClaudeを取得するために以下のコマンドを実行します。※2.1を取得

aws bedrock get-foundation-model --model-identifier anthropic.claude-v2:1

実行結果

{
    "modelDetails": {
        "modelArn": "arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-v2:1",
        "modelId": "anthropic.claude-v2:1",
        "modelName": "Claude",
        "providerName": "Anthropic",
        "inputModalities": [
            "TEXT"
        ],
        "outputModalities": [
            "TEXT"
        ],
        "responseStreamingSupported": true,
        "customizationsSupported": [],
        "inferenceTypesSupported": [
            "ON_DEMAND"
        ],
        "modelLifecycle": {
            "status": "ACTIVE"
        }
    }
}

「モデルIDだけ取得したいなぁ」と思ったときは以下のように--queryオプションを指定することで絞り込めます。なお、最後に--output text指定しておくことでダブルクウォーテーションなしで出力できます。

aws bedrock get-foundation-model --model-identifier anthropic.claude-v2:1 --query 'modelDetails.modelArn' --output text

生成AIの基盤モデルごとに見ていく

なんとなく基盤モデルの情報を取得できたと思うので「どんな基盤モデルがあってどういう情報を持っているのか」順番に見ていきましょう。

Amazon Titan

プロバイダ モデル名 モデル識別子(--model-identifier)
Amazon Titan Text G1 - Express amazon.titan-text-express-v1:0:8k
Amazon Titan Text G1 - Express amazon.titan-text-express-v1
Amazon Titan Embeddings G1 - Text amazon.titan-embed-text-v1:2:8k
Amazon Titan Embeddings G1 - Text amazon.titan-embed-text-v1
Amazon Titan Text Large amazon.titan-tg1-large
Amazon Titan Image Generator G1 amazon.titan-image-generator-v1:0
Amazon Titan Image Generator G1 amazon.titan-image-generator-v1
Amazon Titan Text Embeddings v2 amazon.titan-embed-g1-text-02
Amazon Titan Text G1 - Lite amazon.titan-text-lite-v1:0:4k
Amazon Titan Text G1 - Lite amazon.titan-text-lite-v1
Amazon Titan Text G1 - Express amazon.titan-text-express-v1:0:8k
Amazon Titan Text G1 - Express amazon.titan-text-express-v1
Amazon Titan Embeddings G1 - Text amazon.titan-embed-text-v1:2:8k
Amazon Titan Embeddings G1 - Text amazon.titan-embed-text-v1
Amazon Titan Multimodal Embeddings G1 amazon.titan-embed-image-v1:0
Amazon Titan Multimodal Embeddings G1 amazon.titan-embed-image-v1

モデル情報を調べる場合は以下のコマンドを実行します。(amazon.titan-text-express-v1:0:8k)を取得する場合)

aws bedrock get-foundation-model --model-identifier amazon.titan-text-express-v1:0:8k --query 'modelDetails.modelArn' --output text

Anthropic Claude

プロバイダ モデル名 モデル識別子(--model-identifier)
Anthropic Claude Instant anthropic.claude-instant-v1:2:18k
Anthropic Claude Instant anthropic.claude-instant-v1
Anthropic Claude anthropic.claude-v2:1:18k
Anthropic Claude anthropic.claude-v2:1:200k
Anthropic Claude anthropic.claude-v2:1
Anthropic Claude Instant anthropic.claude-instant-v1:2:100k
Anthropic Claude Instant anthropic.claude-instant-v1
Anthropic Claude anthropic.claude-v2:0:18k
Anthropic Claude anthropic.claude-v2:0:100k
Anthropic Claude anthropic.claude-v2:1:18k
Anthropic Claude anthropic.claude-v2:1:200k
Anthropic Claude anthropic.claude-v2:1
Anthropic Claude anthropic.claude-v2
Anthropic Claude 3 Sonnet anthropic.claude-3-sonnet-20240229-v1:0

モデル情報を調べる場合は以下のコマンドを実行します。(anthropic.claude-instant-v1:2:18k)を取得する場合)

aws bedrock get-foundation-model --model-identifier anthropic.claude-instant-v1:2:18k --query 'modelDetails.modelArn' --output text

Stability AI SDXL

プロバイダ モデル名 モデル識別子(--model-identifier)
Stability AI SDXL 0.8 stability.stable-diffusion-xl
Stability AI SDXL 0.8 stability.stable-diffusion-xl-v0
Stability AI SDXL 1.0 stability.stable-diffusion-xl-v1:0
Stability AI SDXL 1.0 stability.stable-diffusion-xl-v1

モデル情報を調べる場合は以下のコマンドを実行します。(stability.stable-diffusion-xl)を取得する場合)

aws bedrock get-foundation-model --model-identifier stability.stable-diffusion-xl --query 'modelDetails.modelArn' --output text

※Tokyoリージョンではまだ提供されていないため、エラーが返ってきます。

AI21 Labs

プロバイダ モデル名 モデル識別子(--model-identifier)
AI21 Labs J2 Grande Instruct ai21.j2-grande-instruct
AI21 Labs J2 Jumbo Instruct ai21.j2-jumbo-instruct
AI21 Labs Jurassic-2 Mid ai21.j2-mid
AI21 Labs Jurassic-2 Mid ai21.j2-mid-v1
AI21 Labs Jurassic-2 Ultra ai21.j2-ultra
AI21 Labs Jurassic-2 Ultra ai21.j2-ultra-v1

モデル情報を調べる場合は以下のコマンドを実行します。(ai21.j2-grande-instruct)を取得する場合)

aws bedrock get-foundation-model --model-identifier ai21.j2-grande-instruct --query 'modelDetails.modelArn' --output text

※Tokyoリージョンではまだ提供されていないため、エラーが返ってきます。

Cohere

プロバイダ モデル名 モデル識別子(--model-identifier)
Cohere Command cohere.command-text-v14:7:4k
Cohere Command cohere.command-text-v14
Cohere Command Light cohere.command-light-text-v14:7:4k
Cohere Command Light cohere.command-light-text-v14
Cohere Embed English cohere.embed-english-v3
Cohere Embed Multilingual cohere.embed-multilingual-v3

モデル情報を調べる場合は以下のコマンドを実行します。(cohere.command-text-v14:7:4k)を取得する場合)

aws bedrock get-foundation-model --model-identifier cohere.command-text-v14:7:4k --query 'modelDetails.modelArn' --output text

※Tokyoリージョンではまだ提供されていないため、エラーが返ってきます。

Meta

プロバイダ モデル名 モデル識別子(--model-identifier)
Meta Llama 2 Chat 13B meta.llama2-13b-chat-v1:0:4k
Meta Llama 2 Chat 13B meta.llama2-13b-chat-v1
Meta Llama 2 Chat 70B meta.llama2-70b-chat-v1:0:4k
Meta Llama 2 Chat 70B meta.llama2-70b-chat-v1
Meta Llama 2 13B meta.llama2-13b-v1:0:4k
Meta Llama 2 13B meta.llama2-13b-v1
Meta Llama 2 70B meta.llama2-70b-v1:0:4k
Meta Llama 2 70B meta.llama2-70b-v1

モデル情報を調べる場合は以下のコマンドを実行します。(meta.llama2-13b-chat-v1:0:4k)を取得する場合)

aws bedrock get-foundation-model --model-identifier meta.llama2-13b-chat-v1:0:4k --query 'modelDetails.modelArn' --output text

※Tokyoリージョンではまだ提供されていないため、エラーが返ってきます。

まとめ

今回はAWS CLIでAmazon bedrockを実行する方法を見ていきました。基盤モデルはリージョンによって提供有無が異なるのでAPIの実行に失敗します。
ですが、提供開始されたらすぐに実行できるようになるので確認方法を覚えておくとあとで便利です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?