Skip to content

v1.1.0 — Graph-Aware KV Cache Eviction

Choose a tag to compare

@wizzense wizzense released this 03 Apr 20:17
· 14 commits to main since this release

What's New

KVCacheGraph + GraphEvictionAdvisor

Graph-informed KV cache eviction and prefetch. Zero external dependencies beyond the base package.

from aither_kvcache import KVCacheGraph, GraphEvictionAdvisor

graph = KVCacheGraph(protected_sources={"system"})
advisor = GraphEvictionAdvisor(graph)
advisor.start()

# Hot decode path — lock-free:
candidates = advisor.get_eviction_candidates(n=16)
  • KVCacheGraph: relationship graph over physical KV cache blocks with 5 edge types (prefix_share, co_attend, semantic, temporal, spill_link)
  • GraphEvictionAdvisor: background thread pre-computes eviction rankings every 500ms — zero lock contention on decode path
  • Configurable protected_sources — system prompt blocks are structurally excluded from eviction
  • Predictive prefetch from cold tier based on graph neighbor proximity
  • 43 new tests (157 total)

Module Rename

Import path changed from turboquant to aither_kvcache to match the package name:

# Before (broken):
from turboquant import TurboQuant

# After (correct):
from aither_kvcache import TurboQuant

Full Changelog: v1.0.0...v1.1.0