Bedrock을 통해 Claude를 호출하는 것은 Anthropic의 클라이언트 SDK를 사용할 때 Claude를 호출하는 방식과 약간 다릅니다. 이 가이드에서는 Python 또는 TypeScript로 Bedrock의 Claude에 API 호출을 완료하는 과정을 안내합니다.

이 가이드에서는 이미 AWS 계정에 가입하고 프로그래밍 방식 액세스를 구성했다고 가정합니다.

AWS CLI 설치 및 구성

  1. 버전 2.13.23 이상의 AWS CLI 버전 설치
  2. AWS configure 명령을 사용하여 AWS 자격 증명 구성(AWS CLI 구성 참조) 또는 AWS 대시보드에서 “명령줄 또는 프로그래밍 방식 액세스”로 이동하여 팝업 모달의 지침에 따라 자격 증명 찾기
  3. 자격 증명이 작동하는지 확인:
Shell
aws sts get-caller-identity  

Bedrock 액세스를 위한 SDK 설치

Anthropic의 클라이언트 SDK는 Bedrock을 지원합니다. boto3와 같은 AWS SDK를 직접 사용할 수도 있습니다.

pip install -U "anthropic[bedrock]"

Bedrock 액세스

Anthropic 모델 구독

AWS 콘솔 > Bedrock > 모델 액세스로 이동하여 Anthropic 모델에 대한 액세스를 요청하세요. Anthropic 모델 가용성은 지역마다 다릅니다. 최신 정보는 AWS 문서를 참조하세요.

API 모델 이름

모델Bedrock API 모델 이름
Claude 3 Haikuanthropic.claude-3-haiku-20240307-v1:0
Claude 3 Sonnetanthropic.claude-3-sonnet-20240229-v1:0
Claude 3 Opusanthropic.claude-3-opus-20240229-v1:0

사용 가능한 모델 나열

다음 예제는 Bedrock을 통해 사용할 수 있는 모든 Claude 모델 목록을 출력하는 방법을 보여줍니다:

aws bedrock list-foundation-models --region=us-west-2 --by-provider anthropic --query "modelSummaries[*].modelId"

요청 만들기

다음 예제는 Bedrock의 Claude 3 Sonnet에서 텍스트를 생성하는 방법을 보여줍니다:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # 아래 키를 제공하거나 기본 AWS 자격 증명 제공자를 사용하여 인증합니다.
    # ~/.aws/credentials 사용 또는 "AWS_SECRET_ACCESS_KEY" 및 "AWS_ACCESS_KEY_ID" 환경 변수 사용.
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # 임시 자격 증명은 aws_session_token과 함께 사용할 수 있습니다.
    # 자세한 내용은 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html 참조.
    aws_session_token="<session_token>",
    # aws_region은 요청이 이루어지는 aws 지역을 변경합니다. 기본적으로 AWS_REGION을 읽고,
    # 해당 지역이 없으면 us-east-1로 기본 설정됩니다. 지역에 대해 ~/.aws/config를 읽지 않습니다.
    aws_region="us-west-2",
)

message = client.messages.create(
    model="anthropic.claude-3-sonnet-20240229-v1:0",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)
print(message.content)

자세한 내용은 클라이언트 SDK를 참조하고 공식 Bedrock 문서는 여기에서 확인하세요.