شمارش نشانه‌ها برای مدل‌های Gemini

مدل‌های Gemini ورودی و خروجی را در واحدهایی به‌نام داده‌واحد پردازش می‌کنند.

نشان‌ها می‌توانند نویسه‌های تکی مانند z یا کلمات کامل مانند cat باشند. کلمات طولانی به چند واحد زبانی تقسیم می‌شوند. مجموعه همه نشانه‌هایی که مدل استفاده می‌کند واژگان نامیده می‌شود و فرایند تقسیم نوشتار به نشانه‌ها نشانه‌گذاری نامیده می‌شود.

برای مدل‌های Gemini، یک نشانه معادل حدود ۴ نویسه است. ۱۰۰ نشانه معادل حدود ۶۰ تا ۸۰ کلمه انگلیسی است.

هر مدل حداکثر تعداد توکنی دارد که می‌تواند در پیام‌واره و پاسخ مدیریت کند. با دانستن تعداد داده‌واحد پیام‌واره‌تان می‌توانید متوجه شوید که از این حد فراتر رفته‌اید یا نه. علاوه‌براین، هزینه درخواست تاحدی براساس تعداد داده‌واحدهای ورودی و خروجی تعیین می‌شود، بنابراین دانستن نحوه شمارش داده‌واحدها می‌تواند مفید باشد.

مدل‌های پشتیبانی‌شده

  • gemini-4-carbon
  • gemini-4-argon
  • gemini-3.8-flash
  • ‫gemini-3.5-flash-lite (و gemini-3.1-flash-lite قدیمی‌تر)
  • ‫gemini-nano-banana-2.1‏ (Nano Banana 2.1)
  • ‫gemini-3.1-flash-image‏ (Nano Banana 2)
  • ‫gemini-3.1-flash-lite-image‏ (Nano Banana 2 Lite)
  • ‫gemini-3-pro-image‏ (Nano Banana Pro)
  • gemini-3.8-flash-tts و gemini-3.8-flash-lite-tts (فقط ازطریق usageMetadata در پاسخ؛ تماس با countTokens پشتیبانی نمی‌شود)

مدل‌های قدیمی‌تر Gemini 3.x Flash با کاربرد عمومی از این قابلیت پشتیبانی می‌کنند، اما به‌دلیل تاریخ‌های توقف آتی و/یا مسیریابی خودکار به مدل‌های جدیدتر، دیگر برای استفاده توصیه نمی‌شوند.

گزینه‌های شمارش نشان‌ها

همه ورودی‌ها و خروجی‌های Gemini API، ازجمله نوشتار، فایل‌های تصویری، و دیگر حالت‌های غیرنوشتاری، نشان‌گذاری می‌شوند. گزینه‌های شمارش کردن توکن‌ها در اینجا آمده است:

تعداد داده‌واحد را فقط برای درخواست‌هایتان (قبل‌از ارسال آن‌ها به مدل) بررسی کنید.
countTokens را با ورودی درخواست قبل‌از ارسال آن به مدل فراخوانی کنید. این دستور موارد زیر را برمی‌گرداند:
  • total_tokens: تعداد داده‌واحد فقط ورودی
تعداد داده‌واحد را برای هم درخواست‌ها و هم پاسخ‌هایتان بررسی کنید.
به مشخصه usageMetadata در شیء پاسخ دسترسی پیدا کنید. این شامل موارد زیر می‌شود:
  • ‫prompt_token_count: تعداد داده‌واحد فقط برای ورودی
  • candidates_token_count: تعداد داده‌واحد فقط برای برونداد (شامل داده‌واحدهای اندیشیدن نمی‌شود)
  • ‫thoughts_token_count: تعداد داده‌واحد هر داده‌واحد اندیشیدن استفاده‌شده برای تولید پاسخ
  • total_token_count: تعداد کل داده‌واحدها برای هم ورودی و هم خروجی (شامل هرگونه داده‌واحد اندیشیدن)

هنگام جاری‌سازی برونداد، مشخصه usageMetadata فقط در آخرین بخش جاری‌سازی ظاهر می‌شود. این مقدار برای تکه‌های میانی nil است.

درباره گزینه‌های بالا به نکات زیر توجه کنید:

  • تعداد تصاویر ورودی یا تعداد ثانیه‌های فایل‌های ورودی ویدیویی یا صوتی را نمی‌شمارند. بااین‌حال، تعداد داده‌واحد برای هریک از این حالت‌ها با این مقادیر همبستگی خواهد داشت.
  • تعداد داده‌واحد ورودی شامل پیام‌واره (نوشتار و هر فایل ورودی) و همچنین هرگونه دستورالعمل و ابزار سیستم می‌شود.
  • تعداد داده‌واحد برونداد شامل هیچ داده‌واحد اندیشیدنی نمی‌شود؛ این داده‌واحدها در فیلد جداگانه‌ای ارائه می‌شوند.
  • اطلاعات تکمیلی مختص هر نوع درخواست را در ادامه این صفحه مرور کنید.
  • مدل‌های تبدیل نوشتار به گفتار Gemini (gemini-3.8-flash-tts و gemini-3.8-flash-lite-tts) از فراخوانی countTokens پشتیبانی نمی‌کنند، هرچند تعداد داده‌واحدها در ویژگی usageMetadata در پاسخ برگردانده می‌شود.
  • مدل‌های Gemini Live API از countTokens پشتیبانی نمی‌کنند. همچنین، Firebase AI Logic هنوز از آن مشخصه usageMetadata در پاسخ مدل‌های Live API پشتیبانی نمی‌کند، اما به‌زودی این قابلیت اضافه خواهد شد!

قیمت‌گذاری برای این گزینه‌ها

  • فراخوانی countTokens: فراخوانی countTokens (Count Tokens API) هزینه‌ای ندارد. حداکثر سهمیه برای Count Tokens API‏ ۳۰۰۰ درخواست در دقیقه (RPM) است.

  • استفاده از مشخصه usageMetadata: این مشخصه همیشه به‌عنوان بخشی از پاسخ برگردانده می‌شود و هیچ ژتونی مصرف نمی‌کند یا هزینه‌ای ندارد.

اطلاعات بیشتر

در اینجا اطلاعات بیشتری درباره کار با انواع خاصی از درخواست‌ها ارائه شده است.

شمارش داده‌واحدهای ورودی نوشتاری

اطلاعات بیشتری وجود ندارد.

شمارش داده‌واحدهای چندنوبتی (گپ)

هنگام استفاده از گپ، به موارد زیر برای تماس با countTokens توجه کنید:

  • اگر countTokens را با سابقه گپ فراخوانی کنید، تعداد کل داده‌واحدها را از هر دو نقش در گپ (total_tokens) برمی‌گرداند.
  • برای درک اینکه نوبت مکالمه بعدی شما چقدر بزرگ خواهد بود، باید آن را هنگام تماس با countTokens به سابقه اضافه کنید.

شمارش داده‌واحدهای ورودی چندحالته

به نکات زیر درباره شمارش نشانه‌ها با ورودی چندحالته توجه کنید:

  • درصورت تمایل می‌توانید countTokens را به‌طور جداگانه روی نوشتار و فایل فراخوانی کنید.
  • برای هر دو گزینه شمارش داده‌واحد، چه فایل را به‌عنوان داده درون‌خطی ارائه دهید و چه از نشانی وب آن استفاده کنید، تعداد داده‌واحد یکسانی دریافت خواهید کرد.

فایل‌های ورودی تصویر

فایل‌های ورودی تصویر براساس ابعادشان به توکن تبدیل می‌شوند:

  • ورودی‌های تصویری که هر دو بعد آن‌ها کمتر یا مساوی ۳۸۴ پیکسل است: هر تصویر معادل ۲۵۸ نشانه درنظر گرفته می‌شود.
  • ورودی‌های تصویری که در یک یا هر دو بُعد بزرگ‌تر هستند: هر تصویر درصورت نیاز به کاشی‌های ۷۶۸×۷۶۸ پیکسلی برش داده می‌شود و مقیاس‌بندی می‌شود، و سپس هر کاشی به‌عنوان ۲۵۸ توکن شمرده می‌شود.

فایل‌های ورودی صوتی و ویدیویی

فایل‌های ورودی ویدیویی و صوتی با نرخ‌های ثابت زیر به نشان‌واره تبدیل می‌شوند:

  • ویدیو: ۲۶۳ نشانه در ثانیه
  • صدا: ۳۲ داده‌واحد در ثانیه

فایل‌های ورودی سند (مثل PDF)

فایل‌های ورودی PDF به‌عنوان تصویر درنظر گرفته می‌شوند، بنابراین هر صفحه از PDF به‌همان روشی که تصویر نشان‌گذاری می‌شود، نشان‌گذاری می‌شود.