تخزين التلميحات مؤقتًا

يتيح Prompt Caching تخزين بادئات الـ prompt المُعاد استخدامها مؤقتًا، مما يقلل استهلاك الـ token وزمن الاستجابة.

آلية العمل#

عندما يتضمن طلبك نظام prompt طويلًا ومُعاد استخدامه أو معلومات سياقية:

  • الطلب الأول — تُعالَج جميع الـ token بالكامل، وتُخزَّن بادئة الـ prompt مؤقتًا
  • الطلبات اللاحقة — عند إصابة التخزين المؤقت، لا تُحتسب رسوم token الجزء المُخزَّن مرة أخرى
  • انتهاء صلاحية التخزين المؤقت — للتخزين المؤقت مدة صلاحية TTL محددة (عادةً 5-10 دقائق)، وبعد انتهائها يلزم إعادة التخزين

دعم التخزين المؤقت#

تُقدَّم موارد نماذج 诺玛AI من قِبل مزودي السحابة الرسميين للنماذج مثل AWS Bedrock وAzure OpenAI وGoogle Cloud وAlibaba Cloud وVolcano Engine. والنماذج التي يدعم فيها مزود السحابة Prompt Caching يدعمها 诺玛AI أيضًا.

مزود السحابة

النموذج التمثيلي

آلية التخزين المؤقت

AWS Bedrock

سلسلة Claude

Prompt Caching أصلي

Azure OpenAI

سلسلة GPT-4o

تخزين مؤقت تلقائي

Google Cloud

سلسلة Gemini

Context Caching

Alibaba Cloud

سلسلة Qwen

تخزين مؤقت من جهة المنصة

Volcano Engine

سلسلة Doubao

تخزين مؤقت من جهة المنصة

يعتمد دعم التخزين المؤقت لنموذج معين على الوثائق الرسمية لكل مزود سحابة. ويمرر 诺玛AI المعاملات المتعلقة بالتخزين المؤقت دون الحاجة إلى إعداد إضافي.

طريقة الاستخدام#

بروتوكول OpenAI

يكون Prompt Caching في نماذج OpenAI تلقائيًا — يُفعَّل تلقائيًا عند اكتشاف بادئة prompt مكررة:

الكود
# سيتم تخزين الـ system prompt الطويل تلقائيًا
SYSTEM_PROMPT = """أنت مساعد الدعم الفني لـ 诺玛AI.

فيما يلي معلومات المنتج التي تحتاج إلى معرفتها:
- 诺玛AI هو LLM Gateway يدعم العديد من النماذج الكبيرة الرئيسية
- يدعم البروتوكولات الثلاثة الرئيسية: OpenAI / Anthropic / Gemini
- ...
(تم حذف المزيد من معرفة المنتج)
"""

# الطلب الأول: تخزين الـ system prompt مؤقتًا
response1 = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": "ما النماذج التي يدعمها 诺玛AI؟"}
    ]
)

# الطلب الثاني: إصابة التخزين المؤقت، أسرع وأرخص
response2 = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},  # إصابة التخزين المؤقت
        {"role": "user", "content": "كيف أُهيّئ أدوات التطوير؟"}
    ]
)

بروتوكول Anthropic

تدعم نماذج Anthropic التحكم الصريح في التخزين المؤقت (cache control):

توفير التكاليف#

عند إصابة التخزين المؤقت، تُحتسب رسوم الجزء المُخزَّن بسعر أقل، وتتفاوت نسبة التوفير بحسب النموذج:

  • سلسلة Anthropic Claude — توفّر ما يصل إلى 90% من تكلفة الإدخال عند الإصابة
  • سلسلة OpenAI GPT — توفّر ما يصل إلى 50% من تكلفة الإدخال عند الإصابة
  • سلسلة Google Gemini — توفّر ما بين 50-75% من تكلفة الإدخال عند الإصابة

تعتمد نسبة التوفير الفعلية على معدل الإصابة وسياسة الفوترة لكل مزود سحابة؛ راجع إحصاءات الاستخدام في لوحة تحكم 诺玛AI للاطلاع على التفاصيل.

أفضل الممارسات#

  • ضع النصوص الطويلة في المقدمة — ضع الأجزاء الثابتة مثل system prompt ومحتوى قاعدة المعرفة في بداية messages
  • حافظ على اتساق البادئة — يستلزم إصابة التخزين المؤقت تطابق البادئة تماماً
  • صمّم بنية prompt بعناية — افصل بين الأجزاء الثابتة والمتغيرة
الكود
# ✅ تصميم جيد: المحتوى الثابت أولاً، ثم المتغير
messages = [
    {"role": "system", "content": LONG_STATIC_PROMPT},   # قابل للتخزين المؤقت
    {"role": "user", "content": dynamic_question}          # الجزء المتغير
]

# ❌ تصميم سيء: المحتوى المتغير مدمج مع الثابت
messages = [
    {"role": "system", "content": f"Today is {date}. {LONG_PROMPT}"}  # يتغير يومياً، لا يمكن تخزينه مؤقتاً
]

يمكن الاطلاع على إصابة التخزين المؤقت في حقل `usage` بالاستجابة، أو من خلال إحصاءات الاستخدام في لوحة تحكم 诺玛AI لمعرفة معدل الإصابة.

آخر تحديث: 23 يونيو 2026