Amazon BedrockのBase Model ARNをAWS CLIで取得する
この記事は、「Amazon Bedrock Advent Calendar 2023」の4日目の記事です。Bedrock Agentを使ってモデルのARNを調べる方法を紹介しています。AWS SDKを使ってRAGやチャットボットを作る際には、「利用したい言語モデルのARN」が必要であり、list-foundation-modelsコマンドで取得できます。モデルのARNを取得するために少し時間がかかることもあるため、この記事が参考になると思います。
目次
この記事は「Amazon Bedrock Advent Calendar 2023」4日目の記事です。
みなさんBedrock使っていますでしょうか?自分はre:invent 2023から触り始めた後発組です。re:invent 2023で発表された、RAGなどのエージェントを作れる機能「Bedrock Agent」を触っていた際に、「使いたいモデルのARN」を調べる必要がありましたので、その方法を簡単に紹介します。
モデルのARNが必要になるケース
AWS SDKを利用してRAGやチャットbotなどを作る際、利用するAPIによっては「利用したい言語モデルのARN」を引数に渡す必要があります。例えばBedrock AgentのRetrieveAndGenerate
APIでは、retrieveAndGenerationConfiguration.knowledgeBaseConfiguration.modelArn
がrequired
になっています。
const client = new BedrockAgentRuntimeClient(config);
const input = { // RetrieveAndGenerateRequest
sessionId: "STRING_VALUE",
input: { // RetrieveAndGenerateInput
text: "STRING_VALUE", // required
},
retrieveAndGenerateConfiguration: { // RetrieveAndGenerateConfiguration
type: "KNOWLEDGE_BASE", // required
knowledgeBaseConfiguration: { // KnowledgeBaseRetrieveAndGenerateConfiguration
knowledgeBaseId: "STRING_VALUE", // required
modelArn: "STRING_VALUE", // required
},
},
sessionConfiguration: { // RetrieveAndGenerateSessionConfiguration
kmsKeyArn: "STRING_VALUE", // required
},
};
Base Modelはlist-foundation-models
から取得する
ClaudeやTitanなどのモデルを、カスタマイズなしに利用したい場合、aws bedrock list-foundation-models
で取得できます。
aws bedrock list-foundation-models --query "modelSummaries[].modelArn"
[
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-tg1-large",
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-image-generator-v1",
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-g1-text-02",
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-text-lite-v1",
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-text-express-v1",
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1",
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-image-v1",
"arn:aws:bedrock:us-east-1::foundation-model/stability.stable-diffusion-xl",
"arn:aws:bedrock:us-east-1::foundation-model/stability.stable-diffusion-xl-v0",
"arn:aws:bedrock:us-east-1::foundation-model/stability.stable-diffusion-xl-v1",
"arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-grande-instruct",
"arn:aws:bedrock:us-east-1::foundation-model/ai21.j2-jumbo-instruct",
...
list-foundation-models
に行き着くまで少し時間がかかったため、同様にモデルのARNを取得する必要が出てきた人の参考になればと思います。