agentdb 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/src/controllers/ReflexionMemory.d.ts +20 -0
- package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
- package/dist/src/controllers/ReflexionMemory.js +83 -5
- package/dist/src/controllers/ReflexionMemory.js.map +1 -1
- package/dist/src/controllers/episode-hybrid.d.ts +63 -0
- package/dist/src/controllers/episode-hybrid.d.ts.map +1 -0
- package/dist/src/controllers/episode-hybrid.js +117 -0
- package/dist/src/controllers/episode-hybrid.js.map +1 -0
- package/dist/src/mcp/agentdb-mcp-server.js +6 -2
- package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
- package/dist/src/search/conversation-retrieval.d.ts +56 -0
- package/dist/src/search/conversation-retrieval.d.ts.map +1 -0
- package/dist/src/search/conversation-retrieval.js +161 -0
- package/dist/src/search/conversation-retrieval.js.map +1 -0
- package/dist/src/search/cross-encoder.d.ts +17 -0
- package/dist/src/search/cross-encoder.d.ts.map +1 -0
- package/dist/src/search/cross-encoder.js +52 -0
- package/dist/src/search/cross-encoder.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -165,6 +165,19 @@ Each decision logs reward over time. Bad arms decay fast. Good arms stick.
|
|
|
165
165
|
|
|
166
166
|
Run them yourself: `npm run bench` from this repo.
|
|
167
167
|
|
|
168
|
+
### Long-term memory retrieval (LongMemEval)
|
|
169
|
+
|
|
170
|
+
Episode search fuses BM25 keyword ranking with vector ranking by default (`hybrid: false` turns it off), and `rerank: true` adds a local cross-encoder over the top candidates. Session retrieval on [LongMemEval](https://github.com/xiaowu0162/LongMemEval), default MiniLM embedder, local models only, official protocol (470 questions):
|
|
171
|
+
|
|
172
|
+
| LongMemEval_M (≈500 sessions per question) | recall_all@5 | NDCG@5 | recall_all@10 |
|
|
173
|
+
|---|---|---|---|
|
|
174
|
+
| dense only | 0.630 | 0.692 | 0.751 |
|
|
175
|
+
| **hybrid** (default) | 0.719 | 0.750 | 0.806 |
|
|
176
|
+
| **hybrid + `rerank: true`** | **0.789** | **0.828** | **0.881** |
|
|
177
|
+
| LongMemEval paper, best (Contriever + LLM fact keys) | 0.762 | 0.632 | 0.862 |
|
|
178
|
+
|
|
179
|
+
The harness (`benchmarks/longmemeval/`) runs the same ranking functions over turn chunks; protocol, S-split numbers, other rerankers and limits are in [ADR-016](docs/adrs/ADR-016-hybrid-retrieval-longmemeval.md).
|
|
180
|
+
|
|
168
181
|
---
|
|
169
182
|
|
|
170
183
|
## 🔌 MCP Integration
|
|
@@ -40,6 +40,16 @@ export interface ReflexionQuery {
|
|
|
40
40
|
onlyFailures?: boolean;
|
|
41
41
|
onlySuccesses?: boolean;
|
|
42
42
|
timeWindowDays?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Fuse BM25 keyword ranking with the dense ranking (ADR-016). Default true; false restores pure vector order.
|
|
45
|
+
* Not applied with a graph backend, whose episode ids are not SQL row ids.
|
|
46
|
+
*/
|
|
47
|
+
hybrid?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Rerank the top candidates with a local cross-encoder (ADR-016). Default false: it costs about 200 ms per call
|
|
50
|
+
* on CPU and downloads a 23 MB model on first use. Needs hybrid; falls back to the hybrid order on any error.
|
|
51
|
+
*/
|
|
52
|
+
rerank?: boolean;
|
|
43
53
|
}
|
|
44
54
|
export declare class ReflexionMemory {
|
|
45
55
|
private db;
|
|
@@ -48,6 +58,7 @@ export declare class ReflexionMemory {
|
|
|
48
58
|
private learningBackend?;
|
|
49
59
|
private graphBackend?;
|
|
50
60
|
private queryCache;
|
|
61
|
+
private lexicalIndex?;
|
|
51
62
|
constructor(db: IDatabaseConnection, embedder: EmbeddingService, vectorBackend?: VectorBackend, learningBackend?: LearningBackend, graphBackend?: GraphBackend, cacheConfig?: QueryCacheConfig);
|
|
52
63
|
/**
|
|
53
64
|
* Store a new episode with its critique and outcome
|
|
@@ -66,6 +77,15 @@ export declare class ReflexionMemory {
|
|
|
66
77
|
* Results are cached for improved performance
|
|
67
78
|
*/
|
|
68
79
|
retrieveRelevant(query: ReflexionQuery): Promise<EpisodeWithEmbedding[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Re-rank a dense candidate list by fusing it with BM25 over episode text, then optionally with a cross-encoder
|
|
82
|
+
* (ADR-016). Episodes found only by keyword are fetched, filtered like dense hits, and given their cosine
|
|
83
|
+
* similarity. Falls back to the dense order if the keyword index cannot be built, and to the hybrid order if
|
|
84
|
+
* the cross-encoder cannot run.
|
|
85
|
+
*/
|
|
86
|
+
private hybridRank;
|
|
87
|
+
/** Fetches keyword-only hits, applies the query's filters, and records their cosine similarity. */
|
|
88
|
+
private loadKeywordHits;
|
|
69
89
|
/**
|
|
70
90
|
* Prepare and enhance query embedding for search
|
|
71
91
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReflexionMemory.d.ts","sourceRoot":"","sources":["../../../src/controllers/ReflexionMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ReflexionMemory.d.ts","sourceRoot":"","sources":["../../../src/controllers/ReflexionMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAoC1E,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAsB;IAChC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAsB;gBAGzC,EAAE,EAAE,mBAAmB,EACvB,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,CAAC,EAAE,aAAa,EAC7B,eAAe,CAAC,EAAE,eAAe,EACjC,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,gBAAgB;IAUhC;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAkJrD;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmD9E;;;;;OAKG;YACW,UAAU;IAiDxB,mGAAmG;IACnG,OAAO,CAAC,eAAe;IAwBvB;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;YACW,wBAAwB;IAsBtC;;OAEG;YACW,wBAAwB;IAatC;;OAEG;YACW,yBAAyB;IA2DvC;;OAEG;YACW,uBAAuB;IAgCrC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;OAEG;IACH,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,GACtB;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IA0ED;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAkChE;;OAEG;IACG,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClE;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA2BlF;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,MAAM;IAmCV,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;YACW,sBAAsB;IA4EpC;;OAEG;YACW,mBAAmB;IAuDjC;;OAEG;IACG,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IA4BF;;OAEG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5D;;OAEG;IACH,gBAAgB;IAOhB;;OAEG;IACH,aAAa;IAOb;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACG,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgF1D;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAwC7B;;;;;;;;;;;;OAYG;IACG,YAAY,CAAC,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAwG9E"}
|
|
@@ -13,6 +13,7 @@ import { sqlExactSource } from '../backends/ExactSearch.js';
|
|
|
13
13
|
import { NodeIdMapper } from '../utils/NodeIdMapper.js';
|
|
14
14
|
import { QueryCache } from '../core/QueryCache.js';
|
|
15
15
|
import { TopK, squaredNorm, cosineWithQueryNorm } from '../utils/top-k.js';
|
|
16
|
+
import { applyCrossEncoder, EpisodeLexicalIndex, fuseEpisodeScores, HYBRID_MAX_POOL, orderByScore, RERANK_DEPTH, } from './episode-hybrid.js';
|
|
16
17
|
function finiteNumber(value, name) {
|
|
17
18
|
const n = Number(value);
|
|
18
19
|
if (!Number.isFinite(n))
|
|
@@ -45,6 +46,7 @@ export class ReflexionMemory {
|
|
|
45
46
|
learningBackend;
|
|
46
47
|
graphBackend;
|
|
47
48
|
queryCache;
|
|
49
|
+
lexicalIndex;
|
|
48
50
|
constructor(db, embedder, vectorBackend, learningBackend, graphBackend, cacheConfig) {
|
|
49
51
|
this.db = db;
|
|
50
52
|
this.embedder = embedder;
|
|
@@ -177,8 +179,10 @@ export class ReflexionMemory {
|
|
|
177
179
|
*/
|
|
178
180
|
async retrieveRelevant(query) {
|
|
179
181
|
const { task, currentState = '', k = 5, minReward, onlyFailures = false, onlySuccesses = false, timeWindowDays, } = query;
|
|
182
|
+
const hybrid = query.hybrid !== false && !this.graphBackend;
|
|
183
|
+
const rerank = hybrid && query.rerank === true;
|
|
180
184
|
// Check cache first
|
|
181
|
-
const cacheKey = this.queryCache.generateKey('retrieveRelevant', [task, currentState, k, minReward, onlyFailures, onlySuccesses, timeWindowDays], 'episodes');
|
|
185
|
+
const cacheKey = this.queryCache.generateKey('retrieveRelevant', [task, currentState, k, minReward, onlyFailures, onlySuccesses, timeWindowDays, hybrid, rerank], 'episodes');
|
|
182
186
|
const cached = this.queryCache.get(cacheKey);
|
|
183
187
|
if (cached) {
|
|
184
188
|
return cached;
|
|
@@ -193,16 +197,90 @@ export class ReflexionMemory {
|
|
|
193
197
|
else if (this.graphBackend && 'execute' in this.graphBackend) {
|
|
194
198
|
episodes = await this.retrieveFromGenericGraph(query);
|
|
195
199
|
}
|
|
196
|
-
else if (this.vectorBackend) {
|
|
197
|
-
episodes = await this.retrieveFromVectorBackend(queryEmbedding, query);
|
|
198
|
-
}
|
|
199
200
|
else {
|
|
200
|
-
|
|
201
|
+
// Hybrid retrieval widens the dense pool, then fuses it with the BM25 ranking.
|
|
202
|
+
const pooled = hybrid ? { ...query, k: Math.min(Math.max(k * 4, 50), HYBRID_MAX_POOL) } : query;
|
|
203
|
+
episodes = this.vectorBackend
|
|
204
|
+
? await this.retrieveFromVectorBackend(queryEmbedding, pooled)
|
|
205
|
+
: await this.retrieveFromSQLFallback(queryEmbedding, pooled);
|
|
206
|
+
if (hybrid) {
|
|
207
|
+
episodes = await this.hybridRank([task, currentState].filter(Boolean).join('\n'), episodes, { ...query, rerank }, queryEmbedding);
|
|
208
|
+
}
|
|
201
209
|
}
|
|
202
210
|
// Cache and return results
|
|
203
211
|
this.queryCache.set(cacheKey, episodes);
|
|
204
212
|
return episodes;
|
|
205
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* Re-rank a dense candidate list by fusing it with BM25 over episode text, then optionally with a cross-encoder
|
|
216
|
+
* (ADR-016). Episodes found only by keyword are fetched, filtered like dense hits, and given their cosine
|
|
217
|
+
* similarity. Falls back to the dense order if the keyword index cannot be built, and to the hybrid order if
|
|
218
|
+
* the cross-encoder cannot run.
|
|
219
|
+
*/
|
|
220
|
+
async hybridRank(text, dense, query, queryEmbedding) {
|
|
221
|
+
const k = query.k ?? 5;
|
|
222
|
+
let lexical = [];
|
|
223
|
+
try {
|
|
224
|
+
lexical = (this.lexicalIndex ??= new EpisodeLexicalIndex(this.db)).search(text, HYBRID_MAX_POOL);
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
if (!query.rerank)
|
|
228
|
+
return dense.slice(0, k);
|
|
229
|
+
}
|
|
230
|
+
if (lexical.length === 0 && !query.rerank)
|
|
231
|
+
return dense.slice(0, k);
|
|
232
|
+
const byId = new Map(dense.filter((e) => e.id !== undefined).map((e) => [e.id, e]));
|
|
233
|
+
// Load the keyword hits the fusion will see, so every fused episode has a true cosine similarity; the dense
|
|
234
|
+
// side is then the cosine order over (dense pool + keyword hits), the same ranking the benchmark fuses.
|
|
235
|
+
const lexHead = lexical.slice(0, Math.max(dense.length, query.rerank ? RERANK_DEPTH : 0));
|
|
236
|
+
const missing = lexHead.map((l) => l.id).filter((id) => !byId.has(id));
|
|
237
|
+
if (missing.length > 0)
|
|
238
|
+
this.loadKeywordHits(missing, byId, query, queryEmbedding);
|
|
239
|
+
const lexUsed = lexHead.filter((l) => byId.has(l.id)); // keyword hits that failed the filters drop out
|
|
240
|
+
const denseIds = [...byId.values()]
|
|
241
|
+
.sort((a, z) => (z.similarity ?? 0) - (a.similarity ?? 0) || z.id - a.id)
|
|
242
|
+
.map((e) => e.id);
|
|
243
|
+
const score = fuseEpisodeScores(denseIds, lexUsed);
|
|
244
|
+
const candidates = query.rerank
|
|
245
|
+
? [...new Set([...denseIds.slice(0, RERANK_DEPTH), ...lexUsed.slice(0, RERANK_DEPTH).map((l) => l.id)])]
|
|
246
|
+
: [];
|
|
247
|
+
if (query.rerank) {
|
|
248
|
+
try {
|
|
249
|
+
await applyCrossEncoder(text, score, candidates, (id) => {
|
|
250
|
+
const ep = byId.get(id);
|
|
251
|
+
return ep ? [ep.task, ep.input, ep.output, ep.critique].filter(Boolean).join('\n') : undefined;
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
// Model unavailable (offline, unsupported platform): keep the hybrid order.
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
const out = [];
|
|
259
|
+
for (const id of orderByScore(score, denseIds)) {
|
|
260
|
+
const ep = byId.get(id);
|
|
261
|
+
if (ep)
|
|
262
|
+
out.push(ep);
|
|
263
|
+
if (out.length >= k)
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
return out;
|
|
267
|
+
}
|
|
268
|
+
/** Fetches keyword-only hits, applies the query's filters, and records their cosine similarity. */
|
|
269
|
+
loadKeywordHits(ids, byId, query, queryEmbedding) {
|
|
270
|
+
const marks = ids.map(() => '?').join(',');
|
|
271
|
+
const embeddings = new Map(this.db
|
|
272
|
+
.prepare(`SELECT episode_id, embedding FROM episode_embeddings WHERE episode_id IN (${marks})`)
|
|
273
|
+
.all(...ids)
|
|
274
|
+
.map((r) => [r.episode_id, this.deserializeEmbedding(r.embedding)]));
|
|
275
|
+
const queryNorm = Math.sqrt(squaredNorm(queryEmbedding));
|
|
276
|
+
for (const row of this.fetchEpisodesByIds(ids)) {
|
|
277
|
+
if (!this.passesEpisodeFilters(row, query))
|
|
278
|
+
continue;
|
|
279
|
+
const emb = embeddings.get(row.id);
|
|
280
|
+
const similarity = emb && emb.length === queryEmbedding.length ? cosineWithQueryNorm(queryEmbedding, queryNorm, emb) : 0;
|
|
281
|
+
byId.set(row.id, this.convertDatabaseEpisode(row, similarity));
|
|
282
|
+
}
|
|
283
|
+
}
|
|
206
284
|
/**
|
|
207
285
|
* Prepare and enhance query embedding for search
|
|
208
286
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReflexionMemory.js","sourceRoot":"","sources":["../../../src/controllers/ReflexionMemory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReflexionMemory.js","sourceRoot":"","sources":["../../../src/controllers/ReflexionMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid (dense + BM25) episode retrieval for ReflexionMemory (ADR-016).
|
|
3
|
+
*
|
|
4
|
+
* Dense search alone misses episodes whose wording matches the query but whose embedding does not (names, error
|
|
5
|
+
* codes, numbers). This keeps a BM25 index over the most recent episodes, rebuilt only when the episodes table
|
|
6
|
+
* changes, and fuses its ranking with the dense ranking by reciprocal-rank fusion. On LongMemEval session retrieval
|
|
7
|
+
* (benchmarks/longmemeval, which runs these ranking functions over turn chunks, not the episode store), the same
|
|
8
|
+
* fusion lifts recall_all@5 over dense-only ranking of the same chunks from 0.883 to 0.900 (S) and from 0.630 to
|
|
9
|
+
* 0.719 (M), with the default MiniLM embedder. See ADR-016.
|
|
10
|
+
*/
|
|
11
|
+
import type { IDatabaseConnection } from '../types/database.types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Episodes indexed for BM25, newest first; older episodes are still found by dense search. The first search in a
|
|
14
|
+
* process builds the index (about 200 ms at 10k episodes, 1 s at 50k); later writes are appended incrementally.
|
|
15
|
+
*/
|
|
16
|
+
export declare const HYBRID_MAX_INDEXED: number;
|
|
17
|
+
/** The candidate pool each side contributes before fusion. */
|
|
18
|
+
export declare const HYBRID_MAX_POOL = 500;
|
|
19
|
+
/** Weight of the BM25 ranking against the dense ranking. Equal weights won on LongMemEval_M; see ADR-016. */
|
|
20
|
+
export declare const HYBRID_LEXICAL_WEIGHT = 1;
|
|
21
|
+
/**
|
|
22
|
+
* A BM25 index over episode text. New episodes are appended incrementally (the common write-then-read pattern);
|
|
23
|
+
* the index is rebuilt only when rows were deleted or replaced, or it has grown past 1.25x its cap.
|
|
24
|
+
*/
|
|
25
|
+
export declare class EpisodeLexicalIndex {
|
|
26
|
+
private readonly db;
|
|
27
|
+
private readonly maxDocs;
|
|
28
|
+
private count;
|
|
29
|
+
private maxId;
|
|
30
|
+
private ids;
|
|
31
|
+
private index;
|
|
32
|
+
constructor(db: IDatabaseConnection, maxDocs?: number);
|
|
33
|
+
private static textOf;
|
|
34
|
+
private refresh;
|
|
35
|
+
/** Episode ids with a BM25 match, best first, at most `limit`. */
|
|
36
|
+
search(query: string, limit: number): {
|
|
37
|
+
id: number;
|
|
38
|
+
score: number;
|
|
39
|
+
}[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Weighted RRF scores of a dense ranking (best first) and a lexical ranking (best first) over episode ids.
|
|
43
|
+
* Episodes only in the lexical list are ranked just past the dense pool on the dense side.
|
|
44
|
+
*/
|
|
45
|
+
export declare function fuseEpisodeScores(denseIds: readonly number[], lexical: readonly {
|
|
46
|
+
id: number;
|
|
47
|
+
}[], lexicalWeight?: number): Map<number, number>;
|
|
48
|
+
/** Ids ordered by score, ties broken by dense order, then by newer id. */
|
|
49
|
+
export declare function orderByScore(score: ReadonlyMap<number, number>, denseIds?: readonly number[]): number[];
|
|
50
|
+
/** Fused ranking of episode ids, best first. */
|
|
51
|
+
export declare function fuseEpisodeRankings(denseIds: readonly number[], lexical: readonly {
|
|
52
|
+
id: number;
|
|
53
|
+
}[], lexicalWeight?: number): number[];
|
|
54
|
+
/** Candidates the cross-encoder reads: the top `RERANK_DEPTH` of each ranking (the configuration benchmarked in ADR-016). */
|
|
55
|
+
export declare const RERANK_DEPTH = 60;
|
|
56
|
+
/** Weight of the cross-encoder rank in the fusion; best on LongMemEval_M (ADR-016). */
|
|
57
|
+
export declare const RERANK_WEIGHT = 8;
|
|
58
|
+
/**
|
|
59
|
+
* Adds `RERANK_WEIGHT`/(k + cross-encoder rank) to each candidate's fused score, in place. Candidates without text
|
|
60
|
+
* are skipped. Throws if the model cannot be loaded; the caller keeps the hybrid order.
|
|
61
|
+
*/
|
|
62
|
+
export declare function applyCrossEncoder(query: string, score: Map<number, number>, candidates: readonly number[], textOf: (id: number) => string | undefined, model?: string): Promise<void>;
|
|
63
|
+
//# sourceMappingURL=episode-hybrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"episode-hybrid.d.ts","sourceRoot":"","sources":["../../../src/controllers/episode-hybrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA0E,CAAC;AAM1G,8DAA8D;AAC9D,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,6GAA6G;AAC7G,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAWvC;;;GAGG;AACH,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAA0B;gBAGpB,EAAE,EAAE,mBAAmB,EACvB,OAAO,SAAqB;IAG/C,OAAO,CAAC,MAAM,CAAC,MAAM;IAIrB,OAAO,CAAC,OAAO;IA4Bf,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;CAStE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,aAAa,SAAwB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS7J;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,EAAE,CAM3G;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,aAAa,SAAwB,GAAG,MAAM,EAAE,CAEpJ;AAED,6HAA6H;AAC7H,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,uFAAuF;AACvF,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC1C,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Bm25Index, tokenize } from '../search/conversation-retrieval.js';
|
|
2
|
+
import { crossEncoderScores } from '../search/cross-encoder.js';
|
|
3
|
+
/**
|
|
4
|
+
* Episodes indexed for BM25, newest first; older episodes are still found by dense search. The first search in a
|
|
5
|
+
* process builds the index (about 200 ms at 10k episodes, 1 s at 50k); later writes are appended incrementally.
|
|
6
|
+
*/
|
|
7
|
+
export const HYBRID_MAX_INDEXED = clampInt(process.env.AGENTDB_HYBRID_MAX_EPISODES, 10_000, 1, 1_000_000);
|
|
8
|
+
function clampInt(raw, fallback, min, max) {
|
|
9
|
+
const n = Math.floor(Number(raw));
|
|
10
|
+
return Number.isFinite(n) && n >= min ? Math.min(n, max) : fallback;
|
|
11
|
+
}
|
|
12
|
+
/** The candidate pool each side contributes before fusion. */
|
|
13
|
+
export const HYBRID_MAX_POOL = 500;
|
|
14
|
+
/** Weight of the BM25 ranking against the dense ranking. Equal weights won on LongMemEval_M; see ADR-016. */
|
|
15
|
+
export const HYBRID_LEXICAL_WEIGHT = 1;
|
|
16
|
+
const RRF_K = 60;
|
|
17
|
+
/**
|
|
18
|
+
* A BM25 index over episode text. New episodes are appended incrementally (the common write-then-read pattern);
|
|
19
|
+
* the index is rebuilt only when rows were deleted or replaced, or it has grown past 1.25x its cap.
|
|
20
|
+
*/
|
|
21
|
+
export class EpisodeLexicalIndex {
|
|
22
|
+
db;
|
|
23
|
+
maxDocs;
|
|
24
|
+
count = -1;
|
|
25
|
+
maxId = 0;
|
|
26
|
+
ids = [];
|
|
27
|
+
index = null;
|
|
28
|
+
constructor(db, maxDocs = HYBRID_MAX_INDEXED) {
|
|
29
|
+
this.db = db;
|
|
30
|
+
this.maxDocs = maxDocs;
|
|
31
|
+
}
|
|
32
|
+
static textOf(r) {
|
|
33
|
+
return tokenize([r.task, r.input, r.output, r.critique].filter(Boolean).join('\n'));
|
|
34
|
+
}
|
|
35
|
+
refresh() {
|
|
36
|
+
const sig = this.db.prepare('SELECT COUNT(*) AS c, MAX(id) AS m FROM episodes').get();
|
|
37
|
+
const count = sig?.c ?? 0;
|
|
38
|
+
const maxId = sig?.m ?? 0;
|
|
39
|
+
if (this.index && count === this.count && maxId === this.maxId)
|
|
40
|
+
return;
|
|
41
|
+
if (this.index && count > this.count && maxId > this.maxId && this.ids.length < this.maxDocs * 1.25) {
|
|
42
|
+
const added = this.db
|
|
43
|
+
.prepare('SELECT id, task, input, output, critique FROM episodes WHERE id > ? ORDER BY id ASC')
|
|
44
|
+
.all(this.maxId);
|
|
45
|
+
if (this.count + added.length === count) {
|
|
46
|
+
for (const r of added) {
|
|
47
|
+
this.index.add(EpisodeLexicalIndex.textOf(r));
|
|
48
|
+
this.ids.push(r.id);
|
|
49
|
+
}
|
|
50
|
+
this.count = count;
|
|
51
|
+
this.maxId = maxId;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const rows = this.db
|
|
56
|
+
.prepare('SELECT id, task, input, output, critique FROM episodes ORDER BY id DESC LIMIT ?')
|
|
57
|
+
.all(this.maxDocs);
|
|
58
|
+
this.index = new Bm25Index(rows.map(r => EpisodeLexicalIndex.textOf(r)));
|
|
59
|
+
this.ids = rows.map(r => r.id);
|
|
60
|
+
this.count = count;
|
|
61
|
+
this.maxId = maxId;
|
|
62
|
+
}
|
|
63
|
+
/** Episode ids with a BM25 match, best first, at most `limit`. */
|
|
64
|
+
search(query, limit) {
|
|
65
|
+
this.refresh();
|
|
66
|
+
if (!this.index || this.ids.length === 0)
|
|
67
|
+
return [];
|
|
68
|
+
const scores = this.index.score(tokenize(query, 256));
|
|
69
|
+
const hits = [];
|
|
70
|
+
for (let i = 0; i < scores.length; i++)
|
|
71
|
+
if (scores[i] > 0)
|
|
72
|
+
hits.push({ id: this.ids[i], score: scores[i] });
|
|
73
|
+
hits.sort((a, z) => z.score - a.score || z.id - a.id);
|
|
74
|
+
return hits.slice(0, limit);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Weighted RRF scores of a dense ranking (best first) and a lexical ranking (best first) over episode ids.
|
|
79
|
+
* Episodes only in the lexical list are ranked just past the dense pool on the dense side.
|
|
80
|
+
*/
|
|
81
|
+
export function fuseEpisodeScores(denseIds, lexical, lexicalWeight = HYBRID_LEXICAL_WEIGHT) {
|
|
82
|
+
const score = new Map();
|
|
83
|
+
const denseMiss = denseIds.length + 1;
|
|
84
|
+
denseIds.forEach((id, r) => score.set(id, 1 / (RRF_K + r + 1)));
|
|
85
|
+
lexical.forEach(({ id }, r) => {
|
|
86
|
+
const base = score.get(id) ?? 1 / (RRF_K + denseMiss);
|
|
87
|
+
score.set(id, base + lexicalWeight / (RRF_K + r + 1));
|
|
88
|
+
});
|
|
89
|
+
return score;
|
|
90
|
+
}
|
|
91
|
+
/** Ids ordered by score, ties broken by dense order, then by newer id. */
|
|
92
|
+
export function orderByScore(score, denseIds = []) {
|
|
93
|
+
const order = new Map();
|
|
94
|
+
denseIds.forEach((id, i) => order.set(id, i));
|
|
95
|
+
return [...score.entries()]
|
|
96
|
+
.sort((a, z) => z[1] - a[1] || (order.get(a[0]) ?? Infinity) - (order.get(z[0]) ?? Infinity) || z[0] - a[0])
|
|
97
|
+
.map(([id]) => id);
|
|
98
|
+
}
|
|
99
|
+
/** Fused ranking of episode ids, best first. */
|
|
100
|
+
export function fuseEpisodeRankings(denseIds, lexical, lexicalWeight = HYBRID_LEXICAL_WEIGHT) {
|
|
101
|
+
return orderByScore(fuseEpisodeScores(denseIds, lexical, lexicalWeight), denseIds);
|
|
102
|
+
}
|
|
103
|
+
/** Candidates the cross-encoder reads: the top `RERANK_DEPTH` of each ranking (the configuration benchmarked in ADR-016). */
|
|
104
|
+
export const RERANK_DEPTH = 60;
|
|
105
|
+
/** Weight of the cross-encoder rank in the fusion; best on LongMemEval_M (ADR-016). */
|
|
106
|
+
export const RERANK_WEIGHT = 8;
|
|
107
|
+
/**
|
|
108
|
+
* Adds `RERANK_WEIGHT`/(k + cross-encoder rank) to each candidate's fused score, in place. Candidates without text
|
|
109
|
+
* are skipped. Throws if the model cannot be loaded; the caller keeps the hybrid order.
|
|
110
|
+
*/
|
|
111
|
+
export async function applyCrossEncoder(query, score, candidates, textOf, model) {
|
|
112
|
+
const ids = candidates.filter(id => score.has(id) && textOf(id));
|
|
113
|
+
const ce = await crossEncoderScores(query, ids.map(id => textOf(id)), model);
|
|
114
|
+
const byCe = ids.map((_, i) => i).sort((a, z) => ce[z] - ce[a] || a - z);
|
|
115
|
+
byCe.forEach((i, r) => score.set(ids[i], score.get(ids[i]) + RERANK_WEIGHT / (RRF_K + r + 1)));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=episode-hybrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"episode-hybrid.js","sourceRoot":"","sources":["../../../src/controllers/episode-hybrid.ts"],"names":[],"mappings":"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"}
|
|
@@ -365,13 +365,15 @@ const tools = [
|
|
|
365
365
|
},
|
|
366
366
|
{
|
|
367
367
|
name: 'agentdb_search',
|
|
368
|
-
description: '
|
|
368
|
+
description: 'Hybrid episode search: dense k-NN (cosine) fused with BM25 keyword ranking by reciprocal-rank fusion. Set hybrid=false for pure vector order.',
|
|
369
369
|
inputSchema: {
|
|
370
370
|
type: 'object',
|
|
371
371
|
properties: {
|
|
372
372
|
query: { type: 'string', description: 'Search query text' },
|
|
373
373
|
k: { type: 'number', description: 'Number of results to return (max 100)', default: 10, minimum: 1, maximum: 100 },
|
|
374
374
|
min_similarity: { type: 'number', description: 'Minimum similarity threshold (0-1)', default: 0.0 },
|
|
375
|
+
hybrid: { type: 'boolean', description: 'Fuse BM25 keyword ranking with the vector ranking (ADR-016)', default: true },
|
|
376
|
+
rerank: { type: 'boolean', description: 'Rerank the top candidates with a local cross-encoder (ADR-016; ~200 ms on CPU, 23 MB model on first use)', default: false },
|
|
375
377
|
filters: {
|
|
376
378
|
type: 'object',
|
|
377
379
|
properties: {
|
|
@@ -1069,13 +1071,15 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1069
1071
|
};
|
|
1070
1072
|
}
|
|
1071
1073
|
case 'agentdb_search': {
|
|
1072
|
-
const queryText = args?.query;
|
|
1074
|
+
const queryText = validateTaskString(args?.query, 'query');
|
|
1073
1075
|
const k = Math.floor(validateNumericRange(args?.k ?? 10, 'k', 1, MAX_SEARCH_K));
|
|
1074
1076
|
const minSimilarity = args?.min_similarity || 0.0;
|
|
1075
1077
|
const filters = args?.filters;
|
|
1076
1078
|
const query = {
|
|
1077
1079
|
task: queryText,
|
|
1078
1080
|
k,
|
|
1081
|
+
hybrid: args?.hybrid !== false,
|
|
1082
|
+
rerank: args?.rerank === true,
|
|
1079
1083
|
};
|
|
1080
1084
|
if (filters) {
|
|
1081
1085
|
if (filters.min_reward !== undefined) {
|