feat(memory): add experimental qmd search backend
This commit is contained in:
@@ -626,6 +626,10 @@ memory:
|
||||
chunk_overlap: 50 # Overlap between chunks
|
||||
top_k: 5 # Top results from vector search
|
||||
hybrid_weight: 0.7 # 0.0 = keyword only, 1.0 = vector only
|
||||
qmd:
|
||||
enabled: false # Experimental markdown-native search backend
|
||||
top_k: 8 # Max QMD results
|
||||
min_score: 0.15 # Minimum match score (0-1)
|
||||
```
|
||||
|
||||
### Embedding Providers
|
||||
@@ -640,7 +644,13 @@ memory:
|
||||
|
||||
Embeddings are indexed in the background — when memory is written, the namespace is marked dirty and re-indexed within 30 seconds. The vector index is stored in `vectors.db` alongside the session database.
|
||||
|
||||
When embeddings are disabled or the provider is unreachable, search falls back gracefully to keyword matching.
|
||||
Search backend selection:
|
||||
|
||||
- `memory.embedding.enabled: true` -> hybrid keyword+vector backend
|
||||
- `memory.embedding.enabled: false` and `memory.qmd.enabled: true` -> QMD markdown backend
|
||||
- otherwise -> keyword-only fallback
|
||||
|
||||
When the selected backend is unavailable (for example embedding provider errors), search falls back gracefully to keyword matching.
|
||||
|
||||
### Embedding Config Fields
|
||||
|
||||
@@ -657,6 +667,14 @@ When embeddings are disabled or the provider is unreachable, search falls back g
|
||||
| `top_k` | no | Number of vector results to return (default: `5`) |
|
||||
| `hybrid_weight` | no | Vector vs keyword weight, 0.0-1.0 (default: `0.7`) |
|
||||
|
||||
### QMD Config Fields
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| `enabled` | no | Enable experimental markdown-native QMD backend (default: `false`) |
|
||||
| `top_k` | no | Max QMD results returned by `memory.search` (default: `8`) |
|
||||
| `min_score` | no | Minimum relevance score (0.0-1.0) for QMD matches (default: `0.15`) |
|
||||
|
||||
## Gateway Lock
|
||||
|
||||
Single-client mode for the WebSocket gateway. When enabled, only one WebSocket connection is allowed at a time. Additional connections are rejected with close code `4003`.
|
||||
|
||||
Reference in New Issue
Block a user