NotariumҚұжаттама
Құжаттама нұсқасы: latest
KZ

Семантикалық іздеуді қосу

Notarium-дегі толық мәтіндік іздеу (FTS) әрқашан және баптаусыз жұмыс істейді. Семантикалық (векторлық) іздеу — міндетті емес мүмкіндік: ол мағына бойынша гибридті ранжирлеу береді, бірақ ауыр нативті стекті (onnxruntime + sqlite-vec, дискіде ~660 МБ) және алғаш қосқанда жүктелетін жергілікті эмбеддинг моделін (дискіде ~600 МБ және жүздеген МБ RAM) талап етеді. Сондықтан ол әдепкіде өшірулі әрі саналы түрде қосылады. Іздеу ішкі жағынан қалай құрылғаны — Концепциялар: іздеу бөлімінде.

Екі тәуелсіз ауыстырғыш

Екі деңгейді ажырата білу маңызды — орнату мен рантайм:

  1. Орнату — нативті векторлық стек node_modules ішінде бар-жоғы. Docker-образ оны әрқашан алып жүреді, сондықтан контейнерде қосу қайта құрастыруды қажет етпейді. Бастапқы кодтан жұмыс істегенде стандартты make deps оны орнатпайды (node_modules жергілікті орнатуы ~660 МБ жеңілірек болады) — жергілікті векторлық жұмыс үшін make deps-vector керек.
  2. РантаймVECTOR_SEARCH айнымалысы. Жарияланған образда ол әдепкіде off.

Docker-дегі семантика үшін рантайм-ауыстырғышты қосу жеткілікті — стек әлдеқашан орнында.

Қосу

docker run -d --name notarium \
  -p 3000:3000 \
  -v notarium-data:/data \
  -e VECTOR_SEARCH=on \
  docouno/notarium:latest

(Бір /data томы бүкіл күйді ұстайды — қызметтік дерекқор, индекстер, сіздің жазбаларыңыз, экспорт артефактілері; кәдімгі іске қосудағыдай, Орнату қараңыз. Мұнда оған тек VECTOR_SEARCH=on қосылған.)

Алғаш қосқанда әдепкі модель (bge-m3) жүктеледі (дискіде ~600 МБ) және жүздеген МБ RAM ұстайды. Индекстеу фондық режимде жүреді: толық мәтіндік іздеу бірден қолжетімді, векторлар кейін қуып жетеді.

Модель деңгейлері

Модель EMBED_MODEL + EMBED_DIMENSIONS жұбымен таңдалады (өлшемділік модельмен міндетті түрде сәйкес келуі керек) — бұл бір образдағы рантайм-баптау, бөлек құрастыру емес:

ДеңгейАйнымалыларRAMҚашан
offVECTOR_SEARCH=off0Әлсіз машина немесе кілт сөздер бойынша іздеу жеткілікті. Образ үшін әдепкі.
compactVECTOR_SEARCH=on, EMBED_MODEL=Xenova/multilingual-e5-small, EMBED_DIMENSIONS=384~120 МБHomelab, шағын VPS.
fullVECTOR_SEARCH=on (әдепкі: bge-m3, 1024)~600 МБҚуатты машина; 100+ тіл, ұзын контекст.
Асимметриялы e5 модельдері

Компакт деңгей (e5) EMBED_QUERY_PREFIX="query: " және EMBED_PASSAGE_PREFIX="passage: " префикстерін талап етеді — оларды ұмыту іздеу сапасын үнсіз төмендетеді. Симметриялы bge-m3 үшін, керісінше, префикстерді қоюдың қажеті жоқ.

Шектеулі машинадағы ресурстар

swap-сыз әрі ~6 ГБ RAM-мен жұмыс істейтін хостта bge-m3 бастапқы индекстеуі жады шегіне тіреліп қалуы мүмкін. Екі тетік: compact деңгейін (e5-small) алыңыз немесе EMBED_CPU_MEM_ARENA=off қойыңыз — бұл шамалы баяулау есебінен тұтынуды ~1.9 ГБ шамасында ұстайды. Эмбеддинг параметрлерінің толық тізімі — Анықтамалықта.

Толық мәтіндік іздеуге қайту

Егер VECTOR_SEARCH=off болса немесе нативті стек қандай да бір себеппен жүктелмесе, іздеу толық мәтін бойынша жұмысын жалғастырады — қатесіз, нәтижелер дәл сол күйінде көрінеді. Семантика — әрқашан жұмыс істейтін FTS үстіндегі қосымша ранжирлеу арнасы, міндетті тәуелділік емес. Векторсыз дана — толығымен жұмысқа қабілетті дана.