feat(embedding): expose model_version on dense and sparse embedder ports
Why: - ADR-0001's Qdrant payload records embedding_model_version so a future model swap can identify which chunks need re-embedding. The embedder is what knows which model produced its vectors, so it reports this rather than the call site reconstructing it from settings. Changes: - DenseEmbedder/SparseEmbedder protocols gain a model_version: str attribute. - OpenAICompatibleEmbedder reports its configured model; Bm25SparseEmbedder reports its analyzer (bm25-<analyzer>).
This commit is contained in:
@@ -86,6 +86,7 @@ class Bm25SparseEmbedder:
|
||||
name = "sparse"
|
||||
|
||||
def __init__(self, settings: SparseEmbeddingSettings) -> None:
|
||||
self.model_version = f"bm25-{settings.analyzer}"
|
||||
self._settings = settings
|
||||
|
||||
def embed_batch(self, texts: Sequence[str], *, query: bool = False) -> list[SparseVector]:
|
||||
|
||||
@@ -52,6 +52,7 @@ class OpenAICompatibleEmbedder:
|
||||
keep_alive: str | None = None,
|
||||
) -> None:
|
||||
self.name = name
|
||||
self.model_version = model
|
||||
self._client = client
|
||||
self._model = model
|
||||
self._dimensions = dimensions
|
||||
|
||||
Reference in New Issue
Block a user