다음을 통해 예제 Amazon Bedrock API 요청을 실행하십시오. AWS SDK파이썬용 (보토3) - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

다음을 통해 예제 Amazon Bedrock API 요청을 실행하십시오. AWS SDK파이썬용 (보토3)

이 섹션에서는 Amazon Bedrock에서 다음과 같은 몇 가지 일반적인 작업을 시도해 보는 방법을 안내합니다. AWS Python 권한 및 인증이 제대로 설정되었는지 테스트하기 위함입니다. 다음 예제를 실행하기 전에 다음 사전 요구 사항을 충족했는지 확인해야 합니다.

사전 조건 

생성한 Amazon Bedrock 역할을 사용하여 Amazon Bedrock에 대한 권한 및 액세스 키가 제대로 설정되었는지 테스트하십시오. 이 예제에서는 액세스 키로 환경을 구성했다고 가정합니다. 유의할 사항:

  • 최소한 다음을 지정해야 합니다. AWS 액세스 키 ID 및 AWS 비밀 액세스 키.

  • 임시 자격 증명을 사용하는 경우 다음 자격 증명도 포함해야 합니다. AWS 세션 토큰.

환경에서 자격 증명을 지정하지 않는 경우 Amazon Bedrock 작업용 클라이언트를 생성할 때 자격 증명을 지정할 수 있습니다. 이렇게 하려면 클라이언트를 생성할 때 aws_access_key_idaws_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 &region-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)

명령이 성공하면 응답은 프롬프트에 대한 응답으로 모델에서 생성된 텍스트를 반환합니다.