آموزش

توکن هوش مصنوعی چیست؟ محاسبه هزینه API و توکن ورودی و خروجی

توکن هوش مصنوعی چیست و هزینه API چگونه محاسبه می‌شود؟ با تفاوت Input و Output Token، فرمول محاسبه مصرف و روش‌های کاهش هزینه API آشنا شوید.

Sinox API۱۰ دقیقه مطالعه۰ بازدید
توکن هوش مصنوعی و آموزش محاسبه هزینه API با توکن ورودی و خروجی

توکن هوش مصنوعی چیست؟ آموزش محاسبه هزینه API و تفاوت توکن ورودی و خروجی

اگر از ChatGPT، Claude یا سایر مدل‌های هوش مصنوعی استفاده کرده باشید، احتمالاً با اصطلاح توکن (Token) برخورد کرده‌اید. در سرویس‌های API هوش مصنوعی، توکن یکی از مهم‌ترین واحدهای اندازه‌گیری مصرف است و در بسیاری از سرویس‌ها مستقیماً روی هزینه نهایی تأثیر می‌گذارد.

اما توکن دقیقاً چیست؟ آیا هر کلمه یک توکن محسوب می‌شود؟ تفاوت توکن ورودی و خروجی چیست و چطور می‌توان هزینه یک درخواست API را محاسبه کرد؟

در این مقاله، مفهوم توکن هوش مصنوعی را با مثال‌های ساده بررسی می‌کنیم، فرمول محاسبه هزینه API را یاد می‌گیریم و با روش‌هایی آشنا می‌شویم که به کاهش مصرف و مدیریت بهتر هزینه‌ها کمک می‌کنند.

توکن هوش مصنوعی چیست؟

توکن (Token) واحدی است که مدل‌های زبانی برای پردازش متن از آن استفاده می‌کنند. برخلاف تصور رایج، مدل‌های هوش مصنوعی الزاماً متن را به‌صورت کلمه‌به‌کلمه پردازش نمی‌کنند.

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

برای مثال، عبارت انگلیسی Hello world ممکن است در یک Tokenizer به دو توکن تقسیم شود. اما همین عبارت در مدل یا Tokenizer دیگری می‌تواند تقسیم‌بندی متفاوتی داشته باشد.

در زبان فارسی نیز تعداد توکن‌ها به ساختار کلمات، فاصله‌ها، نیم‌فاصله‌ها و روش توکن‌سازی مدل بستگی دارد.

بنابراین هر توکن لزوماً برابر با یک کلمه نیست و نمی‌توان تعداد دقیق توکن‌های یک متن را فقط از روی تعداد کلمات آن مشخص کرد.

تفاوت توکن، کلمه و کاراکتر

برای درک بهتر، این سه مفهوم را مقایسه کنیم:

مفهومتعریف
کاراکتر (Character)یک نویسه مانند حرف، عدد یا علامت
کلمه (Word)واحد زبانی که معمولاً با فاصله از کلمات دیگر جدا می‌شود
توکن (Token)واحد پردازشی متن در مدل هوش مصنوعی

برای مثال، یک کلمه طولانی ممکن است به چند توکن تبدیل شود؛ درحالی‌که بعضی کلمات کوتاه تنها یک توکن باشند.

نکته: تخمین تعداد توکن‌های فارسی با فرمول‌های ثابت مانند «هر چهار کاراکتر یک توکن» دقیق نیست. برای محاسبه قابل‌اعتماد باید از Tokenizer سازگار با مدل یا گزارش مصرف API استفاده کرد.

تفاوت Input Token و Output Token چیست؟

هنگام ارسال درخواست به یک مدل هوش مصنوعی، معمولاً با دو نوع مصرف روبه‌رو هستیم: توکن ورودی و توکن خروجی.

توکن ورودی (Input Token)

توکن ورودی شامل اطلاعاتی است که برای پردازش به مدل ارسال می‌شود.

این اطلاعات می‌تواند شامل موارد زیر باشد:

  • متن سؤال یا درخواست کاربر

  • دستورهای System Prompt

  • تاریخچه مکالمات قبلی

  • اسناد و محتوای ارسالی

  • تعریف ابزارها و نتایج فراخوانی آن‌ها

فرض کنید از یک مدل بخواهید مقاله‌ای را خلاصه کند. متن مقاله و دستور خلاصه‌سازی، بخشی از توکن‌های ورودی محسوب می‌شوند.

توکن خروجی (Output Token)

توکن خروجی مربوط به محتوایی است که مدل در پاسخ تولید می‌کند.

برای مثال، اگر یک متن طولانی به مدل بدهید و از آن بخواهید خلاصه‌ای کوتاه بنویسد، احتمالاً تعداد توکن‌های ورودی بیشتر از خروجی خواهد بود.

در بعضی مدل‌های استدلالی، توکن‌های مربوط به پردازش داخلی یا Thinking نیز می‌توانند در مصرف خروجی محاسبه شوند؛ حتی اگر تمام آن‌ها در پاسخ نهایی قابل‌مشاهده نباشند.

مقایسه توکن ورودی و خروجی

ویژگیInput TokenOutput Token
کاربرداطلاعات ارسال‌شده به مدلمحتوای تولیدشده توسط مدل
نمونهسؤال، سند، تاریخچه گفتگوپاسخ، خلاصه، کد تولیدشده
تأثیر بر هزینهبر اساس تعرفه ورودیبر اساس تعرفه خروجی
روش کاهشکوتاه‌سازی ورودی و تاریخچهکنترل طول پاسخ

در بسیاری از APIهای رسمی، قیمت هر میلیون توکن خروجی با ورودی متفاوت است. بنابراین هنگام تخمین هزینه باید تعرفه هر دو را جداگانه بررسی کنید.

هزینه API هوش مصنوعی چگونه محاسبه می‌شود؟

در قیمت‌گذاری مبتنی بر توکن، هزینه هر درخواست معمولاً به تعداد توکن‌های مصرف‌شده و تعرفه مدل بستگی دارد.

ارائه‌دهندگان API اغلب قیمت‌ها را به‌ازای هر یک میلیون توکن اعلام می‌کنند.

فرمول محاسبه هزینه API

اگر تعرفه ورودی و خروجی متفاوت باشد، فرمول پایه به شکل زیر است:

هزینه کل = هزینه توکن‌های ورودی + هزینه توکن‌های خروجی

Input Cost = (Input Tokens / 1,000,000) × Input Price

Output Cost = (Output Tokens / 1,000,000) × Output Price

Total Cost = Input Cost + Output Cost

در این فرمول، Input Price و Output Price تعرفه هر یک میلیون توکن هستند.

این روش برای محاسبه پایه مناسب است؛ اما اگر سرویس از Cached Tokens، تعرفه‌های ویژه یا هزینه ابزارهای جانبی استفاده کند، باید آن موارد را نیز لحاظ کرد.

مثال عملی محاسبه هزینه یک درخواست

فرض کنید یک مدل فرضی با تعرفه‌های زیر ارائه شده است:

نوع مصرفقیمت فرضی هر یک میلیون توکن
توکن ورودی۱ دلار
توکن خروجی۴ دلار

حالا یک درخواست با مشخصات زیر ارسال می‌کنیم:

  • توکن ورودی: ۲٬۰۰۰

  • توکن خروجی: ۵۰۰

هزینه ورودی:

(2,000 / 1,000,000) × $1 = $0.002

هزینه خروجی:

(500 / 1,000,000) × $4 = $0.002

در نتیجه:

هزینه کل این درخواست برابر با ۰٫۰۰۴ دلار است.

یعنی در این مثال، هر درخواست چهار دهم سنت هزینه دارد.

این اعداد صرفاً برای آموزش فرمول انتخاب شده‌اند و تعرفه واقعی یک مدل مشخص نیستند.

هزینه ۱۰۰۰ درخواست چقدر می‌شود؟

اگر همین الگوی مصرف را در ۱۰۰۰ درخواست تکرار کنیم:

1,000 × $0.004 = $4

هزینه تقریبی برابر با ۴ دلار خواهد بود.

البته در پروژه واقعی، طول سؤال‌ها و پاسخ‌ها یکسان نیست. برای برآورد دقیق‌تر بهتر است میانگین مصرف چندصد درخواست واقعی را محاسبه کنید.

آیا تمام APIهای هوش مصنوعی بر اساس توکن قیمت‌گذاری می‌شوند؟

خیر. اگرچه قیمت‌گذاری مبتنی بر توکن در API مدل‌های زبانی رایج است، برخی سرویس‌ها از روش‌های دیگری مانند پرداخت به‌ازای درخواست استفاده می‌کنند.

قیمت‌گذاری مبتنی بر توکن (Token-Based)

در این روش، میزان مصرف به تعداد توکن‌های پردازش‌شده وابسته است.

برای مثال، در یک سیستم ساده که ورودی و خروجی را با هم محاسبه می‌کند:

درخواستورودیخروجیمجموع مصرف
درخواست اول۵۰۰۲۰۰۷۰۰ توکن
درخواست دوم۳٬۰۰۰۱٬۰۰۰۴٬۰۰۰ توکن
درخواست سوم۸٬۰۰۰۲٬۰۰۰۱۰٬۰۰۰ توکن

در چنین سیستمی، درخواست سوم مصرف بیشتری دارد.

این روش برای پروژه‌هایی مناسب است که می‌خواهند مصرف را متناسب با حجم پردازش مدیریت کنند.

قیمت‌گذاری مبتنی بر درخواست (Request-Based)

در این روش، واحد اصلی محاسبه تعداد درخواست‌های قابل‌محاسبه است، نه تعداد توکن‌های آن‌ها.

برای مثال، اگر یک پکیج شامل ۱۰۰۰ درخواست باشد، هر درخواست موفق ممکن است یک واحد از سهمیه را مصرف کند؛ البته جزئیات به قوانین ارائه‌دهنده بستگی دارد.

این روش می‌تواند پیش‌بینی تعداد درخواست‌های قابل‌ارسال را ساده‌تر کند.

تفاوت قیمت‌گذاری توکنی و ریکوستی در Sinox API

Sinox API برای استفاده از مدل‌های هوش مصنوعی، پکیج‌های توکنی و ریکوستی ارائه می‌کند.

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

در پکیج ریکوستی، هر درخواست موفق یک واحد از سهمیه را مصرف می‌کند؛ بنابراین تعداد توکن‌های یک درخواست، مبنای کسر واحد ریکوستی نیست.

ویژگیپکیج توکنی Sinoxپکیج ریکوستی Sinox
واحد مصرفتوکندرخواست موفق
محاسبه مصرفورودی و خروجییک واحد برای هر درخواست
مناسب برایمدیریت مصرف توکنمدیریت تعداد درخواست
مشاهده مصرفداشبورد و گزارش مصرفداشبورد و گزارش درخواست‌ها

برای مثال، در پکیج ریکوستی، یک درخواست کوتاه و یک درخواست طولانی هر دو یک واحد مصرف می‌کنند؛ البته محدودیت‌های فنی مدل و سرویس همچنان برقرار هستند.

در مقابل، در پکیج توکنی، درخواست‌های طولانی‌تر معمولاً سهم بیشتری از موجودی توکن مصرف می‌کنند.

برای انتخاب پکیج مناسب، باید تعداد درخواست‌ها، میانگین توکن مصرفی و نوع ابزار مورد استفاده را در نظر گرفت.

جزئیات این دو روش در مستندات Sinox API ارائه شده است.

Context Window چیست و چه ارتباطی با توکن دارد؟

Context Window یا پنجره زمینه به ظرفیت اطلاعاتی اشاره دارد که مدل می‌تواند در یک نوبت پردازش در نظر بگیرد.

این ظرفیت معمولاً بر اساس تعداد توکن بیان می‌شود.

برای مثال، اگر مدلی دارای Context Window برابر با ۱۲۸ هزار توکن باشد، به این معنا نیست که همیشه می‌توانید ۱۲۸ هزار توکن ورودی ارسال کنید و علاوه بر آن خروجی نامحدود بگیرید.

بسته به محدودیت‌های مدل و سرویس، بخشی از ظرفیت باید برای تولید پاسخ در نظر گرفته شود.

چرا تاریخچه گفتگو مصرف توکن را افزایش می‌دهد؟

در بسیاری از برنامه‌های چت مبتنی بر API، برای حفظ زمینه مکالمه، پیام‌های قبلی دوباره همراه درخواست جدید ارسال می‌شوند.

فرض کنید در اولین درخواست، ۵۰۰ توکن ورودی دارید. در پیام بعدی، علاوه بر سؤال جدید، بخشی از مکالمه قبلی نیز ارسال می‌شود.

با ادامه گفتگو، ممکن است تعداد توکن‌های ورودی در هر درخواست بیشتر شود.

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

چگونه تعداد توکن مصرف‌شده را مشاهده کنیم؟

بسیاری از APIهای مدل‌های زبانی، اطلاعات مصرف را در پاسخ خود ارائه می‌کنند.

برای مثال، یک پاسخ سازگار با OpenAI ممکن است دارای بخشی مشابه نمونه زیر باشد:

{
  "usage": {
    "prompt_tokens": 1500,
    "completion_tokens": 400,
    "total_tokens": 1900
  }
}

در این مثال:

  • prompt_tokens تعداد توکن‌های ورودی را نشان می‌دهد.

  • completion_tokens تعداد توکن‌های خروجی را نشان می‌دهد.

  • total_tokens مجموع مصرف گزارش‌شده است.

این یک نمونه آموزشی از ساختار رایج پاسخ است. جزئیات فیلدهای مصرف ممکن است بین Endpointها و ارائه‌دهندگان متفاوت باشد.

در Sinox API نیز می‌توانید گزارش مصرف و تعداد توکن‌های محاسبه‌شده را از بخش لاگ مصرف در داشبورد مشاهده کنید. برای بررسی سهمیه و صورت‌حساب، گزارش داشبورد مرجع مناسب‌تری از تخمین دستی است.

۵ روش کاربردی برای کاهش مصرف توکن و هزینه API

کاهش مصرف توکن همیشه به معنی کوتاه کردن تمام پاسخ‌ها نیست. هدف این است که اطلاعات ضروری را با کمترین پردازش اضافی در اختیار مدل قرار دهیم.

۱. پرامپت‌های دقیق و مختصر بنویسید

دستورهای مبهم ممکن است باعث تولید پاسخ‌های طولانی یا درخواست‌های تکراری شوند.

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

۲. تاریخچه گفتگو را مدیریت کنید

ارسال تمام پیام‌های قبلی در هر درخواست می‌تواند مصرف ورودی را افزایش دهد.

در مکالمات طولانی، می‌توانید بخش‌های قدیمی را خلاصه کنید و فقط اطلاعات مرتبط را نگه دارید.

۳. طول خروجی را کنترل کنید

اگر به پاسخ کوتاه نیاز دارید، آن را در پرامپت مشخص کنید.

همچنین می‌توانید از پارامترهایی مانند max_tokens یا معادل پشتیبانی‌شده آن برای تعیین سقف خروجی استفاده کنید.

این پارامتر سقف تولید را مشخص می‌کند و الزاماً به معنی مصرف کامل آن مقدار نیست.

۴. مدل مناسب هر کار را انتخاب کنید

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

مدل‌های سبک‌تر ممکن است از نظر سرعت و هزینه مناسب‌تر باشند؛ البته باید کیفیت آن‌ها را برای کاربرد خود آزمایش کنید.

۵. مصرف واقعی را اندازه‌گیری کنید

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

در بعضی APIها، قابلیت Prompt Caching نیز می‌تواند هزینه پردازش ورودی‌های تکراری را کاهش دهد؛ مشروط به اینکه مدل و ارائه‌دهنده از آن پشتیبانی کنند.

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

آیا هر کلمه فارسی یک توکن است؟

خیر. تعداد توکن‌های یک متن فارسی به Tokenizer مدل، نوع کلمات و نحوه استفاده از فاصله و نیم‌فاصله بستگی دارد.

یک میلیون توکن چند کلمه است؟

عدد ثابتی وجود ندارد. نسبت تعداد کلمات به توکن‌ها در زبان‌های مختلف و مدل‌های متفاوت تغییر می‌کند. برای تخمین دقیق باید از Tokenizer مناسب استفاده کرد.

آیا توکن خروجی گران‌تر از توکن ورودی است؟

در بسیاری از APIهای رسمی، تعرفه خروجی بالاتر است؛ اما این موضوع به مدل، ارائه‌دهنده و روش قیمت‌گذاری بستگی دارد.

آیا افزایش Context Window باعث افزایش هزینه می‌شود؟

ظرفیت بالاتر به‌تنهایی الزاماً هزینه را افزایش نمی‌دهد. اما اگر متن بیشتری ارسال کنید، در سیستم‌های مبتنی بر توکن معمولاً مصرف افزایش پیدا می‌کند.

تفاوت توکن و ریکوست چیست؟

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

چگونه بفهمیم پکیج توکنی بهتر است یا ریکوستی؟

باید میانگین تعداد توکن در هر درخواست، تعداد درخواست‌های ماهانه، نوع مدل و قیمت پکیج‌ها را مقایسه کنید. انتخاب مناسب برای همه پروژه‌ها یکسان نیست.

جمع‌بندی

توکن یکی از مفاهیم پایه در استفاده از API هوش مصنوعی است. درک تفاوت Input Token و Output Token به شما کمک می‌کند مصرف مدل‌ها را بهتر تحلیل کنید و هزینه درخواست‌های API را تخمین بزنید.

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

برای کاهش هزینه API هوش مصنوعی، بهتر است پرامپت‌های دقیق بنویسید، تاریخچه گفتگو را مدیریت کنید، مدل مناسب انتخاب کنید و گزارش مصرف را به‌صورت منظم بررسی کنید.

اگر قصد دارید مدل‌های مختلف هوش مصنوعی را در پروژه خود استفاده کنید، می‌توانید از طریق Sinox API روش‌های قیمت‌گذاری توکنی و ریکوستی را مقایسه کرده و بر اساس نیاز پروژه، پکیج مناسب را انتخاب کنید.

اشتراک‌گذاری: