Descriere & Utilizare
Într-un serviciu de suport tehnic sau pe un blog cu trafic mare, peste 40% dintre întrebările utilizatorilor sunt variațiuni ale acelorași teme de bază („Cum îmi schimb parola?”, „Cum anulez comanda?”, „Care e programul de lucru?”). Trimiterea fiecărei întrebări către un LLM cloud costă bani și durează 2–3 secunde.
Caching-ul web clasic (bazat pe hash MD5 al textului exact) eșuează lamentabil: dacă utilizatorul schimbă o virgulă sau folosește un sinonim, cheia de cache nu se mai potrivește.
Caching-ul Semantic (Semantic Cache) utilizează o bază vectorială rapidă în memorie (precum Redis sau biblioteca GPTCache): vectorizează întrebarea nouă, calculează similitudinea cu întrebările anterioare din cache, iar dacă scorul depășește un prag de siguranță (de exemplu 0.90), returnează direct răspunsul precedent în mai puțin de 20 de milisecunde!
Cum să o reții ușor
💡 Este ca un funcționar cu memorie excelentă: dacă cineva îl întreabă „Cât e ceasul?” și altcineva îl întreabă peste 5 secunde „Îmi spui ora, te rog?”, nu mai sună la observatorul astronomic, ci răspunde instant din memorie.
Opțiuni și parametri tehnici
Similarity Threshold (Prag de similitudine): de obicei între 0.85 și 0.95; un prag prea mic riscă să returneze răspunsuri greșite, iar unul prea mare reduce rata de succes (hit rate).TTL (Time to Live): expirarea automată a răspunsurilor din cache după un interval de timp (ex: 7 zile) pentru a evita servirea de informații învechite.Exact Match First: verifică mai întâi potrivirea exactă în memorie RAM (latență 1ms), urmată de verificarea semantică vectorială dacă nu s-a găsit.
Exemple practice și cazuri de utilizare
- Configurare GPTCache în Python:
from gptcache import cache; cache.init(similarity_evaluation=..., data_manager=...). - Redis Semantic Cache: folosește comanda
FT.SEARCHpe un index vectorial Redis pentru găsirea răspunsului precalculat. - Economie spectaculoasă: la un volum de 100.000 cereri/zi, un hit rate de 40% economisește sute de dolari lunar și eliberează cota de rate limit.
Sfaturi de configurare & capcane
Nu folosi niciodată Semantic Caching pe întrebări care depind de timp (ex: „Care este cursul valutar azi?”) sau pe date private specifice fiecărui utilizator (ex: „Care este soldul contului meu?”) fără a include user_id în cheia de cache!
Comenzi și ghiduri înrudite
cost-latency-tracking: Resursă asociată din acest modul.concepte-vector-db: Resursă asociată din acest modul.langfuse-tracing: Resursă asociată din acest modul.