기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다음을 통해 예제 Amazon Bedrock API 요청을 실행하십시오. AWS SDK파이썬용 (보토3)
이 섹션에서는 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작업을 실행합니다. ListFoundationModels
해당 지역의 Amazon Bedrock에서 사용할 수 있는 기초 모델 (FMs) 을 나열합니다. 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 클라이언트를 사용하여 컨버스 작업을 실행합니다. 지원되는 InvokeModel
경우 Converse
operation over를 사용하는 것이 좋습니다. 이는 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)
명령이 성공하면 응답은 프롬프트에 대한 응답으로 모델에서 생성된 텍스트를 반환합니다.