- subscription.0017/0018, payment.0013: pack plans deleted, QuestionCredit/HeartsPass models and Plan.kind / question_credits / hearts_days / Order.question_credits / hearts_days dropped. The only paid pack order was the company owner's test account (user 26). - Assistant: no credit spending; quota is the daily cap only (free 2, every plan 4, gift subscription 4). - Bazaar: verify_purchase is subscription-only (no inapp guess), start/purchase responses lose productType, verify refuses an order without a subscription. A paid order with no subscription now logs ERROR. - Removed POST /api/payment/orders (internal; no caller). Its permission tests stay. - Pack-based tests rewritten on subscriptions (refund, security, Bazaar token); pack-only test files deleted. - docs: profit table for 4/day on both payment routes plus free users; handbook, operations, CLAUDE.md current. 949 tests green. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7.0 KiB
دفترِ قیمتِ مدلها (اندازهگیریشده، نه از جدولِ قیمت)
این فایل یک دفتر است: هر بار قیمت یا مدل عوض شد، ردیفِ تازه اضافه کنید و ردیفِ قدیمی را پاک نکنید. هدف این است که اگر GapGPT یا OpenAI روزی قیمت را بالا برد، بشود دید قبلاً چه بوده، از کِی عوض شده، و هر عدد با چه آزمایشی به دست آمده.
همهی قیمتها به دلارِ آمریکا هستند. «سنت» یعنی یکصدمِ دلار. تبدیل به تومان در
docs/ai-cost-and-guardrails.md است، چون نرخِ دلار جدا از قیمتِ مدل عوض میشود.
مدلهایی که الان استفاده میشوند
| کار | مدل | تنظیم | از کِی |
|---|---|---|---|
| جوابِ دستیار (چت) | gpt-4.1-mini |
OPENAI_CHAT_MODEL |
۲۰۲۶-۰۹-۲۶ (پیش از آن gpt-4o-mini) |
| خواندنِ صفحهی کتاب (vision) | gpt-4.1-mini |
OPENAI_VISION_MODEL |
۲۰۲۶-۰۹-۲۰ |
| embedding برای Qdrant | text-embedding-3-small |
OPENAI_EMBEDDING_MODEL |
از ابتدا |
همه از راهِ GapGPT (OPENAI_BASE_URL) صدا زده میشوند. کلید با سرورِ زنده و تیمِ دیگر مشترک است.
قیمتِ هر توکن، همانطور که GapGPT واقعاً حساب کرد
| تاریخِ سنجش | مدل | ورودی (دلار / ۱ میلیون توکن) | خروجی (دلار / ۱ میلیون توکن) | مدرک |
|---|---|---|---|---|
| ۲۰۲۶-۰۹-۲۵/۲۶ | gpt-4.1-mini |
۰٫۴۰ | ۱٫۶۰ | ۵۴۱ فراخوانی (۱) |
| ۲۰۲۶-۰۹-۲۵/۲۶ | gpt-4o-mini |
۰٫۱۵ | ۰٫۶۰ | ۳۱۱ فراخوانی (۱) |
(۱) docs/benchmarks/2026-09-26-tutor-model/*.json: هر جواب promptTokens، completionTokens و
costUsd دارد، و costUsd همان usage.costی است که خودِ GapGPT برگرداند. در ۲۰۲۶-۱۰-۰۲ دوباره
حساب شد. برای gpt-4.1-mini، ۳۹۰ فراخوانی دقیقاً برابرِ (0.40 × ورودی + 1.60 × خروجی) / 1e6
بودند و ۱۵۱ فراخوانیِ دیگر (۲۸٪) ارزانتر، چون کشِ خودکارِ ورودی خورده بودند. هیچ فراخوانیای
گرانتر نبود. برای gpt-4o-mini، ۲۹۷ فراخوانی دقیقاً برابر بودند و ۱۴ فراخوانی ارزانتر.
یعنی برای این دو مدل در آن تاریخ، قیمتِ GapGPT همان قیمتِ رسمیِ OpenAI بود.
این را به همهی مدلها تعمیم ندهید: برای ورودِ کتاب، gemini-3.6-flash سه برابرِ gpt-4o تمام شد،
یعنی خلافِ چیزی که از جدولِ قیمت انتظار میرفت (docs/extraction-playbook.md، بخشِ ۱).
هزینهی هر کار (اندازهگیریشده)
| تاریخ | کار | مدل | هزینه | چطور اندازه گرفته شد |
|---|---|---|---|---|
| ۲۰۲۶-۰۹-۲۰ | خواندنِ یک صفحهی کتاب | gpt-4.1-mini |
۰٫۲۲ سنت | /dashboard/billing/usage پیش و پس از ۳ صفحه |
| ۲۰۲۶-۰۹-۲۰ | خواندنِ یک صفحهی کتاب | gpt-4o |
۰٫۷۷ سنت | همان |
| ۲۰۲۶-۰۹-۲۰ | خواندنِ یک صفحهی کتاب | gemini-3.6-flash |
۲٫۱۳ سنت | همان |
| ۲۰۲۶-۰۹-۲۰ | ساختِ یک سوالِ چهارگزینهای | o4-mini |
۰٫۷۷ سنت | همان |
| ۲۰۲۶-۰۹-۲۵ | یک جوابِ دستیار، پرامپتِ v3 | gpt-4o-mini |
۰٫۰۴۴ سنت | rag_model_benchmark |
| ۲۰۲۶-۰۹-۲۵ | یک جوابِ دستیار، پرامپتِ v3 | gpt-4.1-mini |
۰٫۱۱۶ سنت | همان |
| ۲۰۲۶-۰۹-۲۵ | یک جوابِ دستیار، پرامپتِ v3 | gpt-5-mini |
۰٫۱۷۱ سنت | همان |
| ۲۰۲۶-۰۹-۲۵ | یک جوابِ دستیار، پرامپتِ v3 | gpt-5.4-mini |
۰٫۲۹ سنت | همان |
| ۲۰۲۶-۰۹-۲۵ | یک جوابِ دستیار، پرامپتِ v3 | o4-mini |
۰٫۴۱ سنت | همان |
| ۲۰۲۶-۰۹-۲۶ | میانگینِ همهی جوابهای سنجش | gpt-4.1-mini |
۰٫۰۹۶ سنت | میانگینِ costUsdِ ۵۴۱ فراخوانی (۱) |
| ۲۰۲۶-۱۰-۰۱ | یک جوابِ دستیار، پرامپتِ tutor-v11-math-only، ۱۰۳ مسئلهی کتاب |
gpt-4.1-mini |
۰٫۱۶۲ سنت (دبستان ۰٫۱۲۹، دبیرستان ۰٫۲۲۵) | توکنِ ورودی تخمینی (۰٫۳۸۷ توکن به ازای هر حرف)، خروجی از جوابِ واقعی، ضربدر قیمتِ بالا |
| ۲۰۲۶-۱۰-۰۱ | یک سوالِ زنده در اپ (۱۲ سوال) | gpt-4.1-mini |
۰٫۲۲۵ سنت | فراخوانیِ واقعی |
| ۲۰۲۶-۱۰-۰۴ | یک جوابِ دستیار در لودتستِ سرورِ زنده (۵۰ جواب، استریم، سوالهای تصادفیِ بانکِ سوالِ ده پایه) | gpt-4.1-mini |
۰٫۱۸۳ سنت (میانگین: ۳٬۱۸۱ توکنِ ورودی، ۳۴۸ خروجی) | prompt_tokens/completion_tokensِ ذخیرهشده روی پیامها ضربدر قیمتِ بالا؛ داشبوردِ GapGPT خوانده نشد |
عددِ برنامهریزیِ قیمتگذاری ۰٫۲۰ سنت برای هر سوالِ دستیار است و حدودِ ۷۰٪ِ آن ورودی است.
هزینهی embedding جدا اندازه گرفته نشده است. قیمتِ رسمیِ text-embedding-3-small بسیار کمتر از
چت است، ولی این را روی GapGPT نسنجیدهایم.
وقتی قیمت عوض شد یا شک کردید
۱. هزینهی واقعیِ اپ، بیخرج: از ۲۰۲۶-۱۰-۰۱ هر جوابِ دستیار prompt_tokens و
completion_tokens را روی ai_tutor.Message ذخیره میکند. جمعِ توکنهای یک بازه را در قیمتِ
این فایل ضرب کنید (پرسوجو در docs/ai-cost-and-guardrails.md).
۲. قیمتِ امروزِ GapGPT، با چند سنت: یک سوالِ کوتاه بفرستید و usage.cost را با
(ورودی × قیمتِ ورودی + خروجی × قیمتِ خروجی) / 1e6 مقایسه کنید. اگر نخواند، قیمت عوض شده است.
موجودی را پیش و پس با /dashboard/billing/usage بسنجید (rag_model_benchmark._usage_cents)؛
این تنها عددِ قابلِ اتکاست، چون hard_limit_usd موجودی نیست.
۳. ردیفِ تازه اضافه کنید، با تاریخ، مدل، عدد و مدرک. ردیفِ قدیمی را نگه دارید. اگر قیمتِ
دستیار عوض شد، سقفِ روزانهی اشتراکها (Plan.ai_daily_quota) را هم دوباره بسنجید: سهمِ هزینه از درآمدِ هر
اشتراک در docs/ai-cost-and-guardrails.md با همین عددها حساب شده است.