Skip to content

fix(embedder): use correct sentence-transformers method name#2

Open
l984-451 wants to merge 1 commit into
ayushh0110:mainfrom
l984-451:fix/embedder-method-typo
Open

fix(embedder): use correct sentence-transformers method name#2
l984-451 wants to merge 1 commit into
ayushh0110:mainfrom
l984-451:fix/embedder-method-typo

Conversation

@l984-451
Copy link
Copy Markdown

Problem

On fresh startup, the embedder fails to initialize with:

[Embedder] Failed to load model: 'SentenceTransformer' object has no attribute 'get_embedding_dimension'
[AnalysisWorker] Embedder unavailable: 'SentenceTransformer' object has no attribute 'get_embedding_dimension'

This silently disables semantic search across the timeline (FTS5 keyword search still works, but embedding-backed search via engine/embedder.py:embed_activity never runs).

Fix

engine/embedder.py:31 calls self._model.get_embedding_dimension() but sentence_transformers.SentenceTransformer (versions 3.x, including the pinned 3.3.1) exposes the method as get_sentence_embedding_dimension(). One-character… well, fifteen-character fix.

Verified locally with sentence-transformers==3.3.1:

>>> from sentence_transformers import SentenceTransformer
>>> m = SentenceTransformer('all-MiniLM-L6-v2')
>>> hasattr(m, 'get_embedding_dimension')
False
>>> hasattr(m, 'get_sentence_embedding_dimension')
True
>>> m.get_sentence_embedding_dimension()
384

After the fix, embedder boots cleanly and status.analysis.embedder_available is true.

`SentenceTransformer` has `get_sentence_embedding_dimension()`, not
`get_embedding_dimension()`. The wrong name raised AttributeError on
embedder init, silently disabling semantic search.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant