@jcode.labs/ragmir 4.0.0 → 4.1.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/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/defaults.d.ts +1 -0
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js +2 -0
- package/dist/defaults.js.map +1 -1
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +2 -1
- package/dist/evaluate.js.map +1 -1
- package/dist/index-diagnostics.d.ts +1 -5
- package/dist/index-diagnostics.d.ts.map +1 -1
- package/dist/index-diagnostics.js +3 -6
- package/dist/index-diagnostics.js.map +1 -1
- package/dist/mcp.d.ts +2 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +10 -7
- package/dist/mcp.js.map +1 -1
- package/dist/parsing.js +1 -1
- package/dist/parsing.js.map +1 -1
- package/dist/portable-entry.js +1 -0
- package/dist/portable-entry.js.map +1 -1
- package/dist/portable.js +1 -0
- package/dist/portable.js.map +1 -1
- package/dist/quality-report.d.ts.map +1 -1
- package/dist/quality-report.js +1 -1
- package/dist/quality-report.js.map +1 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +64 -94
- package/dist/query.js.map +1 -1
- package/dist/ranking.d.ts +3 -2
- package/dist/ranking.d.ts.map +1 -1
- package/dist/ranking.js +3 -2
- package/dist/ranking.js.map +1 -1
- package/dist/retrieval-diversity.d.ts +18 -0
- package/dist/retrieval-diversity.d.ts.map +1 -0
- package/dist/retrieval-diversity.js +86 -0
- package/dist/retrieval-diversity.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +11 -11
package/dist/query.js
CHANGED
|
@@ -11,15 +11,16 @@ import { indexFreshnessWarning } from "./index-diagnostics.js";
|
|
|
11
11
|
import { operationSignal, throwIfAborted } from "./operation.js";
|
|
12
12
|
import { sanitizeRetrievalQuery } from "./query-sanitizer.js";
|
|
13
13
|
import { candidatePassesAbstention, queryEvidence, rankHybridRows, rankingPolicyFingerprint, rankingPolicyFor, tokensAreLexicallyRelated, } from "./ranking.js";
|
|
14
|
+
import { selectDiverseRows } from "./retrieval-diversity.js";
|
|
14
15
|
import { closeIndexReadSnapshot, loadIndexReadSnapshot } from "./store.js";
|
|
15
16
|
import { tokenize } from "./text.js";
|
|
16
17
|
import { configureAdaptiveVectorQuery, vectorIndexManifestCompatible } from "./vector-index.js";
|
|
17
18
|
import { runWorkload } from "./workload.js";
|
|
18
19
|
const VECTOR_CANDIDATE_POLICY = {
|
|
19
|
-
fast: { minimum: 40, multiplier: 3
|
|
20
|
-
balanced: { minimum: 80, multiplier: 4
|
|
21
|
-
quality: { minimum: 200, multiplier: 8
|
|
22
|
-
custom: { minimum: 80, multiplier: 4
|
|
20
|
+
fast: { minimum: 40, multiplier: 3 },
|
|
21
|
+
balanced: { minimum: 80, multiplier: 4 },
|
|
22
|
+
quality: { minimum: 200, multiplier: 8 },
|
|
23
|
+
custom: { minimum: 80, multiplier: 4 },
|
|
23
24
|
};
|
|
24
25
|
const LEXICAL_CANDIDATE_POLICY = {
|
|
25
26
|
fast: { minimum: 100, multiplier: 10 },
|
|
@@ -28,6 +29,7 @@ const LEXICAL_CANDIDATE_POLICY = {
|
|
|
28
29
|
custom: { minimum: 250, multiplier: 20 },
|
|
29
30
|
};
|
|
30
31
|
const MAX_CONTEXT_RADIUS = 3;
|
|
32
|
+
const DIVERSITY_CANDIDATE_MULTIPLIER = 4;
|
|
31
33
|
const MAX_VECTOR_CANDIDATES = 1_000;
|
|
32
34
|
const MAX_LEXICAL_CANDIDATES = 4_000;
|
|
33
35
|
const FULL_TEXT_INDEX_NAME = "searchText_idx";
|
|
@@ -86,6 +88,8 @@ export async function searchWithConfig(query, options, config, connection, activ
|
|
|
86
88
|
async function searchWithinGeneration(query, options, config, snapshot, activeSignal, workloadQueueMs = 0) {
|
|
87
89
|
const signal = activeSignal ?? operationSignal(options);
|
|
88
90
|
const topK = normalizeTopK(options.topK ?? config.topK);
|
|
91
|
+
const maxChunksPerDocument = normalizeMaxChunksPerDocument(options.maxChunksPerDocument ?? config.maxChunksPerDocument);
|
|
92
|
+
const candidateDemand = diversityCandidateDemand(topK, maxChunksPerDocument);
|
|
89
93
|
const defaultContextRadius = config.retrievalProfile === "quality" ? 1 : 0;
|
|
90
94
|
const contextRadius = normalizeContextRadius(options.contextRadius ?? defaultContextRadius);
|
|
91
95
|
throwIfAborted(signal);
|
|
@@ -108,10 +112,10 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
|
|
|
108
112
|
embeddingQueueMs = queueTimeMs;
|
|
109
113
|
}),
|
|
110
114
|
lexicalCandidateRows(table, sanitized.query, {
|
|
111
|
-
ftsLimit: lexicalCandidateLimit(
|
|
112
|
-
|
|
115
|
+
ftsLimit: lexicalCandidateLimit(candidateDemand, config.retrievalProfile),
|
|
116
|
+
fallbackBatchSize: config.hybridTextScanLimit,
|
|
113
117
|
indexedChunkCount: snapshot.manifest?.chunkCount ?? 0,
|
|
114
|
-
minimumResults:
|
|
118
|
+
minimumResults: candidateDemand,
|
|
115
119
|
pathPredicate: retrievalPredicate,
|
|
116
120
|
}),
|
|
117
121
|
]);
|
|
@@ -121,14 +125,19 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
|
|
|
121
125
|
const vectorRows = (await (retrievalPredicate
|
|
122
126
|
? vectorQuery.where(retrievalPredicate)
|
|
123
127
|
: vectorQuery)
|
|
124
|
-
.limit(vectorCandidateLimit(
|
|
128
|
+
.limit(vectorCandidateLimit(candidateDemand, config.retrievalProfile))
|
|
125
129
|
.toArray());
|
|
126
130
|
throwIfAborted(signal);
|
|
127
|
-
const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile);
|
|
131
|
+
const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile, maxChunksPerDocument);
|
|
128
132
|
const rankedRows = rankHybridRows(sanitized.query, vectorRows, lexicalCandidates.rows, rankingPolicy);
|
|
129
133
|
const relevantRows = rankedRows.filter((ranked) => lexicalCandidates.exactPathMatches.has(rowKey(ranked.row)) ||
|
|
130
134
|
candidatePassesAbstention(evidence, ranked.row, rankingPolicy));
|
|
131
|
-
const
|
|
135
|
+
const diversity = selectDiverseRows(relevantRows, {
|
|
136
|
+
topK,
|
|
137
|
+
maxChunksPerDocument,
|
|
138
|
+
isExactPathMatch: (row) => lexicalCandidates.exactPathMatches.has(rowKey(row)),
|
|
139
|
+
});
|
|
140
|
+
const rows = diversity.rows;
|
|
132
141
|
const contextByRow = await contextChunksByRow(table, rows, contextRadius, retrievalPredicate);
|
|
133
142
|
throwIfAborted(signal);
|
|
134
143
|
const results = rows.map((row) => {
|
|
@@ -169,6 +178,10 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
|
|
|
169
178
|
lexicalIndexedRows: lexicalCandidates.indexedRows,
|
|
170
179
|
lexicalUnindexedRows: lexicalCandidates.unindexedRows,
|
|
171
180
|
lexicalCoverage: lexicalCandidates.coverage,
|
|
181
|
+
lexicalScanBatches: lexicalCandidates.scanBatches,
|
|
182
|
+
diversityStrategy: "document-cap",
|
|
183
|
+
maxChunksPerDocument,
|
|
184
|
+
diversityBackfillActivated: diversity.backfillActivated,
|
|
172
185
|
workloadQueueMs: workloadQueueMs + embeddingQueueMs,
|
|
173
186
|
rankingPolicyFingerprint: rankingPolicyFingerprint(rankingPolicy),
|
|
174
187
|
matchedTerms: matchedQueryTerms(config.projectRoot, queryTokens, row.row.searchText),
|
|
@@ -185,79 +198,6 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
|
|
|
185
198
|
});
|
|
186
199
|
return results;
|
|
187
200
|
}
|
|
188
|
-
function diversifyRows(rows, topK, profile, exactPathMatches) {
|
|
189
|
-
const uniqueRows = [];
|
|
190
|
-
const textIndexes = new Map();
|
|
191
|
-
for (const row of rows) {
|
|
192
|
-
const textKey = row.row.text.replace(/\s+/gu, " ").trim().toLowerCase();
|
|
193
|
-
const existingIndex = textIndexes.get(textKey);
|
|
194
|
-
if (existingIndex === undefined) {
|
|
195
|
-
textIndexes.set(textKey, uniqueRows.length);
|
|
196
|
-
uniqueRows.push(row);
|
|
197
|
-
continue;
|
|
198
|
-
}
|
|
199
|
-
const existing = uniqueRows[existingIndex];
|
|
200
|
-
const existingIsExact = existing ? exactPathMatches.has(rowKey(existing.row)) : false;
|
|
201
|
-
const candidateIsExact = exactPathMatches.has(rowKey(row.row));
|
|
202
|
-
if (existing &&
|
|
203
|
-
(candidateIsExact !== existingIsExact
|
|
204
|
-
? candidateIsExact
|
|
205
|
-
: preferCanonicalPath(row.row.relativePath, existing.row.relativePath))) {
|
|
206
|
-
uniqueRows[existingIndex] = row;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
const selected = [];
|
|
210
|
-
const selectedKeys = new Set();
|
|
211
|
-
const perSource = new Map();
|
|
212
|
-
const maxChunksPerSource = VECTOR_CANDIDATE_POLICY[profile].maxChunksPerSource;
|
|
213
|
-
const appendRow = (row, enforceSourceCap) => {
|
|
214
|
-
const key = rowKey(row.row);
|
|
215
|
-
if (selectedKeys.has(key)) {
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
if (selected.some((candidate) => overlapsSourceSpan(candidate.row, row.row))) {
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
const sourceCount = perSource.get(row.row.relativePath) ?? 0;
|
|
222
|
-
if (enforceSourceCap && sourceCount >= maxChunksPerSource) {
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
selected.push(row);
|
|
226
|
-
selectedKeys.add(key);
|
|
227
|
-
perSource.set(row.row.relativePath, sourceCount + 1);
|
|
228
|
-
};
|
|
229
|
-
for (const row of uniqueRows) {
|
|
230
|
-
appendRow(row, true);
|
|
231
|
-
if (selected.length >= topK) {
|
|
232
|
-
return selected;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
for (const row of uniqueRows) {
|
|
236
|
-
appendRow(row, false);
|
|
237
|
-
if (selected.length >= topK) {
|
|
238
|
-
break;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
return selected;
|
|
242
|
-
}
|
|
243
|
-
function overlapsSourceSpan(left, right) {
|
|
244
|
-
if (left.relativePath !== right.relativePath) {
|
|
245
|
-
return false;
|
|
246
|
-
}
|
|
247
|
-
if (typeof left.charStart !== "number" ||
|
|
248
|
-
typeof left.charEnd !== "number" ||
|
|
249
|
-
typeof right.charStart !== "number" ||
|
|
250
|
-
typeof right.charEnd !== "number") {
|
|
251
|
-
return false;
|
|
252
|
-
}
|
|
253
|
-
return left.charStart < right.charEnd && right.charStart < left.charEnd;
|
|
254
|
-
}
|
|
255
|
-
function preferCanonicalPath(candidate, current) {
|
|
256
|
-
const candidateDepth = candidate.split("/").length;
|
|
257
|
-
const currentDepth = current.split("/").length;
|
|
258
|
-
return (candidateDepth < currentDepth ||
|
|
259
|
-
(candidateDepth === currentDepth && candidate.length < current.length));
|
|
260
|
-
}
|
|
261
201
|
export function vectorCandidateLimit(topK, profile = "balanced") {
|
|
262
202
|
const policy = VECTOR_CANDIDATE_POLICY[profile];
|
|
263
203
|
return Math.min(MAX_VECTOR_CANDIDATES, Math.max(policy.minimum, topK * policy.multiplier));
|
|
@@ -447,6 +387,7 @@ async function lexicalCandidateRows(table, query, options) {
|
|
|
447
387
|
indexedRows,
|
|
448
388
|
unindexedRows,
|
|
449
389
|
coverage: coveredRows === 0 ? 1 : indexedRows / coveredRows,
|
|
390
|
+
scanBatches: 0,
|
|
450
391
|
};
|
|
451
392
|
}
|
|
452
393
|
catch {
|
|
@@ -454,29 +395,45 @@ async function lexicalCandidateRows(table, query, options) {
|
|
|
454
395
|
// A complete bounded scan remains safe for small or explicitly bounded corpora.
|
|
455
396
|
}
|
|
456
397
|
}
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
}
|
|
460
|
-
const fallbackQuery = table.query().select(SEARCH_COLUMNS);
|
|
461
|
-
const rows = (await (options.pathPredicate
|
|
462
|
-
? fallbackQuery.where(options.pathPredicate)
|
|
463
|
-
: fallbackQuery)
|
|
464
|
-
.limit(options.fallbackLimit)
|
|
465
|
-
.toArray());
|
|
398
|
+
const fallback = await scanFallbackRows(table, options.fallbackBatchSize, options.pathPredicate);
|
|
399
|
+
const rows = fallback.rows;
|
|
466
400
|
return {
|
|
467
401
|
rows,
|
|
468
402
|
exactPathMatches: new Set(),
|
|
469
403
|
backend: "fallback",
|
|
470
404
|
fallbackActivated: true,
|
|
471
405
|
fallbackReason,
|
|
472
|
-
candidateLimit: options.
|
|
406
|
+
candidateLimit: Math.max(options.indexedChunkCount, rows.length),
|
|
473
407
|
candidatesMaterialized: rows.length,
|
|
474
408
|
queryVariants: 0,
|
|
475
409
|
indexedRows: 0,
|
|
476
410
|
unindexedRows: options.indexedChunkCount,
|
|
477
|
-
coverage:
|
|
411
|
+
coverage: 1,
|
|
412
|
+
scanBatches: fallback.batches,
|
|
478
413
|
};
|
|
479
414
|
}
|
|
415
|
+
async function scanFallbackRows(table, batchSize, pathPredicate) {
|
|
416
|
+
const rows = [];
|
|
417
|
+
let offset = 0;
|
|
418
|
+
let batches = 0;
|
|
419
|
+
while (true) {
|
|
420
|
+
const query = table.query().select(SEARCH_COLUMNS);
|
|
421
|
+
const batch = (await (pathPredicate ? query.where(pathPredicate) : query)
|
|
422
|
+
.offset(offset)
|
|
423
|
+
.limit(batchSize)
|
|
424
|
+
.toArray());
|
|
425
|
+
if (batch.length === 0) {
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
428
|
+
rows.push(...batch);
|
|
429
|
+
batches += 1;
|
|
430
|
+
offset += batch.length;
|
|
431
|
+
if (batch.length < batchSize) {
|
|
432
|
+
break;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return { rows, batches };
|
|
436
|
+
}
|
|
480
437
|
async function executeFullTextQuery(table, query, limit, pathPredicate) {
|
|
481
438
|
const searchQuery = table.search(query, "fts", "searchText").select(FTS_SEARCH_COLUMNS);
|
|
482
439
|
return (await (pathPredicate ? searchQuery.where(pathPredicate) : searchQuery)
|
|
@@ -680,6 +637,19 @@ function normalizeTopK(topK) {
|
|
|
680
637
|
}
|
|
681
638
|
return topK;
|
|
682
639
|
}
|
|
640
|
+
function normalizeMaxChunksPerDocument(maxChunksPerDocument) {
|
|
641
|
+
if (!Number.isSafeInteger(maxChunksPerDocument) || maxChunksPerDocument <= 0) {
|
|
642
|
+
throw new RagmirError("INVALID_ARGUMENT", "maxChunksPerDocument must be a positive integer.");
|
|
643
|
+
}
|
|
644
|
+
if (maxChunksPerDocument > MAX_SEARCH_TOP_K) {
|
|
645
|
+
throw new RagmirError("INVALID_ARGUMENT", `maxChunksPerDocument must be at most ${MAX_SEARCH_TOP_K}.`);
|
|
646
|
+
}
|
|
647
|
+
return maxChunksPerDocument;
|
|
648
|
+
}
|
|
649
|
+
function diversityCandidateDemand(topK, maxChunksPerDocument) {
|
|
650
|
+
const multiplier = Math.max(1, Math.ceil(DIVERSITY_CANDIDATE_MULTIPLIER / maxChunksPerDocument));
|
|
651
|
+
return topK * multiplier;
|
|
652
|
+
}
|
|
683
653
|
function citationForRow(row) {
|
|
684
654
|
return citationForCoordinates(row);
|
|
685
655
|
}
|
package/dist/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/ranking.d.ts
CHANGED
|
@@ -16,9 +16,10 @@ export interface RankedRow<Row extends RankingRow = RankingRow> {
|
|
|
16
16
|
lexicalBackendScore: number | null;
|
|
17
17
|
}
|
|
18
18
|
export interface RankingPolicy {
|
|
19
|
-
version:
|
|
19
|
+
version: 3;
|
|
20
20
|
embeddingProvider: EmbeddingProvider;
|
|
21
21
|
retrievalProfile: RetrievalProfile;
|
|
22
|
+
maxChunksPerDocument: number;
|
|
22
23
|
rrfK: number;
|
|
23
24
|
vectorWeight: number;
|
|
24
25
|
lexicalWeight: number;
|
|
@@ -29,7 +30,7 @@ export interface QueryEvidence {
|
|
|
29
30
|
tokens: string[];
|
|
30
31
|
anchors: string[];
|
|
31
32
|
}
|
|
32
|
-
export declare function rankingPolicyFor(embeddingProvider: EmbeddingProvider, retrievalProfile: RetrievalProfile): RankingPolicy;
|
|
33
|
+
export declare function rankingPolicyFor(embeddingProvider: EmbeddingProvider, retrievalProfile: RetrievalProfile, maxChunksPerDocument: number): RankingPolicy;
|
|
33
34
|
export declare function rankingPolicyFingerprint(policy: RankingPolicy): string;
|
|
34
35
|
export declare function queryEvidence(query: string): QueryEvidence;
|
|
35
36
|
export declare function rankHybridRows<Row extends RankingRow>(query: string, vectorRows: Row[], textRows: Row[], policy: RankingPolicy): Array<RankedRow<Row>>;
|
package/dist/ranking.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAErE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC5D,GAAG,EAAE,GAAG,CAAA;IACR,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAA;IACV,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAYD,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAErE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC5D,GAAG,EAAE,GAAG,CAAA;IACR,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAA;IACV,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAYD,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,MAAM,GAC3B,aAAa,CAYf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEtE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAe1D;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAS,UAAU,EACnD,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,GAAG,EAAE,EACjB,QAAQ,EAAE,GAAG,EAAE,EACf,MAAM,EAAE,aAAa,GACpB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CA6CvB;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,aAAa,GAAG,MAAM,EACvC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAWT;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBxF"}
|
package/dist/ranking.js
CHANGED
|
@@ -9,11 +9,12 @@ const MIN_FUZZY_TOKEN_LENGTH = 7;
|
|
|
9
9
|
const MIN_TRIGRAM_DICE_SIMILARITY = 0.5;
|
|
10
10
|
const TRANSFORMERS_MAXIMUM_VECTOR_DISTANCE = 1.1;
|
|
11
11
|
const IDENTIFIER_PATTERN = /[\p{L}\p{N}]+(?:[-_][\p{L}\p{N}]+)+/gu;
|
|
12
|
-
export function rankingPolicyFor(embeddingProvider, retrievalProfile) {
|
|
12
|
+
export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksPerDocument) {
|
|
13
13
|
return {
|
|
14
|
-
version:
|
|
14
|
+
version: 3,
|
|
15
15
|
embeddingProvider,
|
|
16
16
|
retrievalProfile,
|
|
17
|
+
maxChunksPerDocument,
|
|
17
18
|
rrfK: RRF_K,
|
|
18
19
|
vectorWeight: RRF_VECTOR_WEIGHT,
|
|
19
20
|
lexicalWeight: RRF_LEXICAL_WEIGHT,
|
package/dist/ranking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranking.js","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ranking.js","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RankedRow, RankingRow } from "./ranking.js";
|
|
2
|
+
interface DiversifiableRow extends RankingRow {
|
|
3
|
+
text: string;
|
|
4
|
+
charStart?: number;
|
|
5
|
+
charEnd?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface DocumentDiversityOptions<Row extends DiversifiableRow> {
|
|
8
|
+
topK: number;
|
|
9
|
+
maxChunksPerDocument: number;
|
|
10
|
+
isExactPathMatch?: (row: Row) => boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface DocumentDiversityResult<Row extends DiversifiableRow> {
|
|
13
|
+
rows: Array<RankedRow<Row>>;
|
|
14
|
+
backfillActivated: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function selectDiverseRows<Row extends DiversifiableRow>(rows: Array<RankedRow<Row>>, options: DocumentDiversityOptions<Row>): DocumentDiversityResult<Row>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=retrieval-diversity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-diversity.d.ts","sourceRoot":"","sources":["../src/retrieval-diversity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzD,UAAU,gBAAiB,SAAQ,UAAU;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,wBAAwB,CAAC,GAAG,SAAS,gBAAgB;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,uBAAuB,CAAC,GAAG,SAAS,gBAAgB;IACnE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3B,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,gBAAgB,EAC5D,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAC3B,OAAO,EAAE,wBAAwB,CAAC,GAAG,CAAC,GACrC,uBAAuB,CAAC,GAAG,CAAC,CA0C9B"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export function selectDiverseRows(rows, options) {
|
|
2
|
+
const uniqueRows = deduplicateText(rows, options.isExactPathMatch);
|
|
3
|
+
const selected = [];
|
|
4
|
+
const selectedKeys = new Set();
|
|
5
|
+
const perDocument = new Map();
|
|
6
|
+
const appendRow = (row, enforceDocumentCap) => {
|
|
7
|
+
const key = rowKey(row.row);
|
|
8
|
+
if (selectedKeys.has(key)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
if (selected.some((candidate) => overlapsDocumentSpan(candidate.row, row.row))) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const documentCount = perDocument.get(row.row.relativePath) ?? 0;
|
|
15
|
+
if (enforceDocumentCap && documentCount >= options.maxChunksPerDocument) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
selected.push(row);
|
|
19
|
+
selectedKeys.add(key);
|
|
20
|
+
perDocument.set(row.row.relativePath, documentCount + 1);
|
|
21
|
+
return true;
|
|
22
|
+
};
|
|
23
|
+
for (const row of uniqueRows) {
|
|
24
|
+
appendRow(row, true);
|
|
25
|
+
if (selected.length >= options.topK) {
|
|
26
|
+
return { rows: selected, backfillActivated: false };
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
let backfillActivated = false;
|
|
30
|
+
for (const row of uniqueRows) {
|
|
31
|
+
if (appendRow(row, false)) {
|
|
32
|
+
backfillActivated = true;
|
|
33
|
+
}
|
|
34
|
+
if (selected.length >= options.topK) {
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return { rows: selected, backfillActivated };
|
|
39
|
+
}
|
|
40
|
+
function deduplicateText(rows, isExactPathMatch) {
|
|
41
|
+
const uniqueRows = [];
|
|
42
|
+
const textIndexes = new Map();
|
|
43
|
+
for (const row of rows) {
|
|
44
|
+
const textKey = row.row.text.replace(/\s+/gu, " ").trim().toLowerCase();
|
|
45
|
+
const existingIndex = textIndexes.get(textKey);
|
|
46
|
+
if (existingIndex === undefined) {
|
|
47
|
+
textIndexes.set(textKey, uniqueRows.length);
|
|
48
|
+
uniqueRows.push(row);
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const existing = uniqueRows[existingIndex];
|
|
52
|
+
if (!existing) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
const existingIsExact = isExactPathMatch?.(existing.row) ?? false;
|
|
56
|
+
const candidateIsExact = isExactPathMatch?.(row.row) ?? false;
|
|
57
|
+
if (candidateIsExact !== existingIsExact
|
|
58
|
+
? candidateIsExact
|
|
59
|
+
: preferCanonicalPath(row.row.relativePath, existing.row.relativePath)) {
|
|
60
|
+
uniqueRows[existingIndex] = row;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return uniqueRows;
|
|
64
|
+
}
|
|
65
|
+
function overlapsDocumentSpan(left, right) {
|
|
66
|
+
if (left.relativePath !== right.relativePath) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
if (typeof left.charStart !== "number" ||
|
|
70
|
+
typeof left.charEnd !== "number" ||
|
|
71
|
+
typeof right.charStart !== "number" ||
|
|
72
|
+
typeof right.charEnd !== "number") {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return left.charStart < right.charEnd && right.charStart < left.charEnd;
|
|
76
|
+
}
|
|
77
|
+
function preferCanonicalPath(candidate, current) {
|
|
78
|
+
const candidateDepth = candidate.split("/").length;
|
|
79
|
+
const currentDepth = current.split("/").length;
|
|
80
|
+
return (candidateDepth < currentDepth ||
|
|
81
|
+
(candidateDepth === currentDepth && candidate.length < current.length));
|
|
82
|
+
}
|
|
83
|
+
function rowKey(row) {
|
|
84
|
+
return `${row.relativePath}\0${row.chunkIndex}`;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=retrieval-diversity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-diversity.js","sourceRoot":"","sources":["../src/retrieval-diversity.ts"],"names":[],"mappings":"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"}
|