module
LLM::Cache
Defined in:
llm/cache.crClass Method Summary
- .cache_dir : String
-
.clear : Int32
Clear all cache entries.
-
.delete(key : String) : Bool
Remove a cached entry by key.
- .disable : Nil
- .disabled_by_env? : Bool
- .enable : Nil
- .enabled? : Bool
-
.ensure_dir : Nil
Ensure the cache directory exists
-
.fetch(key : String) : String | Nil
Fetch cached content by key (returns nil if not present)
-
.key(provider : String, model : String, kind : String, format : String, payload : String) : String
Build a deterministic cache key from inputs
-
.path_for(key : String) : String
Get the file system path for a given key
-
.purge_older_than(days : Int32) : Int32
Purge entries older than the specified number of days.
-
.stats : Hash(String, Int64)
Returns simple statistics for the cache directory: - "entries": number of files - "bytes": total size in bytes
-
.store(key : String, content : String) : Bool
Store content for a key.
Class Method Detail
Remove a cached entry by key. Returns true if a file was removed.
Fetch cached content by key (returns nil if not present)
Build a deterministic cache key from inputs
- provider: "openai", "ollama", url, etc.
- model: "gpt-4o", "llama3", etc.
- kind: logical operation e.g. "FILTER", "ANALYZE", "BUNDLE_ANALYZE"
- format: response_format string (e.g., "json" or JSON schema string)
- payload: variable content (file list, source code, bundle, etc.)
Returns a hex-encoded SHA256 digest.
Purge entries older than the specified number of days. Returns the number of deleted files.
Returns simple statistics for the cache directory:
- "entries": number of files
- "bytes": total size in bytes
Store content for a key. Returns true on success.