REPOSITORY ANALYSIS

GPTCache

Semantic cache with a Jev evaluator that uses Noul judgments to check whether a cached response can serve an incoming request.

E2 · source reviewedPublic material or source evidence was reviewed. A fixed-version source review requires checking a pinned revision; this is not a reproduction, performance endorsement, or safety guarantee.
Stars
8,201
Forks
597
License
MIT
Last commit
2026-09-22

What Jev does here

Five Noul dimensions check cached-answer compatibility; the evaluator returns their minimum score, and a request failure returns zero.

Prevents a strong task match from averaging away weak format or freshness compatibility, without claiming to verify the answer’s truth.

Fixed-version documentation and implementation material were inspected on 2026-10-24. No cache service or live request was run. The evaluator’s float conversion is not an independent calibration or correctness guarantee.

What task does this project fit?

Decide whether an existing cached answer can serve a new request.

Material analysed:

From input to action

  1. The evaluator includes cached/current requests, candidate answer and dates in state.
  2. Five Nouls inspect task compatibility, context, output contract, freshness and missing context.
  3. It returns the minimum dimension score for the cache’s similarity threshold; request failure returns zero.

Implementation details that matter

The weakest dimension controls reuse

A high task-identity score cannot average away a low freshness or format score because evaluation() returns min(scores.values()).

Inspect the supporting source ↗

Compatibility does not verify truth

The question builders explicitly avoid judging answer correctness. A cache entry can fit a request while containing a wrong underlying fact; freshness wording also distinguishes write date from fact verification.

Inspect the supporting source ↗

When to choose it

Useful as a second-stage cache compatibility check. Keep source freshness, access scope and answer correctness checks outside the semantic similarity threshold.

How to inspect it yourself

Read reuse_questions and the final return in evaluation(). Manually compare dimension scores such as 0.95, 0.95, 0.2, 0.95, 0.95: the returned score is 0.2, not their average; trace the exception path separately.

Limits of this review

  • No cache service or live request was run.
  • The evaluator’s float conversion is not an independent calibration or correctness guarantee.
Primary material used in this analysis