هزینه یک درخواست API از کجا میآید؟
در درخواست متنی، هزینه معمولاً از ورودی و خروجی محاسبه میشود. تاریخچه ارسالی بخشی از همان ورودی است و هر تلاش دوباره یک درخواست تازه محسوب میشود. کش، توکنهای استدلال و قابلیتهای دیگر هم بسته به مدل و مسیر API میتوانند روی صورتحساب اثر بگذارند.
خلاصه کاربردی
- ورودی و خروجی را جدا حساب کنید؛ نرخ آنها معمولاً متفاوت است.
- تاریخچه گفتگو هم بخشی از ورودی درخواست جدید است.
- بودجه را بر اساس مصرف واقعی و با سقف طول خروجی تنظیم کنید.
ورودی و خروجی را جدا ببینید
نرخ ورودی و خروجی ممکن است متفاوت باشد. تعداد توکنها را از اطلاعات مصرف پاسخ بگیرید و با تعرفه همان مدل تطبیق دهید. طول متن به کاراکتر، جایگزین دقیقی برای شمارش توکن نیست؛ بهخصوص وقتی زبان ورودی تغییر میکند.
برای برآورد اولیه، میتوانید متن را با نسبت تقریبی توکن به کاراکتر تخمین بزنید، اما برای تصمیمهای مالی از عددی استفاده کنید که سرویس در اطلاعات مصرف گزارش میدهد. تخمین فقط برای مرتبکردن گزینهها خوب است.
تاریخچه هم ورودی است
وقتی سابقه گفتگو را دوباره ارسال میکنید، آن متن بخشی از ورودی درخواست جدید است. فقط پیام آخر را در برآورد هزینه حساب نکنید. گفتگویی که پس از بیست پیام به پایان میرسد، در پیامهای آخر چند برابر پیام اول ورودی دارد.
- اطلاعات لازم را نگه دارید و پیامهای بیربط را حذف کنید.
- برای گفتگوهای طولانی، خلاصهای از تاریخچه بسازید و همان را ارسال کنید.
- طول خروجی را محدود کنید تا پاسخهای طولانی هزینه را چند برابر نکنند.
مصرف را از کجا ببینیم؟
برای هر نوع عملیات، تعداد درخواست، توکن ورودی، توکن خروجی و تعداد خطا را ثبت کنید. اگر این چهار عدد را به تفکیک دارید، میتوانید بفهمید کدام بخش برنامه بیشترین هزینه را میسازد و کجا باید بهینهسازی کنید.
{
"usage": {
"prompt_tokens": 812,
"completion_tokens": 240,
"total_tokens": 1052
}
}این نمونه مربوط به ساختار رایج Chat Completions است؛ نام و جزئیات فیلدهای مصرف در مسیرهای دیگر ممکن است متفاوت باشد. کش و توکنهای استدلال ممکن است زیرمجموعه شمارشهای اصلی باشند؛ آنها را دوباره به جمع اضافه نکنید. برای محاسبه مبلغ، جزئیات مصرف را با تعرفه همان مدل و گزارش صورتحساب تطبیق دهید. هزینه ابزار، تصویر یا صدا را هم اگر استفاده میکنید جدا بررسی کنید.
بودجه را با مصرف واقعی تنظیم کنید
هزینه، خطا و تعداد تلاش را برای هر نوع عملیات ثبت کنید. سپس برای طول خروجی و تعداد تلاشها حد بگذارید. قابلیت کش و نحوه محاسبه آن به مدل و مسیر ارائه بستگی دارد؛ پیش از واردکردن تخفیف کش در بودجه، آن را در اطلاعات مصرف تأیید کنید.
یک روش ساده این است که برای هر کاربرد بهصورت هفتگی سقف مصرف تعیین کنید و با هشدار در ۷۰ درصد آن مطلع شوید. این کار از پیچیدهشدن بودجه جلوگیری میکند و به شما رفتار واقعی مصرف را نشان میدهد.
پرسشهای متداول
چرا هزینه درخواست با تخمین من فرق دارد؟
معمولاً بهدلیل تاریخچه ارسالشده، تفاوت شمارش توکن زبان فارسی یا تنظیمات طول خروجی است. عدد واقعی را از اطلاعات مصرف پاسخ بخوانید و تخمین را با آن تنظیم کنید.
آیا میتوان قبل از درخواست دقیقاً هزینه را دانست؟
هزینه ورودی را میتوان تقریب زد، اما هزینه خروجی تا وقتی مدل پاسخ را تولید نکند قطعی نیست. سقف طول خروجی، حداکثر قابل پیشبینی نزدیکتری میدهد.