Gunakan API Perhitungan Token untuk menghitung jumlah token dalam teks input Anda sebelum memanggil model bahasa besar (LLM). Hal ini membantu Anda memperkirakan biaya penagihan dan mengelola panjang konteks.
Apa itu token
Token adalah unit dasar teks yang dihasilkan oleh tokenizer. Tokenisasi membagi teks menjadi token—yang dapat berupa kata, subkata, tanda baca, atau karakter individual—sebelum diteruskan ke model bahasa.
Jumlah token tidak selalu sama dengan jumlah karakter. Sebagai panduan kasar:
"Apple"= 1 token"Test Case"= 2 token"OpenSearch"= 2 token
Layanan LLM pada AI Search Open Platform ditagih berdasarkan jumlah token input dan output yang diproses. Panggil API Perhitungan Token untuk memperkirakan biaya sebelum mengirim permintaan inferensi.
Model yang didukung
Model berikut mendukung API Perhitungan Token.
| Model | service_id |
|---|---|
| Model OpenSearch SFT | ops-qwen-turbo |
| Model Qwen | qwen-turbo |
| Model Qwen | qwen-plus |
| Model Qwen | qwen-max |
Panggil API Perhitungan Token
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
Kunci API untuk otentikasi. Untuk detailnya, lihat Dapatkan alamat pendaftaran layanan.
Titik akhir akses layanan. API mendukung akses melalui internet publik maupun virtual private cloud (VPC).
Permintaan
Metode: POST
Titik akhir:
{host}/v3/openapi/workspaces/{workspace_name}/text-generation/{service_id}/tokenizer| Parameter URL | Deskripsi | Contoh |
|---|---|---|
host | Alamat layanan. Mendukung akses internet publik dan VPC. Lihat Dapatkan alamat akses layanan. | — |
workspace_name | Nama ruang kerja Anda. | default |
service_id | Identifier layanan bawaan untuk model yang akan digunakan. | ops-qwen-turbo |

Batasan: Ukuran maksimum badan permintaan adalah 8 MB.
Parameter header
| Parameter | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
Content-Type | String | Ya | Jenis media dari badan permintaan. | application/json |
Authorization | String | Ya | Kunci API untuk otentikasi. Gunakan awalan Bearer. | Bearer OS-d1**2a |
Parameter badan
| Parameter | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
messages | Daftar | Ya | Riwayat percakapan yang akan ditokenisasi. Setiap item adalah objek dengan bidang role dan content. | [{"role": "user", "content": "Test token calculation"}] |
Daftar messages mengikuti format yang sama dengan API generasi teks:
system: Pesan tingkat sistem opsional. Jika ada, harus menjadi item pertama dalam daftar (messages[0]).userdanassistant: Mewakili giliran dalam percakapan. Kedua peran ini harus bergantian.
Tanggapan
| Parameter | Tipe | Deskripsi | Contoh |
|---|---|---|---|
request_id | String | ID permintaan. | 310032DA-****-46CC-94D1-0FE789BAE3A7 |
latency | Float/Int | Waktu pemrosesan permintaan, dalam milidetik. | 10 |
usage | Objek | Penggunaan token untuk permintaan ini. | {"input_tokens": 4} |
usage.input_tokens | Integer | Jumlah token input. | 4 |
result.token_ids | Daftar\<Integer\> | ID token yang sesuai dengan teks input. | [81705, 5839, 100768, 107736] |
result.tokens | Daftar\<String\> | String token yang berasal dari teks input. | ["Test", "token", "calculation", "interface"] |
Contoh
Permintaan:
curl -XPOST -H "Content-Type:application/json" \
"http://****-shanghai.opensearch.aliyuncs.com/v3/openapi/workspaces/default/text-generation/ops-qwen-turbo/tokenizer" \
-H "Authorization: Bearer Your API-KEY" \
-d "{
\"messages\":[
{
\"role\":\"user\",
\"content\":\"Test token calculation interface\"
}
]}"Tanggapan sukses:
{
"request_id": "9d197d47-d6b5-****-964e-12b893c47a8b",
"latency": 11,
"usage": {
"input_tokens": 4
},
"result": {
"token_ids": [81705, 5839, 100768, 107736],
"tokens": ["Test", "token", "calculation", "interface"]
}
}Tanggapan error:
Jika permintaan gagal, tanggapan mencakup bidang code dan message yang menjelaskan kesalahan tersebut.
{
"request_id": "388476DB-C4D4-****-A7A6-7594F92885FA",
"latency": 0,
"code": "InvalidParameter",
"message": "Messages must be end with role[user]."
}Kode status
Untuk daftar lengkap kode status dan maknanya, lihat Deskripsi kode status.