درک شمارش توکن در مدلهای uncensored
جمله اول هر بخش به سوال در سربرگ آن پاسخ میدهد. شمارش توکن واحد بنیادی صورتحساب برای هر پراکسی LLM است. شما برای هر توکن ارسال شده در پرسش و هر توکن تولید شده در پاسخ پرداخت میکنید. این شامل دستورالعملهای سیستمی، تاریخچه مکالمه و کاراکترهای قالببندی میشود.
بسیاری از توسعهدهندگان فرض میکنند که فقط متن قابل مشاهده مهم است. این نادرست است. هر فاصله، خط جدید و براکت JSON توکن مصرف میکند. وقتی از یک مدل بدون سانسور استفاده میکنید، پنجره زمینه سریعتر پر میشود زیرا این مدلها اغلب برای حفظ انسجام بدون فیلترهای ایمنی، به استدلالهای مفصلتری نیاز دارند.
API ما برای هر ۱ میلیون توکن ورودی $0.15 و برای هر ۱ میلیون توکن خروجی $0.50 دریافت میکند. این نرخ برای مصرف واقعی توکنها اعمال میشود. خطاها هزینهای برای شما ندارند. رد شدن درخواستها رایگان است. این ساختار تضمین میکند که شما فقط برای محاسبات واقعی هزینه میکنید.
curl https://api.claudeapiproxy.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "get the current server time in ISO format"}]
}'- هر کاراکتر را در پرامپت سیستمی خود بشمارید.
- تاریخچه مکالمه را در شمارش ورودیها بگنجانید.
- حساب برای سربار قالببندی JSON.
- تعداد توکنها را پیش از ارسال بارهای بزرگ بررسی کنید.
تله پنجره زمینه: ۱۰۰k ورودی در مقابل ۱۶k خروجی
API ما یک پنجره زمینه ۱۰۰,۰۰۰ توکنی ارائه میدهد، اما میتوانید فقط ۱۶,۰۰۰ توکن در هر درخواست تولید کنید. این عدم تقارن یک تله مالی برای کاربرانی ایجاد میکند که خروجی بینهایت را فرض میکنند.
اگر پرامپت شما ۹۰,۰۰۰ توکن مصرف کند، تنها ۱۰,۰۰۰ توکن برای خروجی باقی میماند. اگر حداکثر ۱۶,۰۰۰ توکن درخواست کنید، مدل زودتر متوقف میشود. شما همچنان برای توکنهای تولید شده واقعی پرداخت میکنید. این یک باگ نیست. این ویژگی پنجرههای زمینه بزرگ است.
بسیاری از کاربران اعتبار خود را با تنظیم max_tokens بیش از حد هدر میدهند. اگر مدل از زمینه خارج شود، به طور طبیعی متوقف میشود. شما بابت آنچه تولید میکند پرداخت میکنید. شما بابت آنچه نمیتوانست تولید کند پرداخت نمیکنید.
from openai import OpenAI
client = OpenAI(base_url="https://api.claudeapiproxy.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)همیشه زمینه باقیمانده خود را مانیتور کنید. از endpoint /v1/models برای بررسی محدودیتهای فعلی استفاده کنید. طول پرامپت خود را تنظیم کنید تا برای خروجی جا بماند. این از هزینههای غیرمنتظره ناشی از پاسخهای قطع شده جلوگیری میکند.
پاسخهای استریمشده و صورتحساب قطعه نهایی
استریم کردن هزینه کل را تغییر نمیدهد. شما بابت همان توکنها هزینه میپردازید، چه آنها را بهصورت لحظهای دریافت کنید و چه یکجا. تفاوت در نحوه ردیابی مصرف است.
هنگام پخش (streaming)، شما چندین قطعه دریافت میکنید. هر قطعه حاوی بخشی از پاسخ است. قطعه نهایی حاوی خلاصه مصرف توکن است. اینجاست که میتوانید تعداد دقیق توکن را تأیید کنید.
برخی پراکسیها به ازای هر قطعه (chunk) هزینه دریافت میکنند. مال ما اینگونه نیست. ما برای کل توپیمهای تولید شده هزینه دریافت میکنیم. حالت استریم برای تجربه کاربری است، نه برای کارایی صورتحساب.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)- جریان برای بهروزرسانیهای رابط کاربری در زمان واقعی.
- تکههای میانی را برای صورتحساب نادیده بگیرید.
- قطعه نهایی را برای شمارش توکن بخوانید.
- مصرف را با انتظارات خود مطابقت دهید.
اضافه بار فراخوانی تابع در استفاده از ابزار
فراخوانی تابع سربار قابل توجهی ایجاد میکند زیرا تعریفهای ابزار در هر درخواست تکرار میشوند. هر بار که یک تابع را فراخوانی میکنید، مدل باید طرحواره ابزار را دوباره بخواند.
اگر پنج ابزار داشته باشید که هر کدام 1,000 توکن تعریف داشته باشند، 5,000 توکن به هر درخواست اضافه میکنید. این هزینه ورودی شما را به طور قابل توجهی افزایش میدهد. برای مکالمات طولانی، این سربار انباشته میشود.
API ما از function calling با tools و tool_choice پشتیبانی میکند. میتوانید با کاهش پیچیدگی ابزارها بهینهسازی کنید. ابزارهای مرتبط را در یک طرحواره واحد ترکیب کنید. این تعداد توکن را در هر درخواست کاهش میدهد.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.claudeapiproxy.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);مصرف توکنها را به دقت پایش کنید. حجم بالای فراخوانی توابع میتواند هزینههای ورودی شما را دو برابر کند. اگر امکان دارد از کش برای تعاریف ابزار استفاده کنید. این کار به طولانیتر ماندن اعتبار پیشپرداخت شما کمک میکند.
چرا ردیها رایگان هستند اما تلاش مجدد خیر
ردّهاها رایگان هستند زیرا توکنی تولید نشده است. اگر مدل به دلیل محتوا یا فرمت درخواستی را رد کند، هزینهای پرداخت نمیکنید. این یک مزیت کلیدی در سیستم پیشپرداخت است.
تلاش مجدد رایگان نیست. اگر درخواستی ارسال کنید و خطا دریافت کنید، ممکن است نیاز به تلاش مجدد داشته باشید. هر تلاش مجدد توکن مصرف میکند. خطاها رایگان هستند، اما تلاش مجددها خیر.
API ما فقط بابت توکنهای واقعی هزینه دریافت میکند. اگر درخواستی قبل از تولید توکن شکست بخورد، شما هزینهای پرداخت نمیکنید. اگر بعد از آن شکست بخورد، بابت آنچه تولید شده پرداخت میکنید. این شفافیت از هزینههای پنهان جلوگیری میکند.
curl https://api.claudeapiproxy.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "get the current server time in ISO format"}]
}'- ردّهاها صفر اعتبار هزینه دارند.
- تلاش مجددها بودجه شما را مصرف میکنند.
- خطاها در صورت تولید نشدن توکن رایگان هستند.
- بازپخشها را پایش کنید تا کارایی بهینه شود.
هزینههای قالببندی حالت JSON
هزینههای قالببندی حالت JSON با حالت متن استاندارد یکسان است. شما برای توکنهای خروجی JSON هزینه میپردازید. فرمت هزینه اضافی ندارد.
با این حال، خروجی JSON اغلب توکنهای بیشتری نسبت به متن ساده نیاز دارد. مدلها ممکن است برای اطمینان از اعتبار JSON، فاصله اضافی یا کلیدهای بیشتری اضافه کنند. این هزینه خروجی شما را افزایش میدهد.
API ما از حالت JSON از طریق response_format پشتیبانی میکند. میتوانید خروجی JSON دقیق را اجبار کنید. این با کد کلاینت شما سازگار است. هزینه بر اساس توکن است، نه بر اساس فرمت.
from openai import OpenAI
client = OpenAI(base_url="https://api.claudeapiproxy.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)اسکیما JSON خود را برای کاهش تعداد توکنها بهینه کنید. کلیدهای غیرضروری را حذف کنید. از نامهای متغیر کوتاهتر استفاده کنید. این به حداقل رساندن هزینهها در حالی که یکپارچگی داده حفظ میشود کمک میکند.
مقایسه هزینههای پراکسی با قیمتگذاری مستقیم ارائهدهنده
هزینههای پروکسی اغلب کمتر از قیمتگذاری مستقیم ارائهدهندگان است زیرا شما فقط برای توکنها پرداخت میکنید. ارائهدهندگان مستقیم ممکن است برای زمان فعالیت، پشتیبانی یا نسخهبندی مدل هزینه دریافت کنند. API ما $0.15 به ازای 1M توکن ورودی و $0.50 به ازای 1M توکن خروجی دریافت میکند.
فروشندگان مستقیم مانند Anthropic یا OpenAI دارای سطوح قیمتگذاری پیچیده هستند. آنها ممکن است نرخهای متفاوتی برای مدلهای مختلف دریافت کنند. API ما یک مدل بدون سانسور واحد ارائه میدهد. این صورتحساب را ساده میکند.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.claudeapiproxy.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);- صورتحساب پروکسی شفاف و پیشپرداخت است.
- فروشندگان مستقیم ممکن است هزینههای پنهان داشته باشند.
- مدل ما بدون سانسور و وزنباز است.
- تعداد توکنها را مقایسه کنید، نه فقط قیمتها را.
محاسبه هزینه موثر هر مکالمه
هزینه موثر هر مکالمه به مصرف توکن بستگی دارد. مجموع توکنهای ارسال شده و دریافت شده را محاسبه کنید. آن را در نرخ به ازای هر میلیون توکن ضرب کنید. این هزینه دقیق را به شما میدهد.
برای مثال، اگر یک مکالمه ۱۰,۰۰۰ توکن ورودی و ۵,۰۰۰ توکن خروجی مصرف کند، هزینه آن ۰.۰۰۱۵ + ۰.۰۰۲۵ = ۰.۰۰۴ دلار است. این مبلغ برای اکثر موارد ناچیز است.
curl https://api.claudeapiproxy.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "get the current server time in ISO format"}]
}'میانگین طول مکالمه خود را ردیابی کنید. پرامپتها را بهینهسازی کنید تا توکنهای ورودی کاهش یابد. این به شما کمک میکند هزینهها را به دقت پیشبینی کنید. اعتبار پیشپرداخت هرگز منقضی نمیشود، بنابراین میتوانید برای بلندمدت برنامهریزی کنید.
پرهیز از اشتباهات دوبار هزینه شدن با اعتبار پیشپرداخت
بارهای مضاعف نادر هستند اما امکانپذیرند. اگر از طریق ارز دیجیتال شارژ میکنید، مطمئن شوید که مبلغ صحیح را ارسال میکنید. API ما فقط برای استفاده واقعی توکن هزینه دریافت میکند. اشتباهات از طریق صفحه پشتیبانی اصلاح میشوند.
from openai import OpenAI
client = OpenAI(base_url="https://api.claudeapiproxy.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)- قبل از شارژ، هشهای تراکنش را بررسی کنید.
- موجودی خود را پس از هر درخواست بررسی کنید.
- خطاها را فوراً برای بازپرداخت گزارش دهید.
- سوابق تراکنشهای خود را نگه دارید.