先日、Amazon BedrockでClaude3が使用可能になりました!
本記事では、現在開発中のCLIツール「omochi」で使用している Amazon Bedrock のモデルをClaude2からClaude3にアップグレードした際の変更点について紹介します。
Amazon Bedrock のモデルをClaude2 からClaude3 にアップグレードしたい方やRuby でAmazon Bedrock のClaude3 を使用したい方の参考になれば幸いです。
事前準備
以下の準備が完了していることを確認してください。
- Rubyのインストール
- AWSアカウントの作成
- モデルアクセスの許可
できていない項目がある場合は、以下を参考に進めてください。
Claude2からClaude3へのアップグレード
Claude2で使用していたコード
body_data = {
"prompt": "\n\nHuman: #{comment}\n\nAssistant:",
"max_tokens_to_sample": 4000,
"temperature": 0.0,
"stop_sequences": [
"\n\nHuman:"
]
}
response = bedrock_client.invoke_model({
accept: '*/*',
content_type: 'application/json',
body: body_data.to_json,
model_id: 'anthropic.claude-v2:1'
})
string_io_object = response.body
data = JSON.parse(string_io_object.string)
code_html = data['completion']
変更点
- anthropic_version: Bedrockのバージョンを指定する項目を追加
- prompt: 従来のpromptは廃止され、代わりにmessagesオブジェクトで会話内容を定義
- completion: 返却値のキーがcompletionからcontentに変更
Claude3への変更反映
上記の変更点を反映したClaude3のコードは以下の通りです。
body_data = {
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 4000,
"temperature": 0.0,
"messages": [
{
"role": "user",
"content": "#{comment}"
}
]
}
response = bedrock_client.invoke_model({
accept: '*/*',
content_type: 'application/json',
body: body_data.to_json,
model_id: 'anthropic.claude-3-sonnet-20240229-v1:0'
})
string_io_object = response.body
data = JSON.parse(string_io_object.string)
code_html = data['content'][0]['text']
まとめ
本記事では、Amazon BedrockのClaude3へのアップグレード方法について紹介しました。
Claude2からClaude3へアップグレードしたことで、レスポンスがかなり早くなりました。
omochiについて
参考資料
- Amazon Bedrock 公式ドキュメント: https://docs.aws.amazon.com/bedrock/latest/userguide/