chore: Make semantic deps default, auto-backfill embeddings, and default search to semantic (#586)

Signed-off-by: phernandez <paul@basicmachines.co>
This commit is contained in:
Paul Hernandez
2026-02-19 18:31:15 -06:00
committed by GitHub
parent ed82b0c417
commit 306e562281
24 changed files with 497 additions and 107 deletions
@@ -48,7 +48,8 @@ class FastEmbedEmbeddingProvider(EmbeddingProvider):
) as exc: # pragma: no cover - exercised via tests with monkeypatch
raise SemanticDependenciesMissingError(
"fastembed package is missing. "
"Install semantic extras: pip install 'basic-memory[semantic]'"
"Install/update basic-memory to include semantic dependencies: "
"pip install -U basic-memory"
) from exc
resolved_model_name = self._MODEL_ALIASES.get(self.model_name, self.model_name)
return TextEmbedding(model_name=resolved_model_name)
@@ -45,7 +45,8 @@ class OpenAIEmbeddingProvider(EmbeddingProvider):
except ImportError as exc: # pragma: no cover - covered via monkeypatch tests
raise SemanticDependenciesMissingError(
"OpenAI dependency is missing. "
"Install semantic extras: pip install 'basic-memory[semantic]'"
"Install/update basic-memory to include semantic dependencies: "
"pip install -U basic-memory"
) from exc
api_key = self._api_key or os.getenv("OPENAI_API_KEY")
@@ -355,7 +355,8 @@ class SearchRepositoryBase(ABC):
if self._embedding_provider is None:
raise SemanticDependenciesMissingError(
"No embedding provider configured. "
"Install semantic extras: pip install 'basic-memory[semantic]' "
"Install/update basic-memory to include semantic dependencies "
"(pip install -U basic-memory) "
"and set semantic_search_enabled=true."
)
@@ -347,7 +347,8 @@ class SQLiteSearchRepository(SearchRepositoryBase):
except ImportError as exc:
raise SemanticDependenciesMissingError(
"sqlite-vec package is missing. "
"Install semantic extras: pip install 'basic-memory[semantic]'"
"Install/update basic-memory to include semantic dependencies: "
"pip install -U basic-memory"
) from exc
async with self._sqlite_vec_lock: