mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-22 21:28:12 +02:00
The cached payload is the indexing pipeline's embeddings (markdown is chunked then embedded), so "embedding cache" names the expensive output directly and removes the "index" ambiguity (DB index vs vector index vs indexing phase). Renames the service, settings, eligibility, eviction task, metrics, config flags (INDEX_CACHE_* -> EMBEDDING_CACHE_*), object prefix, and the table (index_cache_embedding_sets -> embedding_cache_sets) with its constraint and indexes. Migration 161 renamed accordingly.
21 lines
620 B
Python
21 lines
620 B
Python
"""Gating rule: may this document be served from / written to the embedding cache?"""
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
def is_embedding_cacheable(
|
|
*,
|
|
cache_enabled: bool,
|
|
embedding_model: str | None,
|
|
embedding_dim: int | None,
|
|
) -> bool:
|
|
"""Cache only when a concrete embedding model and dimension are configured.
|
|
|
|
Without a model there is nothing to key against, and without a dimension the
|
|
blob's integrity guard cannot run -- both bypass the cache.
|
|
"""
|
|
if not cache_enabled:
|
|
return False
|
|
if not embedding_model:
|
|
return False
|
|
return bool(embedding_dim)
|