翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用して Amazon Bedrock APIリクエストの例を実行する AWS SDK for Python (Boto3)
このセクションでは、 を使用して Amazon Bedrock で一般的なオペレーションを試す方法について説明します。 AWS Python アクセス許可と認証が正しく設定されていることをテストするには、 を使用します。次の例を実行する前に、次の前提条件を満たしていることを確認する必要があります。
前提条件
-
を持っている AWS アカウント と には、Amazon Bedrock に必要なアクセス許可を持つロールにアクセスするためのアクセス許可があります。それ以外の場合は、「」の手順に従ってくださいを既に持っている AWS アカウント。
-
へのアクセスをリクエストしました Amazon Titan Text G1 - Express モデル。それ以外の場合は、「」の手順に従ってくださいAmazon Bedrock 基盤モデルへのアクセスをリクエストする。
-
IAM ユーザーのアクセスキーを受け取り、プロファイルを設定しました。それ以外の場合は、「」のユースケースに適用されるステップに従いますプログラムによるアクセスをユーザーに付与するための認証情報を取得する。
作成した Amazon Bedrock ロールを使用して、Amazon Bedrock のアクセス許可とアクセスキーが正しく設定されていることを確認します。これらの例では、アクセスキーを使用して環境を設定していることを前提としています。次の点に注意してください。
-
最小限、 を指定する必要があります。 AWS アクセスキー ID と AWS シークレットアクセスキー。
-
一時的な認証情報を使用している場合は、 も含める必要があります。 AWS セッショントークン。
環境で認証情報を指定しない場合は、Amazon Bedrock オペレーション用のクライアントを作成するaws_access_key_id
、aws_secret_access_key
、および (短期認証情報を使用している場合) aws_session_token
引数を含めます。
トピック
Amazon Bedrock が提供する基盤モデルを一覧表示する
次の例では、Amazon Bedrock クライアントを使用して ListFoundationModelsオペレーションを実行します。 は、お使いのリージョンの Amazon Bedrock で使用できる基盤モデル (FMs) をListFoundationModels
一覧表示します。Python スクリプトSDKで以下を実行して Amazon Bedrock クライアントを作成し、 ListFoundationModelsオペレーションをテストします。
# Use the ListFoundationModels API to show the models that are available in your region. import boto3 # Create an &BR; client in the ®ion-us-east-1; Region. bedrock = boto3.client( service_name="bedrock" ) bedrock.list_foundation_models()
スクリプトが成功すると、レスポンスは Amazon Bedrock で使用できる基盤モデルのリストを返します。
モデルにテキストプロンプトを送信し、 を使用してテキストレスポンスを生成する InvokeModel
次の例では、Amazon Bedrock クライアントを使用して InvokeModelオペレーションを実行します。 InvokeModel
では、モデルレスポンスを生成するプロンプトを送信できます。Python スクリプトSDKで以下を実行して Amazon Bedrock ランタイムクライアントを作成し、 オペレーションでテキストレスポンスを生成します。
# Use the native inference API to send a text message to Amazon Titan Text G1 - Express. import boto3 import json from botocore.exceptions import ClientError # Create an Amazon Bedrock Runtime client. brt = boto3.client("bedrock-runtime") # Set the model ID, e.g., Amazon Titan Text G1 - Express. model_id = "amazon.titan-text-express-v1" # Define the prompt for the model. prompt = "Describe the purpose of a 'hello world' program in one line." # Format the request payload using the model's native structure. native_request = { "inputText": prompt, "textGenerationConfig": { "maxTokenCount": 512, "temperature": 0.5, "topP": 0.9 }, } # Convert the native request to JSON. request = json.dumps(native_request) try: # Invoke the model with the request. response = brt.invoke_model(modelId=model_id, body=request) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1) # Decode the response body. model_response = json.loads(response["body"].read()) # Extract and print the response text. response_text = model_response["results"][0]["outputText"] print(response_text)
コマンドが成功すると、レスポンスはプロンプトに応答してモデルによって生成されたテキストを返します。
モデルにテキストプロンプトを送信し、Converse でテキストレスポンスを生成する
次の例では、Amazon Bedrock クライアントを使用して Converse オペレーションを実行します。サポートInvokeModel
されている場合は、 に対して Converse
オペレーションを使用することをお勧めします。これは、Amazon Bedrock モデル間で推論リクエストを統合し、マルチターン会話の管理を簡素化するためです。Python スクリプトSDKで以下を実行して Amazon Bedrock ランタイムクライアントを作成し、 Converse
オペレーションでテキストレスポンスを生成します。
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express. import boto3 from botocore.exceptions import ClientError # Create an Amazon Bedrock Runtime client. brt = boto3.client("bedrock-runtime") # Set the model ID, e.g., Amazon Titan Text G1 - Express. model_id = "amazon.titan-text-express-v1" # Start a conversation with the user message. user_message = "Describe the purpose of a 'hello world' program in one line." conversation = [ { "role": "user", "content": [{"text": user_message}], } ] try: # Send the message to the model, using a basic inference configuration. response = brt.converse( modelId=model_id, messages=conversation, inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}, ) # Extract and print the response text. response_text = response["output"]["message"]["content"][0]["text"] print(response_text) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1)
コマンドが成功すると、レスポンスはプロンプトに応答してモデルによって生成されたテキストを返します。