From 202fd18f73fe43963f5252f49074bc261e68c739 Mon Sep 17 00:00:00 2001 From: Daneel Date: Sat, 21 Feb 2026 21:40:29 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20update=20RAG/memory=20backend=20?= =?UTF-8?q?=E2=80=94=20QMD=20removed,=20now=20OpenAI=20embeddings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roam/20260217205442-daneel_rag.org | 60 +++++++++++++++++------------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/roam/20260217205442-daneel_rag.org b/roam/20260217205442-daneel_rag.org index d720cd1..952e349 100644 --- a/roam/20260217205442-daneel_rag.org +++ b/roam/20260217205442-daneel_rag.org @@ -1,37 +1,45 @@ :PROPERTIES: :ID: dac32a5d-f8f9-4973-8135-771da4afe7c9 :END: -#+title: Daneel - RAG +#+title: Daneel - RAG / Memory Backend +#+filetags: :daneel:memory:rag: -* QMD Memory Backend -** Problém -=memory_search= vracel prázdné výsledky i když QMD index byl správně naplněn. +* Aktuální stav (únor 2026) -Root cause: =qmd query= (defaultní mód) posílá cmake/node-llama-cpp -build output na *stdout* místo stderr. Bridge parsuje stdout jako JSON — -první =[= narazí na =[node-llama-cpp]=, JSON.parse selže → výsledek =[]=. +Aktivní backend: *Builtin + OpenAI embeddings* +- Model: =text-embedding-3-small= (1536 dimenzí) +- Vyhledávání: hybridní BM25 + vektorové +- Indexováno: denní logy, MEMORY.md, workspace soubory +- Pravidlo: =memory_search= vždy *anglicky* (lepší recall — soubory jsou česky, ale model funguje lépe s angličtinou) -** Řešení -Přepnout =searchMode= z =query= na =search= v openclaw.json. -Mód =search= = BM25+vector bez LLM query expansion. -Žádné cmake, žádné extra modely, rychlejší. +Příklady správného použití: +#+begin_example +memory_search("martin email himalaya credentials") +memory_search("web publish rules violation") +#+end_example -#+begin_src json -{ "memory": { "backend": "qmd", "qmd": { "searchMode": "search" } } } -#+end_src +Špatně: +#+begin_example +memory_search("email přihlašovací údaje") ; horší výsledky +#+end_example -** Aktuální stav -- 34 souborů indexováno, 92 vektorů -- Embedding model: embeddinggemma-300M (314 MB, lokální, CPU) -- =memory_search= funguje, score 0.8–0.9 -- Pravidlo: dotazy vždy anglicky (lepší recall) -- Bug nenahlášen upstream -** RAG analýza -Workspace soubory celkem: ~5 200 tokenů = *2,6 % context okna* (200K). -RAG teď nedává smysl — úspora příliš malá, riziko vynechání pravidel. -=memory_search= (QMD) = fakticky RAG pro cold storage (30+ daily logů). +* Historie -Přehodnotit až overhead > 15 % (~30K tokenů). -Při aktivním pruning to v dohledné době nenastane. +** QMD backend (leden–únor 2026) — odstraněn + +Zkoušen jako alternativa k builtin backendu. Problémy: +- CUDA závislosti způsobovaly build problémy na serveru +- BM25 výsledky horší než builtin hybrid +- Složitá konfigurace bez jasného přínosu + +Odstraněn, vráceno na builtin + OpenAI embeddings. + +** Kdy přehodnotit RAG + +Workspace soubory jsou malé (~5–8K tokenů = ~3–4 % kontextového okna). +RAG pro hot storage nedává smysl — úspora příliš malá vs. riziko vynechání pravidel. + +=memory_search= (cold storage) = fakticky RAG pro 30+ denních logů. +Přehodnotit pokud overhead > 15 % (~30K tokenů). Při aktivním pruning v dohledné době nenastane.