Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pantau penggunaan token Anda dengan menghitung token sebelum menjalankan inferensi
Saat Anda menjalankan inferensi model, jumlah token yang Anda kirim dalam input berkontribusi pada biaya permintaan dan terhadap kuota token yang dapat Anda gunakan per menit dan per hari. CountTokensAPI membantu Anda memperkirakan penggunaan token sebelum mengirim permintaan ke model foundation dengan mengembalikan jumlah token yang akan digunakan jika input yang sama dikirim ke model dalam permintaan inferensi.
catatan
Menggunakan CountTokensAPI tidak dikenakan biaya.
Penghitungan token adalah model khusus karena model yang berbeda menggunakan strategi tokenisasi yang berbeda. Jumlah token yang dikembalikan oleh operasi ini akan cocok dengan jumlah token yang akan dibebankan jika input yang sama dikirim ke model untuk menjalankan inferensi.
Anda dapat menggunakan CountTokens
API untuk melakukan hal berikut:
-
Perkirakan biaya sebelum mengirim permintaan inferensi.
-
Optimalkan prompt agar sesuai dengan batas token.
-
Rencanakan penggunaan token dalam aplikasi Anda.
Topik
Model dan Wilayah yang didukung untuk penghitungan token
Count token API didukung di Wilayah berikut (untuk informasi selengkapnya tentang Wilayah yang didukung di Amazon Bedrock, lihat titik akhir dan kuota Amazon Bedrock):
-
Timur AS (N. Virginia)
-
AS Timur (Ohio)
-
AS Barat (Oregon)
-
Asia Pasifik (Tokyo)
-
Asia Pasifik (Mumbai)
-
Asia Pasifik (Singapura)
-
Asia Pasifik (Sydney)
-
Eropa (Frankfurt)
-
Eropa (Zürich)
-
Eropa (Irlandia)
-
Europe (London)
-
Amerika Selatan (Sao Paulo)
Count token API didukung untuk model dasar berikut (untuk melihat Wilayah mana yang mendukung setiap model, lihatModel pondasi yang didukung di Amazon Bedrock):
-
Anthropic Claude 3.5 Haiku
-
Anthropic Claude 3.5 Sonnet v2
-
Anthropic Claude 3.5 Sonnet
-
Anthropic Claude 3.7 Sonnet
-
Anthropic Claude Opus 4
-
Anthropic Claude Sonnet 4
Hitung token dalam permintaan
Untuk menghitung jumlah token masukan dalam permintaan inferensi, kirim CountTokenspermintaan dengan titik akhir runtime Amazon Bedrock, Tentukan model di header dan input untuk menghitung token di bidang. body
Nilai body
bidang tergantung pada apakah Anda menghitung token input untuk permintaan InvokeModelatau Converse:
-
Untuk
InvokeModel
permintaan, formatbody
adalah string yang mewakili objek JSON yang formatnya bergantung pada model yang Anda tentukan. -
Untuk
Converse
permintaan, formatbody
adalah objek JSON yang menentukanmessages
dansystem
prompt yang disertakan dalam percakapan.
Coba contoh
Contoh di bagian ini memungkinkan Anda menghitung token untuk Converse
permintaan InvokeModel
dan permintaan AnthropicClaude 3 Haiku.
Prasyarat
-
Anda telah mengunduh AWS SDK untuk Python (Boto3) dan konfigurasi Anda diatur sedemikian rupa sehingga kredensi dan AWS Wilayah default Anda dikenali secara otomatis.
-
Identitas IAM Anda memiliki izin untuk tindakan berikut (untuk informasi selengkapnya, lihat Kunci tindakan, sumber daya, dan kondisi untuk Amazon Bedrock):
-
batuan dasar: CountTokens — Memungkinkan penggunaan.
CountTokens
-
batuan dasar: InvokeModel — Memungkinkan penggunaan
InvokeModel
danConverse
. Harus dicakuparn:${Partition}:bedrock:${Region}::foundation-model/anthropic.claude-3-haiku-20240307-v1:0
, minimal.
-
Untuk mencoba menghitung token untuk InvokeModelpermintaan, jalankan kode Python berikut:
import boto3 import json bedrock_runtime = boto3.client("bedrock-runtime") input_to_count = json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 500, "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }) response = bedrock_runtime.count_tokens( modelId="anthropic.claude-3-5-haiku-20241022-v1:0", input={ "invokeModel": { "body": input_to_count } } ) print(response["inputTokens"])
Untuk mencoba menghitung token untuk permintaan Converse, jalankan kode Python berikut:
import boto3 import json bedrock_runtime = boto3.client("bedrock-runtime") input_to_count = { "messages": [ { "role": "user", "content": [ { "text": "What is the capital of France?" } ] }, { "role": "assistant", "content": [ { "text": "The capital of France is Paris." } ] }, { "role": "user", "content": [ { "text": "What is its population?" } ] } ], "system": [ { "text": "You're an expert in geography." } ] } response = bedrock_runtime.count_tokens( modelId="anthropic.claude-3-5-haiku-20241022-v1:0", input={ "converse": input_to_count } ) print(response["inputTokens"])