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 Console > Bedrock > Model Access로 이동하여 Anthropic 모델에 대한 액세스를 요청합니다. Anthropic 모델 가용성은 지역에 따라 다릅니다. 최신 정보는 AWS 문서를 참조하세요.

API 모델 이름

모델Bedrock API 모델 이름
Claude Opus 4anthropic.claude-opus-4-20250514-v1:0
Claude Sonnet 4anthropic.claude-sonnet-4-20250514-v1:0
Claude Sonnet 3.7anthropic.claude-3-7-sonnet-20250219-v1:0
Claude Haiku 3.5anthropic.claude-3-5-haiku-20241022-v1:0
Claude Sonnet 3.5anthropic.claude-3-5-sonnet-20241022-v2:0
Claude Opus 3 anthropic.claude-3-opus-20240229-v1:0
Claude Sonnet 3 anthropic.claude-3-sonnet-20240229-v1:0
Claude Haiku 3anthropic.claude-3-haiku-20240307-v1:0

사용 가능한 모델 목록

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

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

요청 만들기

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

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # 아래 키를 제공하거나 ~/.aws/credentials 사용 또는 "AWS_SECRET_ACCESS_KEY" 및 "AWS_ACCESS_KEY_ID" 환경 변수와 같은 기본 AWS 자격 증명 공급자를 사용하여 인증합니다.
    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-opus-4-20250514-v1:0",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)
print(message.content)

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

활동 로깅

Bedrock은 고객이 사용과 관련된 프롬프트와 완료를 로그할 수 있는 호출 로깅 서비스를 제공합니다.

Anthropic은 활동을 이해하고 잠재적인 오용을 조사하기 위해 최소 30일 롤링 기준으로 활동을 로그할 것을 권장합니다.

이 서비스를 켜는 것은 AWS나 Anthropic에게 귀하의 콘텐츠에 대한 액세스 권한을 부여하지 않습니다.

기능 지원

Bedrock에서 현재 지원되는 모든 기능은 여기에서 찾을 수 있습니다.

Bedrock에서의 PDF 지원

PDF 지원은 Converse API와 InvokeModel API 모두를 통해 Amazon Bedrock에서 사용할 수 있습니다. PDF 처리 기능과 제한 사항에 대한 자세한 정보는 PDF 지원 문서를 참조하세요.

Converse API 사용자를 위한 중요한 고려사항:

  • 시각적 PDF 분석(차트, 이미지, 레이아웃)에는 인용이 활성화되어야 합니다
  • 인용 없이는 기본 텍스트 추출만 가능합니다
  • 강제 인용 없이 완전한 제어를 원한다면 InvokeModel API를 사용하세요

두 가지 문서 처리 모드와 그 제한 사항에 대한 자세한 내용은 PDF 지원 가이드를 참조하세요.