@jcode.labs/ragmir 4.0.0 → 4.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 +1 -1
- 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/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +19 -9
- package/dist/embeddings.js.map +1 -1
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +5 -3
- 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 +12 -9
- 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 +150 -123
- 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/research.d.ts +5 -0
- package/dist/research.d.ts.map +1 -1
- package/dist/research.js +77 -1
- package/dist/research.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 +95 -0
- package/dist/retrieval-diversity.js.map +1 -0
- package/dist/setup-prompt.d.ts +1 -1
- package/dist/setup-prompt.d.ts.map +1 -1
- package/dist/setup-prompt.js +1 -1
- package/dist/types.d.ts +13 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +15 -15
package/dist/query.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { channel } from "node:diagnostics_channel";
|
|
2
|
-
import { MatchQuery, Operator, PhraseQuery, } from "@lancedb/lancedb";
|
|
2
|
+
import { BooleanQuery, MatchQuery, Occur, Operator, PhraseQuery, } from "@lancedb/lancedb";
|
|
3
3
|
import { flushAccessLog, recordAccess } from "./access-log.js";
|
|
4
4
|
import { citationForCoordinates, stripCitationCoordinates } from "./citation.js";
|
|
5
5
|
import { loadConfig } from "./config.js";
|
|
@@ -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);
|
|
@@ -103,32 +107,50 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
|
|
|
103
107
|
}
|
|
104
108
|
const retrievalPredicate = searchPredicate(options.includePaths, options.excludePaths, options.contextPaths);
|
|
105
109
|
let embeddingQueueMs = 0;
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
110
|
+
const lexicalCandidatesPromise = lexicalCandidateRows(table, sanitized.query, {
|
|
111
|
+
ftsLimit: lexicalCandidateLimit(candidateDemand, config.retrievalProfile),
|
|
112
|
+
fallbackBatchSize: config.hybridTextScanLimit,
|
|
113
|
+
indexedChunkCount: snapshot.manifest?.chunkCount ?? 0,
|
|
114
|
+
minimumResults: candidateDemand,
|
|
115
|
+
pathPredicate: retrievalPredicate,
|
|
116
|
+
...(signal === undefined ? {} : { signal }),
|
|
117
|
+
});
|
|
118
|
+
const vectorRowsPromise = embedText(sanitized.query, config, signal, ({ queueTimeMs }) => {
|
|
119
|
+
embeddingQueueMs = queueTimeMs;
|
|
120
|
+
}).then(async (vector) => {
|
|
121
|
+
throwIfAborted(signal);
|
|
122
|
+
const manifest = assertVectorIndexCompatibility(config, snapshot.manifest, vector.length);
|
|
123
|
+
const vectorQuery = configureAdaptiveVectorQuery(table.vectorSearch(vector).select(VECTOR_SEARCH_COLUMNS), manifest.vectorIndex, options.vectorSearchMode === "exact");
|
|
124
|
+
return (await (retrievalPredicate ? vectorQuery.where(retrievalPredicate) : vectorQuery)
|
|
125
|
+
.limit(vectorCandidateLimit(candidateDemand, config.retrievalProfile))
|
|
126
|
+
.toArray());
|
|
127
|
+
});
|
|
128
|
+
const [vectorRowsOutcome, lexicalCandidatesOutcome] = await Promise.allSettled([
|
|
129
|
+
vectorRowsPromise,
|
|
130
|
+
lexicalCandidatesPromise,
|
|
117
131
|
]);
|
|
132
|
+
if (vectorRowsOutcome.status === "rejected") {
|
|
133
|
+
throw vectorRowsOutcome.reason;
|
|
134
|
+
}
|
|
135
|
+
if (lexicalCandidatesOutcome.status === "rejected") {
|
|
136
|
+
throw lexicalCandidatesOutcome.reason;
|
|
137
|
+
}
|
|
138
|
+
const vectorRows = vectorRowsOutcome.value;
|
|
139
|
+
const lexicalCandidates = lexicalCandidatesOutcome.value;
|
|
118
140
|
throwIfAborted(signal);
|
|
119
|
-
const
|
|
120
|
-
const vectorQuery = configureAdaptiveVectorQuery(table.vectorSearch(vector).select(VECTOR_SEARCH_COLUMNS), manifest.vectorIndex, options.vectorSearchMode === "exact");
|
|
121
|
-
const vectorRows = (await (retrievalPredicate
|
|
122
|
-
? vectorQuery.where(retrievalPredicate)
|
|
123
|
-
: vectorQuery)
|
|
124
|
-
.limit(vectorCandidateLimit(topK, config.retrievalProfile))
|
|
125
|
-
.toArray());
|
|
126
|
-
throwIfAborted(signal);
|
|
127
|
-
const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile);
|
|
141
|
+
const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile, maxChunksPerDocument);
|
|
128
142
|
const rankedRows = rankHybridRows(sanitized.query, vectorRows, lexicalCandidates.rows, rankingPolicy);
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
143
|
+
const isExactPathMatch = (row) => lexicalCandidates.exactPathMatches.has(rowKey(row));
|
|
144
|
+
const relevantRows = rankedRows
|
|
145
|
+
.filter((ranked) => isExactPathMatch(ranked.row) ||
|
|
146
|
+
candidatePassesAbstention(evidence, ranked.row, rankingPolicy))
|
|
147
|
+
.sort((left, right) => Number(isExactPathMatch(right.row)) - Number(isExactPathMatch(left.row)));
|
|
148
|
+
const diversity = selectDiverseRows(relevantRows, {
|
|
149
|
+
topK,
|
|
150
|
+
maxChunksPerDocument,
|
|
151
|
+
isExactPathMatch,
|
|
152
|
+
});
|
|
153
|
+
const rows = diversity.rows;
|
|
132
154
|
const contextByRow = await contextChunksByRow(table, rows, contextRadius, retrievalPredicate);
|
|
133
155
|
throwIfAborted(signal);
|
|
134
156
|
const results = rows.map((row) => {
|
|
@@ -169,6 +191,10 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
|
|
|
169
191
|
lexicalIndexedRows: lexicalCandidates.indexedRows,
|
|
170
192
|
lexicalUnindexedRows: lexicalCandidates.unindexedRows,
|
|
171
193
|
lexicalCoverage: lexicalCandidates.coverage,
|
|
194
|
+
lexicalScanBatches: lexicalCandidates.scanBatches,
|
|
195
|
+
diversityStrategy: "document-cap",
|
|
196
|
+
maxChunksPerDocument,
|
|
197
|
+
diversityBackfillActivated: diversity.backfillActivated,
|
|
172
198
|
workloadQueueMs: workloadQueueMs + embeddingQueueMs,
|
|
173
199
|
rankingPolicyFingerprint: rankingPolicyFingerprint(rankingPolicy),
|
|
174
200
|
matchedTerms: matchedQueryTerms(config.projectRoot, queryTokens, row.row.searchText),
|
|
@@ -185,79 +211,6 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
|
|
|
185
211
|
});
|
|
186
212
|
return results;
|
|
187
213
|
}
|
|
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
214
|
export function vectorCandidateLimit(topK, profile = "balanced") {
|
|
262
215
|
const policy = VECTOR_CANDIDATE_POLICY[profile];
|
|
263
216
|
return Math.min(MAX_VECTOR_CANDIDATES, Math.max(policy.minimum, topK * policy.multiplier));
|
|
@@ -386,16 +339,19 @@ function retrievalOnlyAnswer(sources) {
|
|
|
386
339
|
].join("\n");
|
|
387
340
|
}
|
|
388
341
|
async function lexicalCandidateRows(table, query, options) {
|
|
342
|
+
throwIfAborted(options.signal);
|
|
389
343
|
const ftsQueries = lexicalQuery(query);
|
|
390
344
|
const stats = await table.indexStats(FULL_TEXT_INDEX_NAME).catch(() => undefined);
|
|
345
|
+
const sourcePathQuery = sourcePathPredicateForQuery(query);
|
|
346
|
+
throwIfAborted(options.signal);
|
|
391
347
|
let fallbackReason = "fts-index-unavailable";
|
|
392
348
|
if (ftsQueries && stats) {
|
|
393
349
|
try {
|
|
394
|
-
const sourcePathQuery = sourcePathPredicateForQuery(query);
|
|
395
350
|
const sourcePathRows = sourcePathQuery
|
|
396
351
|
? await executeSourcePathQuery(table, sourcePathQuery, options.ftsLimit, options.pathPredicate)
|
|
397
352
|
: [];
|
|
398
353
|
const primaryRows = await executeFullTextQuery(table, ftsQueries.primary, options.ftsLimit, options.pathPredicate);
|
|
354
|
+
throwIfAborted(options.signal);
|
|
399
355
|
const rows = [];
|
|
400
356
|
const initialRows = [...sourcePathRows, ...primaryRows];
|
|
401
357
|
const seenRows = new Set();
|
|
@@ -409,7 +365,9 @@ async function lexicalCandidateRows(table, query, options) {
|
|
|
409
365
|
let executedVariants = 1 + Number(sourcePathQuery !== null);
|
|
410
366
|
if (rows.length < options.minimumResults) {
|
|
411
367
|
for (const supplementalQuery of ftsQueries.supplemental) {
|
|
368
|
+
throwIfAborted(options.signal);
|
|
412
369
|
const supplementalRows = await executeFullTextQuery(table, supplementalQuery, options.ftsLimit, options.pathPredicate).catch(() => []);
|
|
370
|
+
throwIfAborted(options.signal);
|
|
413
371
|
executedVariants += 1;
|
|
414
372
|
for (const row of supplementalRows) {
|
|
415
373
|
const key = rowKey(row);
|
|
@@ -447,6 +405,7 @@ async function lexicalCandidateRows(table, query, options) {
|
|
|
447
405
|
indexedRows,
|
|
448
406
|
unindexedRows,
|
|
449
407
|
coverage: coveredRows === 0 ? 1 : indexedRows / coveredRows,
|
|
408
|
+
scanBatches: 0,
|
|
450
409
|
};
|
|
451
410
|
}
|
|
452
411
|
catch {
|
|
@@ -454,29 +413,60 @@ async function lexicalCandidateRows(table, query, options) {
|
|
|
454
413
|
// A complete bounded scan remains safe for small or explicitly bounded corpora.
|
|
455
414
|
}
|
|
456
415
|
}
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
.
|
|
465
|
-
|
|
416
|
+
const fallback = await scanFallbackRows(table, options.fallbackBatchSize, options.pathPredicate, options.signal);
|
|
417
|
+
const sourcePathRows = sourcePathQuery
|
|
418
|
+
? await executeSourcePathQuery(table, sourcePathQuery, options.ftsLimit, options.pathPredicate)
|
|
419
|
+
: [];
|
|
420
|
+
throwIfAborted(options.signal);
|
|
421
|
+
const rowsByKey = new Map(fallback.rows.map((row) => [rowKey(row), row]));
|
|
422
|
+
for (const row of sourcePathRows) {
|
|
423
|
+
rowsByKey.set(rowKey(row), row);
|
|
424
|
+
}
|
|
425
|
+
const rows = [...rowsByKey.values()];
|
|
426
|
+
const exactPathMatches = new Set(sourcePathQuery?.exactRelativePath
|
|
427
|
+
? sourcePathRows
|
|
428
|
+
.filter((row) => row.relativePath === sourcePathQuery.exactRelativePath)
|
|
429
|
+
.map(rowKey)
|
|
430
|
+
: []);
|
|
466
431
|
return {
|
|
467
432
|
rows,
|
|
468
|
-
exactPathMatches
|
|
433
|
+
exactPathMatches,
|
|
469
434
|
backend: "fallback",
|
|
470
435
|
fallbackActivated: true,
|
|
471
436
|
fallbackReason,
|
|
472
|
-
candidateLimit: options.
|
|
437
|
+
candidateLimit: Math.max(options.indexedChunkCount, rows.length),
|
|
473
438
|
candidatesMaterialized: rows.length,
|
|
474
439
|
queryVariants: 0,
|
|
475
440
|
indexedRows: 0,
|
|
476
441
|
unindexedRows: options.indexedChunkCount,
|
|
477
|
-
coverage:
|
|
442
|
+
coverage: 1,
|
|
443
|
+
scanBatches: fallback.batches,
|
|
478
444
|
};
|
|
479
445
|
}
|
|
446
|
+
async function scanFallbackRows(table, batchSize, pathPredicate, signal) {
|
|
447
|
+
const rows = [];
|
|
448
|
+
let offset = 0;
|
|
449
|
+
let batches = 0;
|
|
450
|
+
while (true) {
|
|
451
|
+
throwIfAborted(signal);
|
|
452
|
+
const query = table.query().select(SEARCH_COLUMNS);
|
|
453
|
+
const batch = (await (pathPredicate ? query.where(pathPredicate) : query)
|
|
454
|
+
.offset(offset)
|
|
455
|
+
.limit(batchSize)
|
|
456
|
+
.toArray());
|
|
457
|
+
throwIfAborted(signal);
|
|
458
|
+
if (batch.length === 0) {
|
|
459
|
+
break;
|
|
460
|
+
}
|
|
461
|
+
rows.push(...batch);
|
|
462
|
+
batches += 1;
|
|
463
|
+
offset += batch.length;
|
|
464
|
+
if (batch.length < batchSize) {
|
|
465
|
+
break;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
return { rows, batches };
|
|
469
|
+
}
|
|
480
470
|
async function executeFullTextQuery(table, query, limit, pathPredicate) {
|
|
481
471
|
const searchQuery = table.search(query, "fts", "searchText").select(FTS_SEARCH_COLUMNS);
|
|
482
472
|
return (await (pathPredicate ? searchQuery.where(pathPredicate) : searchQuery)
|
|
@@ -680,6 +670,19 @@ function normalizeTopK(topK) {
|
|
|
680
670
|
}
|
|
681
671
|
return topK;
|
|
682
672
|
}
|
|
673
|
+
function normalizeMaxChunksPerDocument(maxChunksPerDocument) {
|
|
674
|
+
if (!Number.isSafeInteger(maxChunksPerDocument) || maxChunksPerDocument <= 0) {
|
|
675
|
+
throw new RagmirError("INVALID_ARGUMENT", "maxChunksPerDocument must be a positive integer.");
|
|
676
|
+
}
|
|
677
|
+
if (maxChunksPerDocument > MAX_SEARCH_TOP_K) {
|
|
678
|
+
throw new RagmirError("INVALID_ARGUMENT", `maxChunksPerDocument must be at most ${MAX_SEARCH_TOP_K}.`);
|
|
679
|
+
}
|
|
680
|
+
return maxChunksPerDocument;
|
|
681
|
+
}
|
|
682
|
+
function diversityCandidateDemand(topK, maxChunksPerDocument) {
|
|
683
|
+
const multiplier = Math.max(1, Math.ceil(DIVERSITY_CANDIDATE_MULTIPLIER / maxChunksPerDocument));
|
|
684
|
+
return topK * multiplier;
|
|
685
|
+
}
|
|
683
686
|
function citationForRow(row) {
|
|
684
687
|
return citationForCoordinates(row);
|
|
685
688
|
}
|
|
@@ -689,18 +692,42 @@ function lexicalQuery(query) {
|
|
|
689
692
|
return null;
|
|
690
693
|
}
|
|
691
694
|
const joined = tokens.join(" ");
|
|
695
|
+
const broadQuery = new MatchQuery(joined, "searchText", { operator: Operator.Or });
|
|
692
696
|
const supplemental = [];
|
|
693
|
-
if (tokens.length > 1) {
|
|
694
|
-
supplemental.push(new PhraseQuery(joined, "searchText"));
|
|
695
|
-
}
|
|
696
697
|
const identifierTerms = [...query.matchAll(LEXICAL_IDENTIFIER_PATTERN)]
|
|
697
698
|
.map((match) => match[0])
|
|
698
699
|
.filter(Boolean);
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
700
|
+
const identifiers = [...new Set(identifierTerms)];
|
|
701
|
+
const firstIdentifier = identifiers[0];
|
|
702
|
+
if (firstIdentifier !== undefined) {
|
|
703
|
+
const firstExactIdentifierQuery = new PhraseQuery(firstIdentifier, "searchText");
|
|
704
|
+
const exactIdentifierQueries = [
|
|
705
|
+
firstExactIdentifierQuery,
|
|
706
|
+
...identifiers.slice(1).map((identifier) => new PhraseQuery(identifier, "searchText")),
|
|
707
|
+
];
|
|
708
|
+
const exactIdentifierQuery = exactIdentifierQueries.length === 1
|
|
709
|
+
? firstExactIdentifierQuery
|
|
710
|
+
: new BooleanQuery(exactIdentifierQueries.map((item) => [Occur.Should, item]));
|
|
711
|
+
const fuzzyIdentifierQuery = new BooleanQuery(identifiers.map((identifier) => [
|
|
712
|
+
Occur.Should,
|
|
713
|
+
new MatchQuery(identifier, "searchText", {
|
|
714
|
+
boost: 2,
|
|
715
|
+
fuzziness: 1,
|
|
716
|
+
operator: Operator.And,
|
|
717
|
+
prefixLength: 3,
|
|
718
|
+
}),
|
|
719
|
+
]));
|
|
720
|
+
supplemental.push(fuzzyIdentifierQuery, broadQuery);
|
|
721
|
+
return {
|
|
722
|
+
primary: new BooleanQuery([
|
|
723
|
+
[Occur.Must, exactIdentifierQuery],
|
|
724
|
+
[Occur.Should, broadQuery],
|
|
725
|
+
]),
|
|
726
|
+
supplemental,
|
|
727
|
+
};
|
|
728
|
+
}
|
|
729
|
+
if (tokens.length > 1) {
|
|
730
|
+
supplemental.push(new PhraseQuery(joined, "searchText"));
|
|
704
731
|
}
|
|
705
732
|
const rareTerms = tokens
|
|
706
733
|
.filter(isFuzzyLexicalTerm)
|
|
@@ -714,7 +741,7 @@ function lexicalQuery(query) {
|
|
|
714
741
|
}));
|
|
715
742
|
}
|
|
716
743
|
return {
|
|
717
|
-
primary:
|
|
744
|
+
primary: broadQuery,
|
|
718
745
|
supplemental,
|
|
719
746
|
};
|
|
720
747
|
}
|
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: 4;
|
|
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: 4,
|
|
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,
|