فهم الرموز المميّزة وعدّها

تعالج نماذج Gemini ونماذج الذكاء الاصطناعي التوليدي الأخرى الإدخالات والمخرجات بدقة تُعرف باسم الرمز المميز.

في نماذج Gemini، يعادل الرمز المميز 4 أحرف تقريبًا. ويساوي 100 رمز مميز حوالي 60 إلى 80 كلمة باللغة الإنجليزية.

لمحة عن الرموز المميّزة

يمكن أن تكون الرموز المميّزة أحرفًا مفردة، مثل z، أو كلمات كاملة، مثل cat. ويتم تقسيم الكلمات الطويلة إلى عدة رموز مميّزة. تُعرف مجموعة جميع الرموز المميّزة التي يستخدمها النموذج باسم المفردات، وتُعرف عملية تقسيم النص إلى رموز مميّزة باسم الترميز.

عند تفعيل الفوترة، يتم تحديد تكلفة طلب إلى Gemini API جزئيًا من خلال عدد الرموز المميّزة للإدخال والإخراج، لذا قد يكون من المفيد معرفة كيفية عدّ الرموز المميّزة.

عدّ الرموز المميّزة

يتم ترميز جميع الإدخالات والمخرجات من Gemini API، بما في ذلك النصوص وملفات الصور والوسائط الأخرى غير النصية.

يمكنك عدّ الرموز المميّزة بالطرق التالية:

  • استدعاء count_tokens مع إدخال الطلب تعرض هذه الدالة إجمالي عدد الرموز المميّزة في الإدخال فقط. يمكنك إجراء هذا الاستدعاء قبل إرسال الإدخال للتحقّق من حجم طلباتك.

  • استخدام usage في استجابة التفاعل. تعرض هذه الدالة عدد الرموز المميّزة للإدخال (total_input_tokens) والإخراج (total_output_tokens) والتفكير (total_thought_tokens) والمحتوى المخزّن مؤقتًا (total_cached_tokens) واستخدام الأدوات (total_tool_use_tokens) والإجمالي (total_tokens).

عدّ الرموز المميّزة للنص

Python

# This will only work for SDK newer than 2.0.0
from google import genai

client = genai.Client()
prompt = "The quick brown fox jumps over the lazy dog."

# Count tokens before sending
total_tokens = client.models.count_tokens(
    model="gemini-3.6-flash",
    contents=prompt
)
print("total_tokens:", total_tokens.total_tokens)

# Get usage from interaction
interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input=prompt
)
print(interaction.usage)

JavaScript

// This will only work for SDK newer than 2.0.0
import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});
const prompt = "The quick brown fox jumps over the lazy dog.";

// Count tokens before sending
const countResponse = await client.models.countTokens({
    model: "gemini-3.6-flash",
    contents: prompt,
});
console.log(countResponse.totalTokens);

// Get usage from interaction
const interaction = await client.interactions.create({
    model: "gemini-3.6-flash",
    input: prompt,
});
console.log(interaction.usage);

REST

# Specifies the API revision to avoid breaking changes when they become default
curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.6-flash:countTokens" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d