feat(hierarchy): supporto metadati strutturati e gerarchici su Qdrant (parent_id, level, topic, links)
This commit is contained in:
+17
-2
@@ -11,10 +11,25 @@ Stack: estensione pi-qmem → gateway FastAPI (qmem.enne2.net) → Qdrant 1.19 +
|
||||
|
||||
| Tool | Uso |
|
||||
|---|---|
|
||||
| `qmem_search` | Ricerca semantica con filtri (kind, project_id, scope, top_k, include_superseded, min_score) |
|
||||
| `qmem_store` | Salva un record (kind, project_id OBBLIGATORIO, scope, source, expires_at, supersedes_id) |
|
||||
| `qmem_search` | Ricerca semantica con filtri (kind, project_id, scope, top_k, include_superseded, min_score, parent_id, level, topic) |
|
||||
| `qmem_store` | Salva un record (kind, project_id OBBLIGATORIO, scope, source, expires_at, supersedes_id, parent_id, level, topic, links) |
|
||||
| `qmem_correct` | Corregge una memoria falsa: nuovo record che supersede il vecchio |
|
||||
| `qmem_meta` | Discovery: scope×kind, progetti, agenti, superseduti (per scegliere i filtri) |
|
||||
| `qmem_get` | Recupero deterministico per UUID O(1) |
|
||||
|
||||
## Struttura Gerarchica e Relazioni (L1 Root + L2 Subtopics)
|
||||
|
||||
Quando si organizza un corpus di conoscenza strutturato o un dominio complesso:
|
||||
|
||||
1. **Nodi Foglia L2 (Dettaglio Specialistico):**
|
||||
* Salva prima i record specifici di dettaglio con `level="L2_SUBTOPIC"`, `topic="MACRO-TOPIC/SUBTOPIC"` e `parent_id` (se già noto o collegabile).
|
||||
* Esempio: `qmem_store(text="...", project_id="...", level="L2_SUBTOPIC", topic="ALFA-ROMEO-GT-1300/SPECS")`.
|
||||
2. **Nodo Radice L1 (Master Topic Index):**
|
||||
* Salva il record indice macro con `level="L1_ROOT"`, `topic="MACRO-TOPIC/ROOT"` e `links=[{"target_id": "<uuid-l2>", "predicate": "parent_of"}]`.
|
||||
3. **Filtro nelle Ricerche:**
|
||||
* Puoi filtrare in `qmem_search` per `parent_id="<uuid>"`, `level="L1_ROOT"`, oppure `topic="MACRO/SUB"`.
|
||||
4. **Navigazione Deterministica:**
|
||||
* Se atterri su un nodo L2, usa `parent_id` restituito nel payload per recuperare il Root con `qmem_get(memory_id)`.
|
||||
|
||||
## Punteggi di ricerca (BGE-M3, cosine)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user