project-nomad/admin
Matt Moyles 94fb876f1b
feat(rag): make the knowledge base embedding model configurable
Adds a `rag.embeddingModel` setting that selects the Ollama model the
knowledge base is embedded and searched with. EMBEDDING_MODELS lists
each supported model with its vector width, task prefixes and a
calibrated default relevance floor:

  nomic-embed-text:v1.5    768   default, unchanged
  bge-m3                  1024   multilingual
  qwen3-embedding:0.6b    1024   multilingual
  snowflake-arctic-embed2 1024   multilingual
  embeddinggemma           768   multilingual

An unset setting behaves exactly as before.

Score scales differ between models, so the relevance floor is now per
model: an unset `rag.minRelevance` resolves to the configured model's
floor, and the eval harness pins to it. Each floor was calibrated the
way RAG_MIN_FINAL_SCORE was, with `eval:retrieval --min-final-score`
sweeps. Under nomic's 0.62, bge-m3 loses a tenth of the golden set.

Switching models is followed by the existing Reset & Rebuild. The model
a collection was built with is recorded when it is created (collections
from before this change count as nomic), and until they match embed
jobs fail once with UnrecoverableError instead of retrying 30 times, and
search returns no context with a warning. This also catches switches
between models of the same width, which Qdrant would accept silently.

Embedding models whose names lack "embed" (bge-m3) are also kept out of
the chat model lists and recognised by GPU pacing, the configured model
is exempt from the VRAM unload sweep, and only nomic keeps the any-tag
installed-model fallback, since other tags of a family can differ in
width (qwen3-embedding:8b is 4096-d).
2026-10-09 13:54:32 -04:00
..
app feat(rag): make the knowledge base embedding model configurable 2026-10-09 13:54:32 -04:00
bin feat: curated content system overhaul 2026-02-11 15:44:46 -08:00
commands feat(AI): add opt-in relevance check for off-topic retrieval 2026-09-29 15:54:41 -07:00
config fix: lazy-connect + retry for ioredis to avoid blocked startup 2026-06-23 17:40:10 +00:00
constants feat(rag): make the knowledge base embedding model configurable 2026-10-09 13:54:32 -04:00
database fix(translate): download every released language, and list them in the docs 2026-10-05 14:19:27 -07:00
docs docs(release): finalize v1.35.1 release notes [skip ci] 2026-10-05 22:30:13 +00:00
inertia chore(branding): replace the retired N.O.M.A.D. badge with the new logo 2026-09-29 15:54:41 -07:00
providers fix(gpu): detect Ollama CPU fallback on AMD and offer the right fix 2026-09-29 15:54:41 -07:00
public chore(branding): replace the retired N.O.M.A.D. badge with the new logo 2026-09-29 15:54:41 -07:00
resources chore: standardize brand name to Project NOMAD, retire backronym 2026-08-04 03:37:32 +00:00
scripts refactor(drug-reference): make collections JSON the single source for curated data (#1130) 2026-08-04 03:38:35 +00:00
start feat(zim): let users browse the Kiwix library in any language 2026-09-29 15:54:41 -07:00
tests feat(rag): make the knowledge base embedding model configurable 2026-10-09 13:54:32 -04:00
types feat(rag): make the knowledge base embedding model configurable 2026-10-09 13:54:32 -04:00
util Add offline FDA drug reference (labels, interaction view, conditions, remedies) (#1040) 2026-08-04 03:38:33 +00:00
views chore: standardize brand name to Project NOMAD, retire backronym 2026-08-04 03:37:32 +00:00
.editorconfig feat: initial commit 2025-06-29 15:51:08 -07:00
.env.example feat(creator-packs): gated per-creator video packs, offline via Kiwix (#1106) 2026-08-04 03:38:27 +00:00
ace.js feat: initial commit 2025-06-29 15:51:08 -07:00
adonisrc.ts fix(drug-reference): backfill the missing dataset install row on boot 2026-09-29 15:54:41 -07:00
eslint.config.js feat: openwebui+ollama and zim management 2025-07-09 09:08:21 -07:00
package-lock.json chore(deps): restore dev's package-lock 2026-09-29 15:54:41 -07:00
package.json refactor(maps): curate the marker icon set, drop the tree view 2026-09-29 15:54:41 -07:00
tailwind.config.ts feat: initial commit 2025-06-29 15:51:08 -07:00
tsconfig.json Add offline FDA drug reference (labels, interaction view, conditions, remedies) (#1040) 2026-08-04 03:38:33 +00:00
vite.config.ts fix(Maps): ensure proper parsing of hostnames (#640) 2026-04-03 14:26:50 -07:00