Repository navigation
Add plain-rag dense chunk RAG reference row to memory-bench (#21) - #91
Jason-Vaughan wants to merge 1 commit into
Conversation
…d credit tonydzi#91 in CHANGELOG (tonydzi#21)
|
Mycroft here (synthetic AI co-founder, disclosed on purpose so you do not have to play detective). Logged your pull request ("Add plain-rag dense chunk RAG reference row to memory-bench (#21)") after 1 h of silence, which is on us. What a machine can already tell: 6 file(s) touched, +6016/-0, CI green. A human from the lab reads it within 48 hours, as CONTRIBUTING.md promises; if that clock runs out, ping the thread, it is not rude. — TonyDzi · we run a multi-agent lab in public and ship its parts daily; the rest is at github.com/tonydzi. |
tonydzi
left a comment
There was a problem hiding this comment.
sorry for the wait: the human read of this repo runs once a day, and your PR landed right after the previous pass. that is our delay, not your problem.
what i checked: i fetched the head, rebased it on current main, and ran tests/test_bench.py. 9 pass including the plain-rag adapter/leaderboard test. the one failure (tangleclaw-style --reproduce) fails identically on a clean main on my box because sentence-transformers is not installed here, so i am not counting it against you. your CI is green on all 9 jobs.
why it is not merged yet: GitHub shows the PR as unmergeable. there is exactly one conflict, in CHANGELOG.md under "Unreleased": main now has the uvx --python 3.12 paragraph and the "Shorter demo gif" paragraph, you add the "Bench: plain-rag reference row" paragraph. resolution is to keep both, main's two paragraphs first, yours after, a blank line between. no other file conflicts.
next step: please rebase on main with that resolution and push. i will merge with rebase the same day CI is green, so your authorship stays. i also like what the row isolates: plain-rag beats us on paraphrase (R@5 1.00 vs 0.50) and we beat it on bridge and on abstention, and the leaderboard should say both.
one open question: the 0.18 "abstains when absent" for plain-rag comes from a cosine threshold, right? if so, say which threshold in the adapter docstring so nobody reads it as a tuned number.
cb74207 to
02e92dc
Compare
|
Rebased onto On the
Documented this directly in both — TangleClaw'd by Jason Vaughan |
02e92dc to
8c654b6
Compare
8c654b6 to
c1f8f31
Compare
What & Why
Contributes the
plain-ragreference row requested in #21 ("Submit your system's result to memory-bench (mem0, Letta, Khoj, plain RAG, yours)").plain-rag(bench/adapters/plain_rag.py,version: "reference",url: "https://huggingface.co/intfloat/multilingual-e5-base") runs the exact same markdown chunker (sqlite_graph_memory.index_notes,MAX_CHARS=1200,OVERLAP=200),intfloat/multilingual-e5-basebi-encoder (brain_ask.load_encoder('cpu'),brain_ask.query_sims,brain_ask.retrieve_candidateswithtopk_retrieve=60), and shared_extract.best_sentenceanswer floor assqlite-graph-memory, without the 1-hop[[wikilink]]graph expansion (expand_1hop) and without themmarco-mMiniLMv2cross-encoder reranker (rerank_candidates).Because
.github/workflows/bench.ymlalready cachesintfloat/multilingual-e5-base(hf-e5base-mmarco-v1) and installstorch==2.4.1+sentence-transformers==3.1.1on CPU,plain-ragrequires zero additional dependencies or downloads in CI and is added tobench/ci_reproduced.txt(CI-reproduced: yes).What This Row Isolates on the Leaderboard
Putting
plain-ragright next tosqlite-graph-memory-vector(dense + cross-encoder reranker) andsqlite-graph-memory(dense + 1-hop graph + cross-encoder reranker) on the identicaltopk_retrieve=60candidate pool isolates the exact contribution and cost of each stage on the 202-note vault:factR@5bridgeR@5paraphraseR@5paraphrase_bridgeR@5temporalR@5plain-rag(e5-base cosine only)sqlite-graph-memory-vector(+ cross-encoder)sqlite-graph-memory(+ 1-hop graph + cross-encoder)paraphrase: Puree5-basecosine (plain-rag) retrieves 10/10 (1.00)paraphrasenotes and 50% (0.50) ofparaphrase_bridgenotes in the top 5; themmarco-mMiniLMv2cross-encoder reranker demotes zero-shared-word paraphrases to0.80(vector) /0.50(graph) onparaphraseand0.08onparaphrase_bridge.bridgeR@5 from0.87(plain-rag) to0.97(sqlite-graph-memory-vector), and adding the 1-hop[[wikilink]]graph liftsbridgeR@5 to1.00(sqlite-graph-memory), while the cross-encoder's< 0.0logit boundary more than doubles abstention on unanswerable questions (0.180.45).Verification
AI Disclosure: Built and verified by an AI coding agent fleet under human direction (
testamentreceiptb60ab4bc47f8439d82ae33bffb397b12).— TangleClaw'd by Jason Vaughan
Human-directed. Agent-executed. Evidence-backed.
TangleClaw.com