RAG والبياناتدليل
كم يكلف سؤال RAG: كم عدد القطع التي يجب إرسالها
قدّر التوكنات في سؤال RAG واحد، وشاهد تكلفة 1,000 و100,000 سؤال بأسعار حية، واختر عدد القطع الذي يناسب ميزانيتك.

في هذه الصفحة
روبوت المستندات الخاص بك يعمل، وتصل الفاتورة الأولى، وهي أكبر مما تستحقه الأسئلة. في كل إعداد RAG تقريبًا تذهب التكلفة إلى مكان واحد: القطع المسترجعة التي تلصقها أمام كل سؤال. سؤال RAG واحد يستهلك توكنات السؤال والتعليمات وN قطعة في جانب الإدخال، بالإضافة إلى إجابة قصيرة في جانب الإخراج. القطع هي الجزء الذي تتحكم فيه، وكل قطعة تضيف نفس عدد التوكنات إلى كل طلب.
هذا الدليل يحسب طلبًا واحدًا، ويسعّر 1,000 و100,000 طلب بأسعار حية، ويوضح ما يتغير عند نقل top-k من 3 إلى 10. الاسترجاع نفسه (مخزن المتجهات الخاص بك، وتقسيمك للقطع) يبقى على جانبك؛ فقط استدعاء التوليد النهائي يذهب إلى واجهة برمجة النماذج. إذا كانت فاتورة الإدخال والإخراج جديدة عليك، ابدأ بـ توكنات الإدخال مقابل الإخراج.
ما الذي يدخل في طلب RAG واحد#
لنفترض أنك تشغل روبوت دعم على مستندات الشركة. يسأل عميل: "كيف أعيد تعيين تسجيل الدخول الثنائي؟"، ويعيد المسترجع أفضل خمس مقاطع، وترسل هذا إلى النموذج:
- موجه نظام: "أجب فقط من السياق. إذا لم يكن موجودًا، قل ذلك." — حوالي 300 توكن بعد إضافة قواعد التنسيق؛
- السؤال مع قليل من سياق المحادثة — حوالي 200 توكن؛
- 5 قطع بحوالي 500 توكن لكل منها — 5 × 500 = 2,500 توكن؛
- الإجابة: فقرتان أو ثلاث قصيرة — حوالي 300 توكن إخراج.
جانب الإدخال هو 2,500 + 300 + 200 = 3,000 توكن، وجانب الإخراج حوالي 300. هذه افتراضات المؤلف لروبوت دعم نموذجي؛ استبدلها بأرقامك. كل ما يلي يستخدم هذا الطلب الواحد كوحدة.
الطريقة السريعة لرؤية الشكل: القطع تشكل حوالي خمسة أسداس الإدخال بأكمله، والإدخال عشرة أضعاف الإجابة. جرّب التقدير بنفسك:
خمّن الرقم
كم عدد توكنات الإدخال التي يرسلها الطلب أعلاه؟
تخمينك
010,000
إظهار الإجابة
الإجابة: 3,000
3,000: 5 قطع × 500 = 2,500، بالإضافة إلى 300 لموجه النظام و200 للسؤال. القطع هي المهيمنة.
تكلفة 1,000 سؤال#
طلب واحد صغير جدًا لتشعر به، لذا قم بقياسه. مع 3,000 توكن إدخال و300 إخراج، ترسل 1,000 سؤال 3,000,000 توكن إدخال وتولد 300,000 توكن إخراج. اسحب أشرطة التمرير أدناه لتطابق روبوتك؛ يعيد الموقع الحساب بأسعار حية لكل نموذج.
حاسبة التكلفة
يوم واحد من روبوت دعم
رموز الإدخال لكل طلب: 3,000 · رموز الإخراج لكل طلب: 300 · الطلبات يوميًا: 1,000
| النموذج | يوميًا | شهريًا |
|---|---|---|
| GLM-5.3-Flash$0.02$0.04 | $0.072 | $2.16 |
| DeepSeek-V4-Flash$0.015$0.10 | $0.075 | $2.25 |
| MiniMax-M2.7$0.05$0.15 | $0.195 | $5.85 |
يعرض الجدول نفس عبء العمل لجميع النماذج الثلاثة، مع مرجع OpenRouter بجانبه. محسوبًا بالإجمالي، مع الإدخال والإخراج معًا، يخرج كل منها أرخص من OpenRouter هنا.
| النموذج | الإدخال $/1M | الإخراج $/1M | لكل طلب | 1,000 طلبات | OpenRouter، 1,000 طلبات |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000072 | $0.072 | $0.147 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000075 | $0.075 | $0.19 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0002 | $0.195 | $1.26 |
3,000 رمز إدخال و300 رمز إخراج لكل طلب. الأسعار لكل مليون رمز حالية وتتغير مع تعريفاتنا؛ يعرض عمود OpenRouter أسعارًا مرجعية لنفس حجم العمل.
وعند 100,000 سؤال؟ هذا 300,000,000 توكن إدخال و30,000,000 إخراج. على DeepSeek-V4-Flash هذا $7.50، وعلى GLM-5.3-Flash $7.20، وعلى MiniMax-M2.7 $19.50. الأسعار ثابتة لكل نموذج، بدون ساعات ذروة، لذا تكلفة دفعة ليلية ومحادثة نهارية هي نفسها لكل توكن. راجع قائمة الأسعار الكاملة على صفحة الأسعار.
Top-k: كل قطعة تضيف نفس المقدار#
إليك السيناريو الثاني: مساعد ويكي داخلي. يقترح شخص ما: "لنرسل 10 قطع بدلاً من 3، احتياطًا." ينمو الإدخال في خط مستقيم: كل قطعة هي 500 توكن إضافية في كل طلب.

2,000 مقابل 5,500 توكن: الإجابة بنفس الطول، لذا الفرق كله في فاتورة مساعد الويكي هو الإدخال. ما إذا كان ذلك يشتري لك إجابة أفضل هو سؤال جودة: بعد النقطة التي يكون فيها المقطع الصحيح موجودًا بالفعل في السياق، تضيف القطع الإضافية في الغالب ضوضاء وتكلفة. طريقة عملية لاختيار k هي أخذ مجموعة من الأسئلة الحقيقية، والتحقق عند أي k يظهر المقطع الصحيح، والتوقف فوق ذلك بقليل.
نافذة السياق هي الحد الآخر. جميع النماذج الثلاثة هنا لديها مساحة كبيرة لـ top-k العادي: 180K توكن لـ MiniMax-M2.7، و380K لـ DeepSeek-V4-Flash و390K لـ GLM-5.3-Flash. تختلف حدود الإخراج: حتى 8,192 توكن لكل إجابة لـ GLM-5.3-Flash وMiniMax-M2.7، وحتى 32,768 لـ DeepSeek-V4-Flash، وهذا مهم إذا كانت إجاباتك تقارير طويلة بدلاً من ردود قصيرة.
اختر حالتك
ما هي حالة RAG الخاصة بك؟
اختر خيارًا لعرض الإجابة
إجابات قصيرة من بضع قطع
روبوت دعم أو أسئلة شائعة مع top-k من 3–6 وإجابات من بضع مئات من التوكنات تناسب أيًا من النماذج الثلاثة. اختر حسب الجودة على أسئلتك، ثم دع جدول التكلفة أعلاه يقرر.
إجابات طويلة وملخصات
إذا كانت الإجابات تصل إلى آلاف التوكنات، يسمح DeepSeek-V4-Flash بما يصل إلى 32,768 توكن إخراج لكل إجابة وسياق 380K.
مستندات كثيرة لكل طلب
إذا كنت تريد دمج مقاطع كثيرة أو أقسام كاملة، فإن GLM-5.3-Flash لديه أكبر سياق من الثلاثة، 390K.
المستند كله في الموجه، أم أربع قطع#
السيناريو الثالث: أسئلة وأجوبة العقود. النسخة الكسولة تلصق ملف PDF كامل بـ 30,000 توكن في كل سؤال. نسخة الاسترجاع ترسل السؤال والتعليمات وأربع قطع ذات صلة بحوالي 650 توكن لكل منها، أي حوالي 3,000 توكن إجمالاً. نفس 1,000 سؤال، ونفس إجابات 300 توكن:
المستند الكامل يرسل عشرة أضعاف الإدخال، 30,000 ÷ 3,000 = 10، لنفس السؤال. لا يزال منطقيًا لسؤال واحد لمرة واحدة حول مستند يتناسب مع السياق. بالنسبة لروبوت يجيب طوال اليوم، فهو الخيار الافتراضي المكلف. إذا كان الكثير من هذا الإدخال هو نفس النص في كل مرة، اقرأ عن التخزين المؤقت للموجه.
أرسل الطلب#
أدناه خطوة التوليد. جزء الاسترجاع لك: chunks هو ما أعاده مخزن المتجهات الخاص بك. نفس الكود يعمل مع OpenAI SDK أو curl العادي.
اطرح سؤالاً مع القطع المسترجعة
Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key="YOUR_CHEAPTOKENS_KEY",
)
chunks = ["Chunk 1 text...", "Chunk 2 text...", "Chunk 3 text..."]
context = "\n\n---\n\n".join(chunks)
resp = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
max_tokens=400,
messages=[
{"role": "system", "content": "Answer only from the context. If the answer is not there, say so."},
{"role": "user", "content": f"Context:\n{context}\n\nQuestion: How do I reset two-factor login?"},
],
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)curl
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer YOUR_CHEAPTOKENS_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"max_tokens": 400,
"messages": [
{"role": "system", "content": "Answer only from the context. If the answer is not there, say so."},
{"role": "user", "content": "Context:\nChunk 1...\n\nQuestion: How do I reset two-factor login?"}
]
}'السطر الأخير من مثال Python هو المفيد. usage. هو إدخالك الحقيقي لكل سؤال؛ قارنه بتقدير 3,000 واستبدل افتراضاتي بأرقامك. استخدم معرف النموذج الكامل، كما في المثال: deepseek-. المعرفات مدرجة في الوثائق. الإعداد الكامل في الوثائق، وإذا كنت تريد رؤية كيف تتراكم توكنات روبوت عبر حوار، فإن لماذا تكلف محادثة طويلة أكثر يغطي جزء السجل.
أربع طرق لتقليص الإدخال#
ابدأ بـ max_tokens، الذي يحدد الإجابة ويحميك من رد جامح. ثم قلل k إلى أصغر قيمة لا تزال تجد المقطع الصحيح. اجعل القطع أكثر إحكامًا، بحيث تحمل 500 توكن 500 توكن من المعنى وليس رؤوسًا ونصوصًا متكررة. أسقط القطع المكررة قبل الإرسال: مقطعان متطابقان تقريبًا يكلفان ضعفًا ويقولان مرة واحدة. وقس باستخدام usage على حركة المرور الحقيقية، لأن التخمين حول قطع 500 توكن هو مجرد تخمين. لنظرة أوسع على أين تذهب التوكنات في استدعاء API، راجع كم عدد التوكنات التي يستخدمها الطلب.
ضع توكناتك لكل طلب في الحاسبة أعلاه لتسعير روبوتك على النماذج الثلاثة؛ إذا كانت إجاباتك طويلة، فإن DeepSeek-V4-Flash هو أول ما يجب النظر إليه.



