Blog
Notes from building Stuga. RSS
-
12 decision models vs Jev: none clearly beat it in our RAG reranking test
Jev against twelve other decision models, three LLM judges and two rerankers, on MIRACL in six languages and BRIGHT StackOverflow, tested 2026-10-11: how often each put a right passage first, with adjusted intervals, latency, cost per search, and why per-token price can mislead a comparison.
-
EmbeddingGemma v1 vs v2: v1 ranked better in our text-search test
Google's first EmbeddingGemma (v1) against EmbeddingGemma 2 (v2) and eight other models for text search, on MIRACL Korean, Chinese and English, four Chinese C-MTEB sets and BRIGHT StackOverflow: real questions and what each model put first, vectors alone and hybrid, Ollama's 4-bit default, and the prompts.
-
Search your documents by meaning, locally
Set up semantic search in Stuga with an embedding model running in Ollama on the same machine: pick a model, connect it in Settings, and choose how strict search is.
-
BM25 scores can count documents you can't open
In search with permissions over one shared BM25 index, a raw score and a few planted words let a searcher estimate how many hidden documents hold a word. A test on pg_search with made-up data, and what to do about it.
-
Vector search with permissions can come back empty
With a permission filter, pgvector's HNSW search can return nothing although the searcher can read matching passages. Two tests on pgvector with synthetic vectors, readable near passages missed by Stuga's own search, and the fix.
-
Reranking with a classifier instead of a chat model
A System One classifier, LLM judges and dedicated rerankers, hosted and local, on two public benchmarks: MIRACL in six languages and BRIGHT's StackOverflow questions. Accuracy, latency, cost and failure modes.