The plugin uses embeddingProfile for named local model metadata defaults.
Default selection baseline:
- default embedding profile:
nomic-embed-text-v1.5 - bundled fallback profile:
bge-small-en-v1.5
Why:
- GGUF is the recommended default and preferred backend for local embedding. It delivers Matryoshka-trained
nomic-embed-text-v1.5embeddings with no ONNX Runtime dependency and hardware-native acceleration on Apple Silicon (Metal), NVIDIA (CUDA), and CPU. bundleduses the ONNX build ofnomic-embed-text-v1.5and is the full-featured fallback when GGUF is unavailable.- bge-small-en-v1.5 is the fallback for resource-constrained systems and is automatically selected when the primary model's dimensions do not match the active collection.
- Intel Macs without reliable Metal/MPS support should set
onnxDevice: "cpu"to force CPU ONNX execution and bypass CoreML.
Current shipped profile names:
-
nomic-embed-text-v1.5- family:
nomic-embed-text-v1.5 - dimensions:
768 - normalize:
true - max context tokens:
8192
- family:
-
bge-small-en-v1.5- family:
bge-small-en-v1.5 - dimensions:
384 - normalize:
true - max context tokens:
512
- family:
How it works:
embeddingProfilesupplies metadata defaults like family, dimensions, and normalize behavior.onnx-localstill requires local model assets throughembeddingModelPath, typically a directory containingembedding.json.- The manifest may override or refine the profile, but explicit dimension mismatches fail closed.
- The vector service store persists an embedding fingerprint, so reopening an existing store with a different effective model profile will fail instead of silently mixing vector spaces.
onnxDeviceis passed through asLIBRAVDB_ONNX_DEVICEfor vector service versions that support execution-provider selection (auto,cpu(default),cuda,coreml,directml,openvino).
The persisted embedding fingerprint is part of the database compatibility check. That is intentional: if a vector service opens a store with a different effective model profile, the safest outcome is to stop before mixing vector spaces.
When updating libravdbd, keep the same effective embedding profile unless you
intend to rebuild the store. The effective profile includes the profile family,
dimensions, normalization setting, and any metadata supplied by the model
manifest or vector service defaults.
Legacy local setups can be more fragile than the current packaged profiles. For
example, older all-minilm-l6-v2 stores may fail to reopen after a vector service update
if the vector service now computes different metadata for that local profile. This does
not imply that current packaged nomic-embed-text-v1.5 or
bge-small-en-v1.5 stores are incompatible; it means the old local profile must
be treated as a separate vector space unless a migration path is provided.
If a vector service update reports that the database format or embedding profile is incompatible:
- back up both the
.libravdbfile and its.embedding.jsonmetadata file; - either downgrade to the previous vector service that created the store, or move the old store aside and let the new vector service initialize a fresh database;
- rebuild/reingest memories with the new effective embedding profile.
Do not delete the old store until the replacement has been verified.
Recommended usage:
gguffor the recommended local embedding path, usingnomic-embed-text-v1.5with hardware-native acceleration and no ONNX Runtime dependency.bundledfor the ONNX build ofnomic-embed-text-v1.5when GGUF is unavailable.onnx-localplusembeddingProfilewhen a power user wants a known model family with local assets.- treat remote/Ollama providers as future separate backend types, not as overloads of
custom-local.