التخزين المؤقت للموجهات الواعي بالمزود
يقدم Superdav AI Agent v1.12.0 ميزة التخزين المؤقت للموجهات الواعي بالمزود (provider-aware prompt caching)، والتي تعمل على تحسين تكا ليف واجهة برمجة التطبيقات (API) وزمن الوصول (latency) عن طريق تخزين الموجهات مؤقتًا عبر مختلف مزودي نماذج اللغة الكبيرة (LLM). يمتلك كل مزود آليات وتكوينات تخزين مؤقت مختلفة.
نظرة عامة
يسمح لك التخزين المؤقت للموجهات بما يلي:
- تخزين الموجهات الكبيرة والمستخدمة بشكل متكرر.
- تقليل تكاليف الـ API عن طريق تجنب المعالجة المكررة.
- تحسين زمن الوصول للطلبات المخزنة مؤقتًا.
- إدارة دورة حياة التخزين المؤقت بشكل صريح.
تنفذ المزوّدات المختلفة التخزين المؤقت بطرق مختلفة:
- Google Gemini: واجهة
cachedContentsAPI. - Azure OpenAI: التخزين المؤقت للموجهات مع فترة صلاحية (TTL).
- OpenRouter: التخزين المؤقت الخاص بكل مزود.
- Vertex Anthropic: التخزين المؤقت للموجهات مع التحكم في التخزين المؤقت (cache control).
Google Gemini: واجهة cachedContents API
توفر Google Gemini إدارة صريحة للتخزين المؤقت عبر واجهة cachedContents API.
التكوين (Configuration)
$config = [
'provider' => 'google-gemini',
'model' => 'gemini-2.0-flash',
'caching' => [
'enabled' => true,
'ttl' => 3600, // ساعة واحدة بالثواني
'max_tokens' => 1000000, // الحد الأقصى للرموز للتخزين المؤقت
],
];
إنشاء موجه مخزن مؤقتًا (Creating a Cached Prompt)
use Superdav\AI\Providers\GoogleGemini;
$gemini = new GoogleGemini( $config );
$cached_content = $gemini->create_cached_content(
[
'system_prompt' => 'You are a helpful assistant...',
'context' => 'Large context document...',
'ttl' => 3600,
]
);
// يعيد: ['cache_id' => 'abc123', 'expires_at' => timestamp]
استخدام موجه مخزن مؤقتًا (Using a Cached Prompt)
$response = $gemini->generate(
[
'cache_id' => 'abc123',
'prompt' => 'User question here',
]
);