Üretken modeller, işleme için verileri token adı verilen birimlere ayırır. Her modelin, istem ve yanıtta işleyebileceği bir maksimum jeton sayısı vardır.
Bu sayfada, bir Gemini modeline yapılan istek için jeton sayısının ve faturalandırılabilir karakter sayısının tahminini almak üzere Jeton Sayısı API'sinin nasıl kullanılacağı gösterilmektedir. Yanıt içindeki jetonların tahminini almak için bir API yoktur.
Count Tokens API'nin Imagen modelleri için kullanılamayacağını unutmayın.
Sayımda hangi bilgiler sağlanır?
Parça sayma ve faturalandırılabilir karakterler hakkında aşağıdaki noktalara dikkat edin:
Toplam jeton sayısını belirleme
Bu sayı, isteklerinizin izin verilen bağlam penceresini aşmadığından emin olmanıza yardımcı olur.
Jeton sayısı, istek girişi kapsamında sağlanan tüm dosyaların (ör. resimler) boyutunu yansıtır. Resim sayısı veya videodaki saniye sayısı sayılmaz.
Tüm Gemini modellerinde bir jeton yaklaşık 4 karaktere eşittir. 100 jeton yaklaşık 60-80 İngilizce kelimeye karşılık gelir.
Faturalandırılabilir toplam karakter sayısını belirleme
Vertex AI için karakter sayısı fiyatlandırma hesaplamasına dahil edildiğinden bu sayı, maliyetlerinizi anlamanıza ve kontrol etmenize yardımcı olur.
Faturalandırılabilir karakter sayısı, istek girişi olarak sağlanan metindeki karakter sayısını yansıtır.
Daha eski Gemini modellerinde jetonlar fiyatlandırma hesaplamasına dahil edilmez. Ancak Gemini 2.0 ve Gemini 2.5 modellerinde jetonlar fiyatlandırma hesaplamasında kullanılır. Model başına jeton sınırları ve model başına fiyatlandırma hakkında daha fazla bilgi edinin.
Parça sayma ve faturalandırılabilir karakterler için fiyatlandırma ve kota
CountTokens
API'nin kullanımı için ücret alınmaz veya kota sınırlaması uygulanmaz. CountTokens
API'nin maksimum kotası, dakika başına 3.000 istektir (RPM).
Kod örnekleri
Yalnızca metin girişi
Swift
let response = try await model.countTokens("Write a story about a magic backpack.")
print("Total Tokens: \(response.totalTokens)")
print("Total Billable Characters: \(response.totalBillableCharacters)")
Kotlin
val response = generativeModel.countTokens("Write a story about a magic backpack.")
println("Total Tokens: ${response.totalTokens}")
println("Total Billable Characters: ${response.totalBillableCharacters}")
Java
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
GenerativeModelFutures modelFutures = GenerativeModelFutures.from(model);
ListenableFuture countTokensResponse =
modelFutures.countTokens(prompt);
Futures.addCallback(countTokensResponse, new FutureCallback() {
@Override
public void onSuccess(CountTokensResponse response) {
System.out.println("Total Tokens = " + response.getTotalTokens());
System.out.println("Total Billable Characters: = " +
response.getTotalBillableCharacters());
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
const { totalTokens, totalBillableCharacters } = await model.countTokens("Write a story about a magic backpack.");
console.log(`Total tokens: ${totalTokens}, total billable characters: ${totalBillableCharacters}`);
Dart
final tokenCount = await model.countTokens(Content.text("Write a story about a magic backpack."));
print('Token count: ${tokenCount.totalTokens}, billable characters: ${tokenCount.totalBillableCharacters}');
Unity
var response = await model.CountTokensAsync("Write a story about a magic backpack.");
UnityEngine.Debug.Log($"Total Tokens: {response.TotalTokens}");
UnityEngine.Debug.Log($"Total Billable Characters: {response.TotalBillableCharacters}");
Çok formatlı giriş
Swift
let response = try await model.countTokens(image, "What's in this picture?")
print("Total Tokens: \(response.totalTokens)")
print("Total Billable Characters: \(response.totalBillableCharacters)")
Kotlin
val prompt = content {
image(bitmap)
text("What's in this picture?")
}
val response = generativeModel.countTokens(prompt)
println("Total Tokens: ${response.totalTokens}")
println("Total Billable Characters: ${response.totalBillableCharacters}")
Java
Content prompt = new Content.Builder()
.addImage(bitmap)
.addText("What's in this picture?")
.build();
GenerativeModelFutures modelFutures = GenerativeModelFutures.from(model);
ListenableFuture countTokensResponse =
modelFutures.countTokens(prompt);
Futures.addCallback(countTokensResponse, new FutureCallback() {
@Override
public void onSuccess(CountTokensResponse response) {
System.out.println("Total Tokens = " + response.getTotalTokens());
System.out.println("Total Billable Characters: = " +
response.getTotalBillableCharacters());
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
const prompt = "What's in this picture?";
const imagePart = { inlineData: { mimeType: 'image/jpeg', data: imageAsBase64 }};
const { totalTokens, totalBillableCharacters } = await model.countTokens([prompt, imagePart]);
console.log(`Total tokens: ${totalTokens}, total billable characters: ${totalBillableCharacters}`);
Dart
final prompt = TextPart("What's in the picture?");
final tokenCount = await model.countTokens([
Content.multi([prompt, imagePart])
]);
print('Token count: ${tokenCount.totalTokens}, billable characters: ${tokenCount.totalBillableCharacters}');
Unity
var response = await model.CountTokensAsync(new [] {
ModelContent.Text("What's in this picture?"),
ModelContent.InlineData("image/png", imageData)
});
UnityEngine.Debug.Log($"Total Tokens: {response.TotalTokens}");
UnityEngine.Debug.Log($"Total Billable Characters: {response.TotalBillableCharacters}");