EmbeddingCache class

Persistent embedding cache with content-based invalidation.

Features:

  • Disk persistence via JSON serialization
  • Content hash-based cache invalidation
  • LRU eviction when cache exceeds size limit
  • Fast similarity search across all cached embeddings

Constructors

EmbeddingCache({required String cachePath, int maxEntries = 10000})

Properties

hashCode → int
The hash code for this object.
no setterinherited
isEmpty → bool
Whether the cache is empty.
no setter
keys → Iterable<String>
All cached function IDs.
no setter
maxEntries → int
Maximum number of entries before eviction.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
size → int
Number of cached entries.
no setter

Methods

clear() → void
Clears all cached entries.
contains(String functionId, String contentHash) → bool
Checks if a function is cached with the given content hash.
findSimilar(List<double> queryEmbedding, {double threshold = 0.85, int limit = 10, String? excludeId}) → List<SimilarityResult>
Finds all functions with similarity above threshold.
get(String functionId, String contentHash) → List<double>?
Gets embedding for a function, or null if not cached or invalidated.
getStats() → CacheStats
Gets cache statistics.
load() → Future<void>
Loads cache from disk if it exists.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
put(String functionId, String contentHash, List<double> embedding) → void
Stores embedding for a function.
remove(String functionId) → void
Removes a function from the cache.
save() → Future<void>
Saves cache to disk.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

computeHash(String code) → String
Computes content hash for cache invalidation.