Snider
|
6da45637f5
|
feat(brain): extend /v1/brain/recall with org + keywords + boost_keywords
Hybrid recall: vector (Qdrant) + keyword (ES) with dedupe-by-id and
score re-ranking via configurable boost multiplier.
- org: string → adds to Qdrant must-filter + ES filter
- keywords: array<string> → when present, ES full-text hits merge into
results; without keywords, path stays purely vector
- boost_keywords: array<string> → each matched boost-keyword amplifies
the memory's score by mcp.brain.boost_keywords_multiplier (default 1.5)
BrainService gains a hybridRecall() helper; BrainController::recall()
delegates to it. Existing request fields (query, limit, workspace_id,
project, type) unchanged.
php/tests/Feature/Api/BrainRecallExtendedTest.php — Pest coverage with
Http::fake for both Qdrant + ES, asserting dedupe + boost behaviour.
Co-authored-by: Codex <noreply@openai.com>
Closes tasks.lthn.sh/view.php?id=63
|
2026-04-23 13:51:37 +01:00 |
|