Кеширање промптова свесно провајдера
Superdav AI Agent v1.12.0 уводи кеширање промптова свесно провајдера, које оптимизује API трошкове и кашњење кеширањем промптова код разли читих LLM провајдера. Сваки провајдер има различите механизме и конфигурације кеширања.
Преглед
Кеширање промптова вам омогућава да:
- Кеширате велике, често коришћене промптове
- Смањите API трошкове избегавањем сувишне обраде
- Побољшате кашњење за кеширане захтеве
- Експлицитно управљате животним циклусом кеша
Различити провајдери различито имплементирају кеширање:
- Google Gemini:
cachedContentsAPI - Azure OpenAI: кеширање промптова са TTL
- OpenRouter: кеширање специфично за провајдера
- Vertex Anthropic: кеширање промптова са контролом кеша
Google Gemini: cachedContents API
Google Gemini обезбеђује експлицитно управљање кешом преко cachedContents API.
Конфигурација
$config = [
'provider' => 'google-gemini',
'model' => 'gemini-2.0-flash',
'caching' => [
'enabled' => true,
'ttl' => 3600, // 1 hour in seconds
'max_tokens' => 1000000, // Max tokens to cache
],
];
Креирање кешираног промпта
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,
]
);
// Returns: ['cache_id' => 'abc123', 'expires_at' => timestamp]
Коришћење кешираног промпта
$response = $gemini->generate(
[
'cache_id' => 'abc123',
'prompt' => 'User question here',
]
);
Животни циклус кеша
// List cached contents
$caches = $gemini->list_cached_contents();
// Get cache details
$cache = $gemini->get_cached_content( 'abc123' );
// Extend cache TTL
$gemini->update_cached_content(
'abc123',
['ttl' => 7200] // Extend to 2 hours
);
// Delete cache
$gemini->delete_cached_content( 'abc123' );
Најбоље праксе за Gemini
- Подесите одговарајући TTL: Уравнотежите уштеду трошкова и застарелост кеша
- Кеширајте системске промптове: Поново користите исти системски промпт у различитим захтевима
- Пратите коришћење кеша: Пратите који кешеви се највише користе
- Очистите истекле кешеве: Периодично избришите некоришћене кешеве