كيف يعمل التخزين المؤقت
يعمل التخزين المؤقت على مطابقة البادئات: يخزن النظام الـ tokens المعالجة ويعيد استخدامها عندما تبدأ الطلبات اللاحقة بنفس المحتوى. ضع في اعتبارك chatbot بـ system prompt مكون من 2,000 token:الطلب 1
System prompt (2,000 token) + رسالة المستخدم (50 token)معالجة: 2,050 token · من الذاكرة المؤقتة: 0 tokenالبادئة مكتوبة في الذاكرة المؤقتة.
الطلب 2
System prompt (2,000 token) + رسالة المستخدم (80 token)معالجة: 80 token · من الذاكرة المؤقتة: 2,000 token
النماذج المدعومة والتسعير
Loading…
يفرض Claude Opus 4.5 سعرًا مميزًا لكتابات الذاكرة المؤقتة ($7.50/1M token مقابل $6.00 للإدخال العادي). الطلب الأول الذي يملأ الذاكرة المؤقتة يكلف أكثر، لكن إصابات الذاكرة المؤقتة اللاحقة توفر 90%. النماذج الأخرى لا تفرض رسومًا إضافية لكتابات الذاكرة المؤقتة.
السلوك الخاص بكل مزود
تُطبّع Venice التخزين المؤقت عبر المزودين. بالنسبة لمعظم النماذج، التخزين المؤقت تلقائي. فقط أرسل طلباتك وتحقق من الاستجابة للحصول على إحصائيات الذاكرة المؤقتة. يتطلب Claude علامات ذاكرة مؤقتة صريحة على مستوى البروتوكول، لكن Venice يضيفها تلقائيًا لـ system prompts وتاريخ المحادثة. سلوك التخزين المؤقت يتم التحكم فيه في النهاية من قبل كل مزود وقد يتغير، لذا تحقق من مستندات المزود للحصول على آخر التفاصيل.| النموذج | المزود | الحد الأدنى للـ Tokens | عمر الذاكرة المؤقتة | تكلفة الكتابة | خصم القراءة | علامات صريحة |
|---|---|---|---|---|---|---|
| Claude Opus 4.5 | Anthropic | ~4,000 | 5 دقائق | +25% | 90% | مطلوبة |
| GPT-5.2 | OpenAI | 1,024 | 5-10 دقائق | لا شيء | 90% | غير مطلوبة |
| Gemini | ~1,024 | ساعة واحدة | لا شيء | 75-90% | غير مطلوبة | |
| Grok | xAI | ~1,024 | 5 دقائق | لا شيء | 75-88% | غير مطلوبة |
| DeepSeek | DeepSeek | ~1,024 | 5 دقائق | لا شيء | 50% | غير مطلوبة |
| MiniMax | MiniMax | ~1,024 | 5 دقائق | لا شيء | 90% | غير مطلوبة |
| Kimi | Moonshot | ~1,024 | 5 دقائق | لا شيء | 50% | غير مطلوبة |
Claude Opus 4.5 (Anthropic)
يتطلب Claude نقاط فاصلة صريحة للذاكرة المؤقتة على مستوى البروتوكول. تتعامل Venice مع هذا تلقائيًا:- يتم تخزين System prompts تلقائيًا
- يتم تخزين تاريخ المحادثة بوضع نقطة فاصلة على رسالة المستخدم قبل الأخيرة
| الدور | Prompt Tokens | قراءة الذاكرة المؤقتة | كتابة الذاكرة المؤقتة | التوفير |
|---|---|---|---|---|
| 1 | 10,979 | 0 | 10,938 | أول كتابة |
| 2 | 11,031 | 10,938 | 31 | 99.7% مخزَّن |
| 3 | 11,062 | 10,969 | 52 | 99.5% مخزَّن |
- حتى 4 نقاط فاصلة لكل طلب: يستخدم النظام أطول بادئة متطابقة
- مفتاح الذاكرة المؤقتة دقيق بايتيًا: تغييرات المسافات البيضاء، أو ترميزات الصور المختلفة، أو إعادة ترتيب الأدوات يكسر إصابات الذاكرة المؤقتة
- حدود معدلات تراعي الذاكرة المؤقتة: الـ tokens المخزَّنة لا تحتسب ضد حد ITPM الخاص بك، مما يتيح إنتاجية فعالة أعلى
- علاوة كتابة 25%: الطلب الأول يكلف أكثر، لكن توفير 90% على القراءات اللاحقة
التحكم اليدوي بالذاكرة المؤقتة
للحالات الخاصة مثل تخزين مستند كبير في الدور الأول، يمكنك إضافة نقاط فاصلة صريحة:جميع النماذج الأخرى
التخزين المؤقت تلقائي. لا حاجة لمعاملات خاصة. فقط تأكد من أن الـ prompts تتجاوز ~1,024 token واستخدمprompt_cache_key للتوجيه المتسق.
معاملات الطلب
| المعامل | النوع | النماذج | الوصف |
|---|---|---|---|
prompt_cache_key | string | الكل | تلميح توجيه لتقارب الذاكرة المؤقتة. الطلبات بنفس المفتاح من المرجح أكثر أن تصيب نفس الخادم بذاكرة مؤقتة دافئة. |
cache_control | object | Claude | تحدد كتل المحتوى للتخزين المؤقت. انظر قسم Claude Opus 4.5. |
prompt_cache_key
للمحادثات أو سير عمل الوكلاء، استخدمprompt_cache_key متسق لتحسين معدلات إصابات الذاكرة المؤقتة:
حقول الاستجابة
يتضمن كائنusage في الاستجابة إحصائيات الذاكرة المؤقتة:
| الحقل | الوصف |
|---|---|
prompt_tokens | إجمالي input tokens في الطلب |
prompt_tokens_details.cached_tokens | Tokens المقدَّمة من الذاكرة المؤقتة (تُفوتر بسعر مخفض) |
prompt_tokens_details.cache_creation_input_tokens | Tokens المكتوبة في الذاكرة المؤقتة (قد تتكبد علاوة على Claude) |
- 5000 token مخزَّن × $0.60/1M = $0.003
- 500 token غير مخزَّن × $6.00/1M = $0.003
- الإجمالي: $0.006 (مقابل $0.033 بدون تخزين مؤقت، توفير 82%)
أفضل الممارسات
هيكلة الـ prompts للتخزين المؤقت
ضع المحتوى الثابت في البداية، والمحتوى الديناميكي في النهاية. هيكلة جيدة| الموضع | المحتوى | مخزَّن؟ |
|---|---|---|
| 1 | تعليمات النظام | نعم |
| 2 | المستندات المرجعية | نعم |
| 3 | أمثلة Few-shot | نعم |
| 4 | استعلام المستخدم | لا |
| الموضع | المحتوى | مخزَّن؟ |
|---|---|---|
| 1 | الطابع الزمني الحالي | لا (يبطل كل شيء بعده) |
| 2 | تعليمات النظام | لا |
| 3 | استعلام المستخدم | لا |
حافظ على البادئات متطابقة بايتيًا
تُحسب مفاتيح الذاكرة المؤقتة من تسلسلات بايتات دقيقة. حتى الاختلافات التافهة تكسر إصابات الذاكرة المؤقتة:- مسافات بيضاء أو أسطر جديدة مختلفة
- طوابع زمنية أو معرفات طلب في الـ prompts
- ترتيب عشوائي لأمثلة few-shot
- تنسيقات مختلفة لنفس المحتوى
اجتز عتبات الحد الأدنى من الـ tokens
إذا كانت prompts أقل من الحد الأدنى (عادةً 1,024 token)، فلن يتم تنشيط التخزين المؤقت. للـ prompts الصغيرة، فكر في:- إضافة المزيد من السياق أو الأمثلة للوصول إلى العتبة
- تجميع طلبات صغيرة متعددة في prompts مجمعة
- قبول أن التخزين المؤقت لن يطبَّق للاستعلامات البسيطة
استخدم prompt_cache_key للمحادثات
للمحادثات الجارية، عيّنprompt_cache_key متسق:
راقب أداء الذاكرة المؤقتة
تتبع هذه المقاييس:- معدل إصابة الذاكرة المؤقتة:
cached_tokens / prompt_tokens - توفير التكلفة: قارن التكلفة الفعلية بالتكلفة دون تخزين مؤقت
- تقليل زمن الاستجابة: الوقت حتى أول token مع إصابات الذاكرة المؤقتة مقابل بدونها
cached_tokens صفرًا باستمرار:
- قد تكون الـ prompts أقل من الحد الأدنى لعدد الـ tokens
- قد تتغير الـ prompts بين الطلبات
- قد تصيب الطلبات خوادم مختلفة (استخدم
prompt_cache_key) - قد تكون الذاكرة المؤقتة قد انتهت صلاحيتها (الطلبات نادرة جدًا)
ضع في الاعتبار اقتصاديات الذاكرة المؤقتة
علاوة كتابة الذاكرة المؤقتة لـ Claude Opus 4.5: الطلب الأول يكلف 25% أكثر، لكن توفير 90% على القراءات اللاحقة.| السيناريو | هل تستحق علاوة كتابة الذاكرة المؤقتة؟ |
|---|---|
| طلب واحد بهذا الـ prompt | لا (تدفع 25% أكثر، بدون فائدة) |
| 2+ طلبات بنفس البادئة | نعم (التعادل عند الطلب الثاني) |
| Prompts تتغير بسرعة | لا (تكاليف كتابة ثابتة) |
| system prompt مستقر، استعلامات كثيرة | نعم (مُستهلَك عبر قراءات كثيرة) |
عمر الذاكرة المؤقتة
تنتهي صلاحية الذاكرات المؤقتة بعد فترة من عدم النشاط (عادةً 5-10 دقائق). هذا يعني:| نمط حركة المرور | فائدة التخزين المؤقت |
|---|---|
| طلبات مستمرة (< 5 دقائق فجوات) | عالية: الذاكرة المؤقتة تبقى دافئة |
| حركة مرور متقطعة (فجوات > 10 دقائق) | محدودة: الذاكرة المؤقتة تنتهي بين الموجات |
| طلبات متفرقة (ساعات بينها) | لا شيء: الذاكرة المؤقتة دائمًا باردة |
التخزين المؤقت مع الأدوات والوظائف
يمكن تخزين تعريفات الوظائف مع system prompts:التخزين المؤقت مع الصور والمستندات
لنماذج الرؤية، يمكن تضمين الصور في المحتوى المخزَّن:استكشاف الأخطاء وإصلاحها
cached_tokens دائمًا 0
cached_tokens دائمًا 0
| السبب | الحل |
|---|---|
| Prompt قصير جدًا | تأكد من أن الـ prompt يتجاوز ~1,024 token (4,000 لـ Claude) |
| تغيرت البادئة | تحقق من وجود محتوى ديناميكي في بداية الـ prompt |
| الطلب الأول | متوقع: الطلب الأول يكتب في الذاكرة المؤقتة، الطلبات اللاحقة تقرأ |
| انتهت صلاحية الذاكرة المؤقتة | قلل الوقت بين الطلبات إلى أقل من 5 دقائق |
| خوادم مختلفة | أضف prompt_cache_key لتوجيه الطلبات بشكل متسق |
cache_creation_input_tokens في كل طلب
cache_creation_input_tokens في كل طلب
| السبب | الحل |
|---|---|
| الـ prompt يتغير | أزل الطوابع الزمنية أو معرفات الطلب أو أي محتوى ديناميكي آخر من البادئة |
| cache_control مفقود | لـ Claude، تأكد من وجود علامة cache_control على كتل المحتوى |
| أقل من العتبة | الـ prompts أقل من الحد الأدنى لعدد الـ tokens لا تُحفز التخزين المؤقت |
| رسالة مستخدم وحيدة | متوقع للدور الأول. تنمو الذاكرة المؤقتة مع تاريخ المحادثة. |
تكاليف أعلى من المتوقع
تكاليف أعلى من المتوقع
| السبب | الحل |
|---|---|
| علاوة كتابة الذاكرة المؤقتة | يفرض Claude 25% أكثر للكتابات. تستحق فقط إذا كنت تعيد استخدام الـ prompt. |
| إعادة استخدام منخفضة | إذا كان كل prompt فريدًا، تدفع تكاليف الكتابة دون فوائد القراءة |
| هيكلة سيئة للـ prompt | انقل المحتوى الديناميكي إلى النهاية لتبقى البادئة مستقرة |