0Pricing
AI Agents · درس

تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex)

يخفض التخزين المؤقت للمطالبات في Anthropic وVertex تكلفة الإدخال عشرة أضعاف للمطالبات النظامية الطويلة والمتكررة.

تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex) درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

لماذا التخزين المؤقت؟

تكون العديد من استدعاءات الوكيل متطابقة تقريبًا: مطالبة النظام نفسها، وأمثلة few-shot نفسها، مع اختلاف إدخال المستخدم. ومن دون التخزين المؤقت، تعيدون معالجة الأجزاء الثابتة في كل استدعاء.

يمكن أن يخفض التخزين المؤقت تكلفة رموز الإدخال بمقدار عشرة أضعاف.

نوعا التخزين المؤقت

  1. التخزين المؤقت للمطالبة (على جانب الخادم) — يخزّن المزوّد حالة KV للنموذج للبادئات المتكررة
  2. التخزين المؤقت للنتائج (على جانب العميل) — يخزّن الكود لديكم الاستجابات الكاملة للمدخلات المتطابقة

التخزين المؤقت لمطالبات Anthropic

حدّدوا الأجزاء القابلة للتخزين المؤقت باستخدام cache_control:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    system=[
        {'type': 'text', 'text': LONG_SYSTEM_PROMPT, 'cache_control': {'type': 'ephemeral'}}
    ],
    messages=[{'role': 'user', 'content': user_input}]
)
# 1st call: full price
# 2nd call within 5min: 10% of input cost

نسبة نجاح التخزين المؤقت

تحققوا من كائن استخدام الاستجابة:

response.usage.cache_creation_input_tokens   # tokens cached this call
response.usage.cache_read_input_tokens       # tokens read from cache

ما الذي ينبغي تخزينه مؤقتًا

  • مطالبات النظام التي يزيد طولها على 1k رمز مميز
  • تعريفات الأدوات
  • أمثلة few-shot
  • سياق RAG المشترك بين الاستعلامات، وهو أمر نادر

موضع علامات التخزين المؤقت

يجب وضع عنصر التحكم في التخزين المؤقت على الكتلة الثابتة الأخيرة. يُخزَّن مؤقتًا كل ما يسبق العلامة. ضعوا المحتوى المستقر في البداية، والمحتوى المتغير في النهاية.

التخزين المؤقت لمطالبات OpenAI

تخزّن OpenAI تلقائيًا المطالبات التي يزيد طولها على 1024 رمزًا مميزًا. ولا توجد علامة صريحة:

# Just send the same prefix repeatedly. Cache discount applies automatically.
# Check response.usage.prompt_tokens_details.cached_tokens

التخزين المؤقت للسياق في Vertex AI

تتطلب Google Vertex إنشاء كائن تخزين مؤقت صراحةً:

from vertexai.generative_models import GenerativeModel, content_cache

cache = content_cache.CachedContent.create(
    model='gemini-1.5-pro',
    contents=[long_system_content],
    ttl=300
)
model = GenerativeModel.from_cached_content(cache)
response = model.generate_content(user_input)

التخزين المؤقت للنتائج على جانب العميل

بالنسبة إلى الاستعلامات المطابقة تمامًا، أي التي لها الإدخال نفسه والإخراج المتوقع نفسه، استخدموا ذاكرة تخزين مؤقت بمفتاح وقيمة:

import hashlib

def cache_key(model, messages):
    return hashlib.sha256(f'{model}:{json.dumps(messages)}'.encode()).hexdigest()

def cached_call(model, messages):
    key = cache_key(model, messages)
    if cached := redis.get(key):
        return json.loads(cached)
    result = real_call(model, messages)
    redis.set(key, json.dumps(result), ex=3600)
    return result

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

استخدموا التضمينات لتخزين الاستعلامات المتشابهة، لا المتطابقة، مؤقتًا:

qvec = embed(query)
matches = vector_db.query(qvec, k=1)
if matches and matches[0].score > 0.95:
    return matches[0].metadata['cached_response']

إبطال التخزين المؤقت

تعيد ذاكرات التخزين المؤقت القديمة إجابات خاطئة. ومن الاستراتيجيات المتاحة:

  • TTL — مدة قصيرة للبيانات الحساسة للوقت
  • الإبطال اليدوي عند تحديث البيانات
  • مفاتيح خاصة بكل مستخدم، بحيث تؤثر التحديثات في مستخدم واحد فقط

لا تخزّنوا الاستجابات المخصصة مؤقتًا

لا يمكن تخزين إجابة «ما رصيدي؟» مؤقتًا بين المستخدمين. توخّوا الحذر عند استخدام ذاكرات تخزين مؤقت مشتركة في الأنظمة متعددة المستأجرين.

تكلفة التخزين المؤقت مقابل تكلفة LLM

تُعد تكلفة Redis ضئيلة مقارنةً بتكلفة LLM. استخدموا التخزين المؤقت بكثافة، فحتى نسبة نجاح تبلغ 10% توفر مالًا حقيقيًا.

الوفر في العالم الحقيقي

مع مطالبات نظام مشتركة وطويلة والتخزين المؤقت للمطالبات، تشهد الفرق عادةً انخفاض تكلفة الإدخال بنسبة 50-90% في الإنتاج. وهذا من التحسينات الأعلى عائدًا على الاستثمار.

تفعيل التخزين المؤقت في Anthropic

كيف يمكنكم تفعيل التخزين المؤقت للمطالبات باستخدام Anthropic؟

مراجعة

التخزين المؤقت للمطالبات على جانب الخادم للبادئات الثابتة؛ وذاكرة KV مؤقتة على جانب العميل للمطابقة التامة؛ والتخزين المؤقت الدلالي للمطابقة التقريبية. تحققوا دائمًا من نسب النجاح والوفورات.

الأسئلة الشائعة

هل درس «تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex)» مجاني؟

نعم — نص درس «تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex)»؟

يخفض التخزين المؤقت للمطالبات في Anthropic وVertex تكلفة الإدخال عشرة أضعاف للمطالبات النظامية الطويلة والمتكررة. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex)»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ميزانيات الرموز لكل خطوة
  2. توجيه النماذج (من الأرخص إلى الأغلى)
  3. تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex)
  4. التكميم وفك الترميز التخمني
← العودة إلى AI Agents