Embeddings (TEI)¶
In-cluster text-embeddings-inference
server hosting bge-m3 (1024-dim, multilingual) for the backend's semantic
location search. Manifests: k8s/envs/platform/embeddings/.
What it does¶
The backend embeds each place on write (via the enrichment worker) and embeds a
search query when lexical results are thin, then does an HNSW cosine lookup over
the locations.embedding halfvec column. The service is best-effort: if it's
down, search silently falls back to lexical-only.
Shape¶
| Piece | Value |
|---|---|
| Image | ghcr.io/huggingface/text-embeddings-inference:cpu-1.6 |
| Model | BAAI/bge-m3 (1024-dim); CPU inference |
| Service | embeddings.platform.svc.cluster.local:80 (ClusterIP) |
| Storage | embeddings-model-pvc (10Gi, model cache) |
| Health | GET /health |
Backend wiring¶
The backend reaches it via EMBEDDINGS_* env (see the app repo's env-vars
reference): EMBEDDINGS_ENABLED=true, EMBEDDINGS_BASE_URL=http://embeddings.platform.svc.cluster.local,
EMBEDDINGS_DIMENSIONS=1024, EMBEDDINGS_ALLOW_PRIVATE=true.
Model dimensions
EMBEDDINGS_DIMENSIONS and the locations.embedding halfvec(N) column must
match the model (1024 for bge-m3). Changing the model means a schema change +
a re-embed of the catalog.