CacheVerifier vs vCache

vCache is a research semantic cache that learns a per-prompt threshold with a formal error bound. CacheVerifier keeps the cache you already run and adds a verification step. Same goal — reliable cache hits — reached two different ways.

CacheVerifier is a verification layer for semantic caches, not a cache itself. This page is a straight comparison, kept as fair as we can make it — see Why Similarity Fails for the underlying argument.

1

What vCache is

vCache is a research project from UC Berkeley and collaborators (arXiv 2502.03771), described as the first verified semantic cache with user-defined error-rate guarantees. Instead of one static similarity threshold for every request, it uses an online-learning algorithm to estimate an optimal decision boundary per cached prompt: you specify a target error rate and it adapts the thresholds to meet it, with no fine-tuning and no training data. In the paper’s benchmarks it consistently meets the specified error bound while beating both static-threshold and fine-tuned-embedding baselines.

2

What CacheVerifier is

CacheVerifier is a hosted verification call (POST /v1/verify) plus a fine-tuning loop that sits behind whatever cache you already have. It doesn’t pick thresholds for your cache; it reads the retrieved (query, candidate_answer) pair with a cross-encoder and returns a correctness judgement for the gray-zone candidates your own threshold couldn’t decide.

3

What they share

Both reject the “one global similarity threshold” premise, and both aim at a specified error rate rather than a hand-picked number. CacheVerifier’s fine-tune jobs can certify a threshold with Conformal Risk Control — a distribution-free, finite-sample bound on false-reuse risk; vCache gets its guarantee from online per-prompt threshold learning. The research overlap is real, and vCache is a well-regarded approach to it.

4

Where they differ

Deployment. vCache is the cache — adopting it means replacing your cache with vCache. CacheVerifier augments the cache you run (GPTCache, Redis LangCache, a self-built Redis lookup) and is removed just as easily.

Signal. vCache still decides from embedding similarity, just with a smarter per-prompt boundary. CacheVerifier’s cross-encoder reads the actual answer text — a heavier, different signal aimed at the cases where similarity itself is ambiguous rather than just mis-thresholded.

Adaptation. vCache adapts online with no training data. CacheVerifier fine-tunes offline on your labeled feedback — it needs data (a hard floor of 20 rows, and our own testing found it can hurt below ~1,000 on the hardest dataset — see Research), but in return it learns your domain’s specific false-hit patterns.

Maturity. vCache is a research artifact — no hosted service, SLA, or support contract. CacheVerifier is a hosted product (though also without a formal uptime SLA yet).

5

Side by side

vCacheCacheVerifier
TypeResearch semantic cache (open-source implementation)Hosted verification layer for an existing cache
Replaces your cache?YesNo
Decision signalOnline-learned per-prompt similarity thresholdCross-encoder over the (query, answer) pair
Needs training data?No — adapts onlineYes — fine-tunes on your labeled feedback (optional; a stock verifier ships by default)
Error-rate guaranteeUser-defined bound via online threshold learningOptional Conformal Risk Control certification on a fine-tune job
Best fitGreenfield, and you want guarantees baked into the cacheYou can’t swap your cache, or your false hits are semantic not threshold failures

Where to go next

  • Why Similarity Fails — the gray zone in detail: why a similarity score and a correctness judgement are different questions.
  • Research — measured results on when fine-tuning a verifier helps, how much data it needs, and where it broke.
  • API Reference — how /v1/verify, fine-tuning, and drift monitoring work mechanically.
  • Start free