Memanggil Claude melalui Bedrock sedikit berbeda dari cara Anda memanggil Claude saat menggunakan SDK klien Anthropic. Panduan ini akan memandu Anda melalui proses menyelesaikan panggilan API ke Claude di Bedrock baik dalam Python atau TypeScript.

Perhatikan bahwa panduan ini mengasumsikan Anda telah mendaftar untuk akun AWS dan mengkonfigurasi akses terprogram.

Instal dan konfigurasikan AWS CLI

  1. Instal versi AWS CLI pada atau lebih baru dari versi 2.13.23
  2. Konfigurasikan kredensial AWS Anda menggunakan perintah konfigurasi AWS (lihat Konfigurasikan AWS CLI) atau temukan kredensial Anda dengan menavigasi ke “Akses baris perintah atau terprogram” dalam dasbor AWS Anda dan ikuti petunjuk dalam modal popup.
  3. Verifikasi bahwa kredensial Anda berfungsi:
Shell
aws sts get-caller-identity

Instal SDK untuk mengakses Bedrock

SDK klien Anthropic mendukung Bedrock. Anda juga dapat menggunakan SDK AWS seperti boto3 secara langsung.

pip install -U "anthropic[bedrock]"

Mengakses Bedrock

Berlangganan model Anthropic

Buka Konsol AWS > Bedrock > Akses Model dan minta akses ke model Anthropic. Perhatikan bahwa ketersediaan model Anthropic bervariasi menurut wilayah. Lihat dokumentasi AWS untuk informasi terbaru.

Nama model API

ModelNama model API Bedrock
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

Daftar model yang tersedia

Contoh berikut menunjukkan cara mencetak daftar semua model Claude yang tersedia melalui Bedrock:

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

Membuat permintaan

Contoh berikut menunjukkan cara menghasilkan teks dari Claude 3 Sonnet di Bedrock:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # Otentikasi dengan memberikan kunci di bawah ini atau gunakan penyedia kredensial AWS default, seperti
    # menggunakan ~/.aws/credentials atau variabel lingkungan "AWS_SECRET_ACCESS_KEY" dan "AWS_ACCESS_KEY_ID".
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # Kredensial sementara dapat digunakan dengan aws_session_token.
    # Baca selengkapnya di https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
    aws_session_token="<session_token>",
    # aws_region mengubah wilayah aws tempat permintaan dibuat. Secara default, kami membaca AWS_REGION,
    # dan jika itu tidak ada, kami menggunakan us-east-1. Perhatikan bahwa kami tidak membaca ~/.aws/config untuk wilayah.
    aws_region="us-west-2",
)

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

Lihat SDK klien kami untuk detail lebih lanjut, dan dokumentasi resmi Bedrock di sini.