Co je semanticke cachovanie?
Semanticke cachovanie rozsiruje tradicne cachovanie o dimenziu vyznamovej podobnosti. Klasicke cache systemy vracia kesirovanu odpoved len pre exaktnu zhodu klucu. Semanticke cache pouziva vektorove embeddingy a similarity search: ak je novy dotaz dostatocne podobny (nad nastaveny threshold kosinusovej podobnosti) niektoremu zaznamu v cache, vracia sa cachована odpoved bez volania LLM.
To je klucove pri LLM aplikaciach, kde rozni pouzivatelia casto pokładaju semanticky rovnake otazky rozne formulovane.
Architektura implementacie
Implementacia zahrnuje embedding vrstvu (kazdy dotaz sa enkoduje), vektora databazu pre efektivny similarity search (Qdrant, Redis Vector, Chroma) a threshold logiku – nastavenie prahowej hodnoty podobnosti je kriticke: prilis nizka hodnota vracia semanticky nepresne odpovede, prilis vysoka eliminuje vyhody cache.
GPTCache je popularna open source kninica implementujuca semanticke cachovanie pre LLM aplikacie.
Vyhody a nevyhody
Pri aplikaciach s vysokym podielom opakovanych alebo podobnych dotazov moze semanticke cachovanie znizit LLM naklady o 30-70 percent a dramaticky skratit lateniu. Nevyhody zahrnaju pridane lateniu prvotneho dotazu (embedding + search), naklady na udrzbu cache (exspiracna logika, invalidacia po zmene modelu) a riziko vrаtenia mierne nehorodyhodnej odpovede pri prilis vseobecnom threshold.