一番シンプルにAmazon BedrockでHello worldしてみた(API編)
2024-10-27
一番シンプルにAmazon Bedrock でHello worldしてみた
生成AIを気軽に楽しめるAmazon Bedrock を触ってみたく、一番シンプルにHello worldしてみた
モデルへのアクセスリクエスト
一番シンプルにAmazon BedrockでHello worldしてみた(マネジメントコンソール編) をご確認ください
IAMユーザーに権限付与
IAMユーザーにはBedrockを操作する権限を付与しておく
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "bedrock:InvokeModelWithResponseStream" ], "Resource": "arn:aws:bedrock:ap-northeast-1::foundation-model/amazon.titan-text-express-v1" } ] }
Resourceには、利用するモデルのARNを指定するが、Arnはマネジメントコンソールの「Providers」から確認できる
「IAM」>「Users」>「Security credentials」タブ>「Access keys 」からアクセスキーとシークレットアクセスキーも取得しておく
Hello worldしてみる
実行するコードは以下
import boto3 import json aws_access_key_id = "【権限を与えたIAMユーザーのアクセスキー】" aws_secret_access_key = "【権限を与えたIAMユーザーのシークレットアクセスキー】" client = boto3.client( 'bedrock-runtime', region_name='ap-northeast-1', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key ) response = client.invoke_model( modelId="amazon.titan-text-express-v1", body=json.dumps( { "inputText": "Hello World" } ) ) model_response = json.loads(response["body"].read()) print(model_response)
実行結果
% python bedrock_test.py {'inputTextTokenCount': 4, 'results': [{'tokenCount': 14, 'outputText': '\nBot: Hi there! How can I assist you today?', 'completionReason': 'FINISH'}]}
参考
– Boto3 1.35.6 documentation – Quickstart
– BedrockRuntime
– を使用して Amazon Bedrock APIリクエストの例を実行する AWS SDK for Python (Boto3)
– Amazon Bedrock 基盤モデルを使う為のIAMポリシー
– Amazon BedrockをBoto3から使ってみた
以上。