Find a file
Bogdan Abaev 29bbaf9e6f local semantic search on abstracts
- added environment to run embedding models locally
(transformers.js, ONNX Runtime WASM binary, etc.). The actual
inference execution happens in a separate worker environment (worker.js)
- added local itemEmbeddings table to store embeddings locally
- in advanced preferences, one can select two options for
semantic search model: english and multilingual. English model
(bge-small-en-v1.5) is better for english-only corpus
but multilingual (multilingual-e5-small) is necessary to handle
abstracts with any other language than english. We can add
more language-specific models as needed.
- when the model is selected, Zotero.Embeddings.download
will download the model (quantized ~100mb) and store it locally.
- Zotero.Embeddings.Indexing will start a process to
index all regular items with title+abstract. It happens in batches
and takes some time. The progress will appear in the
advanced preferences pane. Embeddings are inserted
into itemEmbeddings SQL table. For now, the table is local
only, no syncing is involved.
- when embedding model pref is set to "Disabled", the model
is deleted and embeddings table is cleared.
- when an embedding model is selected, quick search dropdown
has a new "Similarity" mode, which will run semantic search
on the current scope of items.
- semantic search does not clearly define what counts
as "relevant" and what is "not relevant". In addition,
it will change depending on the library and query. So
we cannot semantically filter out items the way
it is done via SQL. Semantic search returns the ranking
but items cannot be sorted because it is done by the itemTree
based on column selection.
So in "similarity" quicksearch mode, there is also a dropdown
to select how many top relevant items to keep (top 5 - top 100).
It allows the user to keep the most relevant items depending
on the context, without conflicting with itemTree sorting.
- semantic search happens in-memory. On a large 5K library
it's fast, but we could consider sqlite-vec extension if
needed.
2026-08-05 15:26:55 -04:00
.github/workflows CI: Don't run duplicate jobs for same-repo pull requests 2026-07-08 10:50:32 -04:00
app Restore dxcompiler.dll on Windows for WebGPU and leave WebGPU pref on 2026-08-05 14:10:04 -04:00
chrome local semantic search on abstracts 2026-08-05 15:26:55 -04:00
defaults/preferences local semantic search on abstracts 2026-08-05 15:26:55 -04:00
document-worker@6d0c0ce45d Update document-worker submodule 2026-07-15 12:52:00 -04:00
js-build Add SDT support 2026-06-12 13:47:08 +03:00
note-editor@acec74d09b Improve undo/redo in the note editor (#3398) 2026-07-31 14:22:53 +02:00
reader@c6edbfff75 Update reader submodule 2026-07-20 10:50:56 -04:00
resource local semantic search on abstracts 2026-08-05 15:26:55 -04:00
scripts Add script for pulling Fluent translations 2026-01-25 22:15:29 -05:00
scss local semantic search on abstracts 2026-08-05 15:26:55 -04:00
styles@dff7452b24 Update translators, styles, CSL locales, and renamed-styles.json 2026-04-02 15:51:43 -04:00
test Search: Allow binding a group whose conditions match at any level 2026-08-05 13:14:37 -04:00
translators@60f2d542ff Update translators submodule 2026-07-15 12:52:54 -04:00
types/gecko fx140: Update type definitions 2025-07-30 22:30:37 -04:00
.babelrc Use production builds of react libraries (#4482) 2024-08-02 03:43:02 -04:00
.gitattributes local semantic search on abstracts 2026-08-05 15:26:55 -04:00
.gitignore Use user-provided codesign script for Windows signing 2024-04-08 10:12:58 +01:00
.gitmodules Rename pdf-worker submodule to document-worker 2026-04-22 15:50:02 -04:00
chrome.manifest Remove old citation dialogs (#5177) 2025-04-02 05:26:06 -04:00
CLAUDE.md Rename pdf-worker submodule to document-worker 2026-04-22 15:50:02 -04:00
CONTRIBUTING.md Add "support questions" to CONTRIBUTING.md 2022-12-01 05:10:42 -05:00
COPYING Update COPYING 2018-03-26 11:27:48 +02:00
eslint.config.mjs Convert ItemPane{SectionElement,Container}Base to ES modules 2026-05-18 15:48:31 -04:00
package-lock.json Update package-lock.json 2026-01-29 13:22:13 -05:00
package.json Upgrade ftl-tx. Fix #5671. 2025-12-20 02:22:23 +01:00
README.md "Zotero wiki" → "Zotero documentation" in app build README 2023-04-26 04:40:22 -04:00
update.rdf Update Fx minVersion to 45 2016-12-13 09:12:55 -05:00
version Update version to 11.0 2026-08-03 14:14:05 -04:00

Zotero

CI

Zotero is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources.

Please post feature requests or bug reports to the Zotero Forums. If you're having trouble with Zotero, see Getting Help.

For more information on how to use this source code, see the Zotero documentation.