docs: update RAG/memory backend — QMD removed, now OpenAI embeddings

This commit is contained in:
2026-02-21 21:40:29 +01:00
parent 0a944b42cc
commit 202fd18f73

View File

@@ -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.80.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é (~58K tokenů = ~34 % 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.