@absolutejs/absolute 0.19.0-beta.553 → 0.19.0-beta.555
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/ai/client/index.js +63 -4
- package/dist/ai/client/index.js.map +3 -3
- package/dist/ai/index.js +135 -7
- package/dist/ai/index.js.map +7 -7
- package/dist/react/ai/index.js +63 -4
- package/dist/react/ai/index.js.map +3 -3
- package/dist/src/ai/rag/lexical.d.ts +2 -1
- package/dist/src/vue/ai/useRAG.d.ts +20 -0
- package/dist/src/vue/ai/useRAGEvaluate.d.ts +16 -0
- package/dist/src/vue/ai/useRAGSearch.d.ts +4 -0
- package/dist/svelte/ai/index.js +63 -4
- package/dist/svelte/ai/index.js.map +3 -3
- package/dist/types/ai.d.ts +15 -1
- package/dist/vue/ai/index.js +63 -4
- package/dist/vue/ai/index.js.map +3 -3
- package/package.json +7 -7
package/dist/ai/index.js
CHANGED
|
@@ -2551,7 +2551,9 @@ var resolveRAGHybridSearchOptions = (retrieval) => {
|
|
|
2551
2551
|
fusionConstant: DEFAULT_FUSION_CONSTANT,
|
|
2552
2552
|
lexicalTopK: undefined,
|
|
2553
2553
|
lexicalWeight: 2,
|
|
2554
|
+
mmrLambda: 0.7,
|
|
2554
2555
|
sourceBalanceStrategy: "cap",
|
|
2556
|
+
noveltyStrategy: "none",
|
|
2555
2557
|
mode: "vector",
|
|
2556
2558
|
vectorWeight: 1
|
|
2557
2559
|
};
|
|
@@ -2562,7 +2564,9 @@ var resolveRAGHybridSearchOptions = (retrieval) => {
|
|
|
2562
2564
|
fusionConstant: DEFAULT_FUSION_CONSTANT,
|
|
2563
2565
|
lexicalTopK: undefined,
|
|
2564
2566
|
lexicalWeight: 2,
|
|
2567
|
+
mmrLambda: 0.7,
|
|
2565
2568
|
sourceBalanceStrategy: "cap",
|
|
2569
|
+
noveltyStrategy: "none",
|
|
2566
2570
|
mode: retrieval,
|
|
2567
2571
|
vectorWeight: 1
|
|
2568
2572
|
};
|
|
@@ -2573,7 +2577,9 @@ var resolveRAGHybridSearchOptions = (retrieval) => {
|
|
|
2573
2577
|
lexicalTopK: retrieval.lexicalTopK,
|
|
2574
2578
|
maxResultsPerSource: typeof retrieval.maxResultsPerSource === "number" ? Math.max(1, Math.floor(retrieval.maxResultsPerSource)) : undefined,
|
|
2575
2579
|
lexicalWeight: Math.max(0, retrieval.lexicalWeight ?? 2),
|
|
2580
|
+
mmrLambda: Math.min(1, Math.max(0, retrieval.mmrLambda ?? 0.7)),
|
|
2576
2581
|
mode: retrieval.mode ?? "vector",
|
|
2582
|
+
noveltyStrategy: retrieval.noveltyStrategy === "mmr" ? "mmr" : "none",
|
|
2577
2583
|
sourceBalanceStrategy: retrieval.sourceBalanceStrategy === "round_robin" ? "round_robin" : "cap",
|
|
2578
2584
|
vectorWeight: Math.max(0, retrieval.vectorWeight ?? 1)
|
|
2579
2585
|
};
|
|
@@ -4376,6 +4382,47 @@ var applyRAGSourceDiversity = (results, maxResultsPerSource, strategy = "cap") =
|
|
|
4376
4382
|
}
|
|
4377
4383
|
return limited;
|
|
4378
4384
|
};
|
|
4385
|
+
var dotProduct = (left, right) => {
|
|
4386
|
+
const length = Math.min(left.length, right.length);
|
|
4387
|
+
let total = 0;
|
|
4388
|
+
for (let index = 0;index < length; index += 1) {
|
|
4389
|
+
total += (left[index] ?? 0) * (right[index] ?? 0);
|
|
4390
|
+
}
|
|
4391
|
+
return total;
|
|
4392
|
+
};
|
|
4393
|
+
var applyRAGMMRDiversity = (results, queryVector, lambda) => {
|
|
4394
|
+
const withEmbeddings = results.filter((result) => Array.isArray(result.embedding) && result.embedding.length > 0);
|
|
4395
|
+
if (withEmbeddings.length < 2 || queryVector.length === 0) {
|
|
4396
|
+
return results;
|
|
4397
|
+
}
|
|
4398
|
+
const selected = [];
|
|
4399
|
+
const remaining = [...withEmbeddings];
|
|
4400
|
+
while (remaining.length > 0) {
|
|
4401
|
+
let bestIndex = 0;
|
|
4402
|
+
let bestScore = Number.NEGATIVE_INFINITY;
|
|
4403
|
+
for (let index = 0;index < remaining.length; index += 1) {
|
|
4404
|
+
const candidate = remaining[index];
|
|
4405
|
+
if (!candidate) {
|
|
4406
|
+
continue;
|
|
4407
|
+
}
|
|
4408
|
+
const relevance = dotProduct(queryVector, candidate.embedding);
|
|
4409
|
+
const redundancy = selected.length > 0 ? Math.max(...selected.map((entry) => dotProduct(entry.embedding, candidate.embedding))) : 0;
|
|
4410
|
+
const mmrScore = lambda * relevance - (1 - lambda) * redundancy;
|
|
4411
|
+
if (mmrScore > bestScore) {
|
|
4412
|
+
bestScore = mmrScore;
|
|
4413
|
+
bestIndex = index;
|
|
4414
|
+
}
|
|
4415
|
+
}
|
|
4416
|
+
const next = remaining.splice(bestIndex, 1)[0];
|
|
4417
|
+
if (!next) {
|
|
4418
|
+
break;
|
|
4419
|
+
}
|
|
4420
|
+
selected.push(next);
|
|
4421
|
+
}
|
|
4422
|
+
const selectedIds = new Set(selected.map((entry) => entry.chunkId));
|
|
4423
|
+
const tail = results.filter((entry) => !selectedIds.has(entry.chunkId));
|
|
4424
|
+
return [...selected, ...tail];
|
|
4425
|
+
};
|
|
4379
4426
|
var weightQueryResults = (results, queryIndex) => {
|
|
4380
4427
|
if (queryIndex === 0) {
|
|
4381
4428
|
return results;
|
|
@@ -4432,7 +4479,9 @@ var createRAGCollection = (options) => {
|
|
|
4432
4479
|
hasQueryTransform,
|
|
4433
4480
|
hasReranker,
|
|
4434
4481
|
maxResultsPerSource: retrieval.maxResultsPerSource ?? null,
|
|
4482
|
+
mmrLambda: retrieval.mmrLambda,
|
|
4435
4483
|
mode: retrieval.mode,
|
|
4484
|
+
noveltyStrategy: retrieval.noveltyStrategy,
|
|
4436
4485
|
runLexical,
|
|
4437
4486
|
runVector,
|
|
4438
4487
|
sourceBalanceStrategy: retrieval.sourceBalanceStrategy,
|
|
@@ -4550,7 +4599,19 @@ var createRAGCollection = (options) => {
|
|
|
4550
4599
|
},
|
|
4551
4600
|
stage: "rerank"
|
|
4552
4601
|
});
|
|
4553
|
-
const
|
|
4602
|
+
const noveltyAdjusted = retrieval.noveltyStrategy === "mmr" ? applyRAGMMRDiversity(reranked, queryVector, retrieval.mmrLambda) : reranked;
|
|
4603
|
+
if (retrieval.noveltyStrategy === "mmr") {
|
|
4604
|
+
steps.push({
|
|
4605
|
+
count: noveltyAdjusted.length,
|
|
4606
|
+
label: "Applied MMR novelty reordering",
|
|
4607
|
+
metadata: {
|
|
4608
|
+
applied: queryVector.length > 0 && noveltyAdjusted.some((entry) => Array.isArray(entry.embedding)),
|
|
4609
|
+
mmrLambda: retrieval.mmrLambda
|
|
4610
|
+
},
|
|
4611
|
+
stage: "novelty"
|
|
4612
|
+
});
|
|
4613
|
+
}
|
|
4614
|
+
const diversified = applyRAGSourceDiversity(noveltyAdjusted, retrieval.maxResultsPerSource, retrieval.sourceBalanceStrategy);
|
|
4554
4615
|
if (typeof retrieval.maxResultsPerSource === "number") {
|
|
4555
4616
|
steps.push({
|
|
4556
4617
|
count: diversified.length,
|
|
@@ -4578,7 +4639,9 @@ var createRAGCollection = (options) => {
|
|
|
4578
4639
|
candidateTopK,
|
|
4579
4640
|
lexicalTopK,
|
|
4580
4641
|
maxResultsPerSource: retrieval.maxResultsPerSource,
|
|
4642
|
+
mmrLambda: retrieval.mmrLambda,
|
|
4581
4643
|
mode: retrieval.mode,
|
|
4644
|
+
noveltyStrategy: retrieval.noveltyStrategy,
|
|
4582
4645
|
query: input.query,
|
|
4583
4646
|
resultCounts: {
|
|
4584
4647
|
final: limited.length,
|
|
@@ -4621,7 +4684,9 @@ var createRAGCollection = (options) => {
|
|
|
4621
4684
|
candidateTopK,
|
|
4622
4685
|
lexicalTopK,
|
|
4623
4686
|
maxResultsPerSource: retrieval.maxResultsPerSource,
|
|
4687
|
+
mmrLambda: retrieval.mmrLambda,
|
|
4624
4688
|
mode: retrieval.mode,
|
|
4689
|
+
noveltyStrategy: retrieval.noveltyStrategy,
|
|
4625
4690
|
query: input.query,
|
|
4626
4691
|
resultCounts: {
|
|
4627
4692
|
final: filtered.length,
|
|
@@ -5809,8 +5874,11 @@ var summarizeRetrievalTraces = (traces) => {
|
|
|
5809
5874
|
}
|
|
5810
5875
|
const totalCases = traces.length;
|
|
5811
5876
|
const modeSet = new Set;
|
|
5877
|
+
const sourceBalanceStrategySet = new Set;
|
|
5812
5878
|
let vectorCases = 0;
|
|
5813
5879
|
let lexicalCases = 0;
|
|
5880
|
+
let balancedCases = 0;
|
|
5881
|
+
let roundRobinCases = 0;
|
|
5814
5882
|
let transformedCases = 0;
|
|
5815
5883
|
let variantCases = 0;
|
|
5816
5884
|
let finalCountSum = 0;
|
|
@@ -5820,12 +5888,19 @@ var summarizeRetrievalTraces = (traces) => {
|
|
|
5820
5888
|
let lexicalTopKSum = 0;
|
|
5821
5889
|
for (const trace of traces) {
|
|
5822
5890
|
modeSet.add(trace.mode);
|
|
5891
|
+
sourceBalanceStrategySet.add(trace.sourceBalanceStrategy ?? "cap");
|
|
5823
5892
|
if (trace.runVector) {
|
|
5824
5893
|
vectorCases += 1;
|
|
5825
5894
|
}
|
|
5826
5895
|
if (trace.runLexical) {
|
|
5827
5896
|
lexicalCases += 1;
|
|
5828
5897
|
}
|
|
5898
|
+
if (typeof trace.maxResultsPerSource === "number") {
|
|
5899
|
+
balancedCases += 1;
|
|
5900
|
+
if (trace.sourceBalanceStrategy === "round_robin") {
|
|
5901
|
+
roundRobinCases += 1;
|
|
5902
|
+
}
|
|
5903
|
+
}
|
|
5829
5904
|
if (trace.transformedQuery !== trace.query) {
|
|
5830
5905
|
transformedCases += 1;
|
|
5831
5906
|
}
|
|
@@ -5843,9 +5918,12 @@ var summarizeRetrievalTraces = (traces) => {
|
|
|
5843
5918
|
averageFinalCount: roundTraceAverage(finalCountSum, totalCases),
|
|
5844
5919
|
averageLexicalCount: roundTraceAverage(lexicalCountSum, totalCases),
|
|
5845
5920
|
averageLexicalTopK: roundTraceAverage(lexicalTopKSum, totalCases),
|
|
5921
|
+
balancedCases,
|
|
5846
5922
|
averageVectorCount: roundTraceAverage(vectorCountSum, totalCases),
|
|
5847
5923
|
lexicalCases,
|
|
5848
5924
|
modes: Array.from(modeSet),
|
|
5925
|
+
roundRobinCases,
|
|
5926
|
+
sourceBalanceStrategies: Array.from(sourceBalanceStrategySet),
|
|
5849
5927
|
stageCounts: buildTraceStageCounts(traces),
|
|
5850
5928
|
totalCases,
|
|
5851
5929
|
transformedCases,
|
|
@@ -6181,7 +6259,7 @@ var buildEvaluationCaseTraceSnapshot = ({
|
|
|
6181
6259
|
}) => {
|
|
6182
6260
|
const stageCounts = currentTrace ? buildTraceStageCounts([currentTrace]) : {};
|
|
6183
6261
|
const previousStageCounts = previousTrace?.stageCounts ?? {};
|
|
6184
|
-
const traceChange = !previousTrace ? currentTrace ? "new" : "unchanged" : previousTrace.traceMode !== currentTrace?.mode || previousTrace.transformedQuery !== (currentTrace?.transformedQuery || undefined) || previousTrace.variantQueries.join("|") !== (currentTrace?.variantQueries ?? []).join("|") || previousTrace.finalCount !== (currentTrace?.resultCounts.final ?? 0) || previousTrace.vectorCount !== (currentTrace?.resultCounts.vector ?? 0) || previousTrace.lexicalCount !== (currentTrace?.resultCounts.lexical ?? 0) || previousTrace.candidateTopK !== (currentTrace?.candidateTopK ?? 0) || previousTrace.lexicalTopK !== (currentTrace?.lexicalTopK ?? 0) || !areStageCountsEqual(previousStageCounts, stageCounts) ? "changed" : "unchanged";
|
|
6262
|
+
const traceChange = !previousTrace ? currentTrace ? "new" : "unchanged" : previousTrace.traceMode !== currentTrace?.mode || previousTrace.sourceBalanceStrategy !== currentTrace?.sourceBalanceStrategy || previousTrace.transformedQuery !== (currentTrace?.transformedQuery || undefined) || previousTrace.variantQueries.join("|") !== (currentTrace?.variantQueries ?? []).join("|") || previousTrace.finalCount !== (currentTrace?.resultCounts.final ?? 0) || previousTrace.vectorCount !== (currentTrace?.resultCounts.vector ?? 0) || previousTrace.lexicalCount !== (currentTrace?.resultCounts.lexical ?? 0) || previousTrace.candidateTopK !== (currentTrace?.candidateTopK ?? 0) || previousTrace.lexicalTopK !== (currentTrace?.lexicalTopK ?? 0) || !areStageCountsEqual(previousStageCounts, stageCounts) ? "changed" : "unchanged";
|
|
6185
6263
|
return {
|
|
6186
6264
|
candidateTopK: currentTrace?.candidateTopK ?? 0,
|
|
6187
6265
|
caseId: caseResult.caseId,
|
|
@@ -6193,6 +6271,7 @@ var buildEvaluationCaseTraceSnapshot = ({
|
|
|
6193
6271
|
previousFinalCount: previousTrace?.finalCount,
|
|
6194
6272
|
previousLexicalCount: previousTrace?.lexicalCount,
|
|
6195
6273
|
previousLexicalTopK: previousTrace?.lexicalTopK,
|
|
6274
|
+
previousSourceBalanceStrategy: previousTrace?.sourceBalanceStrategy,
|
|
6196
6275
|
previousStageCounts,
|
|
6197
6276
|
previousTraceMode: previousTrace?.traceMode,
|
|
6198
6277
|
previousTransformedQuery: previousTrace?.transformedQuery,
|
|
@@ -6201,6 +6280,7 @@ var buildEvaluationCaseTraceSnapshot = ({
|
|
|
6201
6280
|
query: caseResult.query,
|
|
6202
6281
|
stageCounts,
|
|
6203
6282
|
status: caseResult.status,
|
|
6283
|
+
sourceBalanceStrategy: currentTrace?.sourceBalanceStrategy,
|
|
6204
6284
|
traceChange,
|
|
6205
6285
|
traceMode: currentTrace?.mode,
|
|
6206
6286
|
transformedQuery: currentTrace?.transformedQuery || undefined,
|
|
@@ -6245,6 +6325,7 @@ var buildEvaluationCaseTraceSnapshots = ({
|
|
|
6245
6325
|
},
|
|
6246
6326
|
runLexical: currentSnapshot.lexicalCount > 0,
|
|
6247
6327
|
runVector: currentSnapshot.vectorCount > 0,
|
|
6328
|
+
sourceBalanceStrategy: currentSnapshot.sourceBalanceStrategy ?? "cap",
|
|
6248
6329
|
steps: [],
|
|
6249
6330
|
topK: caseResult.topK,
|
|
6250
6331
|
transformedQuery: currentSnapshot.transformedQuery ?? caseResult.query,
|
|
@@ -6275,6 +6356,7 @@ var formatRetrievalComparisonHeadline = (entry) => [
|
|
|
6275
6356
|
`latency ${entry.response.summary.averageLatencyMs.toFixed(1)}ms`
|
|
6276
6357
|
].join(" \xB7 ");
|
|
6277
6358
|
var formatTraceModes = (modes) => modes.length > 0 ? modes.join(" / ") : "n/a";
|
|
6359
|
+
var formatSourceBalanceStrategies = (strategies) => strategies.length > 0 ? strategies.join(" / ") : "n/a";
|
|
6278
6360
|
var formatTraceStageSummary = (stageCounts) => {
|
|
6279
6361
|
const topStages = Object.entries(stageCounts).sort((left, right) => right[1] - left[1]).slice(0, 3);
|
|
6280
6362
|
return topStages.length > 0 ? topStages.map(([stage, count]) => `${stage} ${count}`).join(" \xB7 ") : "n/a";
|
|
@@ -6310,9 +6392,21 @@ var buildRAGComparisonTraceSummaryRows = (entry) => {
|
|
|
6310
6392
|
}
|
|
6311
6393
|
return [
|
|
6312
6394
|
{ label: "Modes", value: formatTraceModes(trace.modes) },
|
|
6395
|
+
{
|
|
6396
|
+
label: "Balance",
|
|
6397
|
+
value: formatSourceBalanceStrategies(trace.sourceBalanceStrategies)
|
|
6398
|
+
},
|
|
6313
6399
|
{ label: "Avg final", value: trace.averageFinalCount.toFixed(1) },
|
|
6314
6400
|
{ label: "Avg vector", value: trace.averageVectorCount.toFixed(1) },
|
|
6315
6401
|
{ label: "Avg lexical", value: trace.averageLexicalCount.toFixed(1) },
|
|
6402
|
+
{
|
|
6403
|
+
label: "Balanced",
|
|
6404
|
+
value: formatTraceRatio(trace.balancedCases, trace.totalCases)
|
|
6405
|
+
},
|
|
6406
|
+
{
|
|
6407
|
+
label: "Round robin",
|
|
6408
|
+
value: formatTraceRatio(trace.roundRobinCases, trace.totalCases)
|
|
6409
|
+
},
|
|
6316
6410
|
{
|
|
6317
6411
|
label: "Transforms",
|
|
6318
6412
|
value: formatTraceRatio(trace.transformedCases, trace.totalCases)
|
|
@@ -6360,6 +6454,12 @@ var buildRAGComparisonTraceDiffRows = (entry, leader) => {
|
|
|
6360
6454
|
value: `${formatTraceModes(trace.modes)} vs ${formatTraceModes(leaderTrace.modes)}`
|
|
6361
6455
|
});
|
|
6362
6456
|
}
|
|
6457
|
+
if (formatSourceBalanceStrategies(trace.sourceBalanceStrategies) !== formatSourceBalanceStrategies(leaderTrace.sourceBalanceStrategies)) {
|
|
6458
|
+
rows.push({
|
|
6459
|
+
label: "Balance vs leader",
|
|
6460
|
+
value: `${formatSourceBalanceStrategies(trace.sourceBalanceStrategies)} vs ${formatSourceBalanceStrategies(leaderTrace.sourceBalanceStrategies)}`
|
|
6461
|
+
});
|
|
6462
|
+
}
|
|
6363
6463
|
rows.push({
|
|
6364
6464
|
label: "Final delta",
|
|
6365
6465
|
value: formatSignedDelta(trace.averageFinalCount - leaderTrace.averageFinalCount, 1)
|
|
@@ -6372,6 +6472,12 @@ var buildRAGComparisonTraceDiffRows = (entry, leader) => {
|
|
|
6372
6472
|
}, {
|
|
6373
6473
|
label: "Transform delta",
|
|
6374
6474
|
value: formatTraceCountDelta(trace.transformedCases - leaderTrace.transformedCases)
|
|
6475
|
+
}, {
|
|
6476
|
+
label: "Balanced delta",
|
|
6477
|
+
value: formatTraceCountDelta(trace.balancedCases - leaderTrace.balancedCases)
|
|
6478
|
+
}, {
|
|
6479
|
+
label: "Round robin delta",
|
|
6480
|
+
value: formatTraceCountDelta(trace.roundRobinCases - leaderTrace.roundRobinCases)
|
|
6375
6481
|
});
|
|
6376
6482
|
if (stageDelta) {
|
|
6377
6483
|
rows.push({ label: "Stage delta", value: stageDelta });
|
|
@@ -6535,7 +6641,7 @@ var buildRAGEvaluationHistoryRows = (history) => {
|
|
|
6535
6641
|
if (history.latestRun.traceSummary) {
|
|
6536
6642
|
rows.push({
|
|
6537
6643
|
label: "Latest trace",
|
|
6538
|
-
value: `${formatTraceModes(history.latestRun.traceSummary.modes)} \xB7 final ${history.latestRun.traceSummary.averageFinalCount.toFixed(1)} \xB7 vector ${history.latestRun.traceSummary.averageVectorCount.toFixed(1)} \xB7 lexical ${history.latestRun.traceSummary.averageLexicalCount.toFixed(1)}`
|
|
6644
|
+
value: `${formatTraceModes(history.latestRun.traceSummary.modes)} \xB7 balance ${formatSourceBalanceStrategies(history.latestRun.traceSummary.sourceBalanceStrategies)} \xB7 final ${history.latestRun.traceSummary.averageFinalCount.toFixed(1)} \xB7 vector ${history.latestRun.traceSummary.averageVectorCount.toFixed(1)} \xB7 lexical ${history.latestRun.traceSummary.averageLexicalCount.toFixed(1)}`
|
|
6539
6645
|
});
|
|
6540
6646
|
}
|
|
6541
6647
|
if (history.previousRun) {
|
|
@@ -6571,6 +6677,9 @@ var buildRAGEvaluationHistoryRows = (history) => {
|
|
|
6571
6677
|
rows.push({
|
|
6572
6678
|
label: "Trace mode shift",
|
|
6573
6679
|
value: history.diff.traceSummaryDelta.modesChanged ? "changed" : "stable"
|
|
6680
|
+
}, {
|
|
6681
|
+
label: "Trace balance shift",
|
|
6682
|
+
value: history.diff.traceSummaryDelta.sourceBalanceStrategiesChanged ? "changed" : "stable"
|
|
6574
6683
|
}, {
|
|
6575
6684
|
label: "Trace final delta",
|
|
6576
6685
|
value: formatSignedDelta(history.diff.traceSummaryDelta.averageFinalCount, 1)
|
|
@@ -6580,6 +6689,12 @@ var buildRAGEvaluationHistoryRows = (history) => {
|
|
|
6580
6689
|
}, {
|
|
6581
6690
|
label: "Trace lexical delta",
|
|
6582
6691
|
value: formatSignedDelta(history.diff.traceSummaryDelta.averageLexicalCount, 1)
|
|
6692
|
+
}, {
|
|
6693
|
+
label: "Trace balanced delta",
|
|
6694
|
+
value: formatTraceCountDelta(history.diff.traceSummaryDelta.balancedCases)
|
|
6695
|
+
}, {
|
|
6696
|
+
label: "Trace round robin delta",
|
|
6697
|
+
value: formatTraceCountDelta(history.diff.traceSummaryDelta.roundRobinCases)
|
|
6583
6698
|
}, {
|
|
6584
6699
|
label: "Trace transform delta",
|
|
6585
6700
|
value: formatTraceCountDelta(history.diff.traceSummaryDelta.transformedCases)
|
|
@@ -6609,6 +6724,8 @@ var buildRAGEvaluationCaseTracePresentations = (history) => {
|
|
|
6609
6724
|
const label = entry.label ?? entry.caseId;
|
|
6610
6725
|
const currentMode = entry.traceMode ?? "no-trace";
|
|
6611
6726
|
const previousMode = entry.previousTraceMode ?? "n/a";
|
|
6727
|
+
const currentBalance = entry.sourceBalanceStrategy ?? "cap";
|
|
6728
|
+
const previousBalance = entry.previousSourceBalanceStrategy ?? "n/a";
|
|
6612
6729
|
const currentVariants = entry.variantQueries.length > 0 ? entry.variantQueries.join(", ") : "none";
|
|
6613
6730
|
const previousVariants = entry.previousVariantQueries.length > 0 ? entry.previousVariantQueries.join(", ") : "none";
|
|
6614
6731
|
const currentStages = Object.keys(entry.stageCounts).length > 0 ? Object.entries(entry.stageCounts).map(([stage, count]) => `${stage} ${count}`).join(", ") : "none";
|
|
@@ -6616,12 +6733,16 @@ var buildRAGEvaluationCaseTracePresentations = (history) => {
|
|
|
6616
6733
|
return {
|
|
6617
6734
|
caseId: entry.caseId,
|
|
6618
6735
|
label,
|
|
6619
|
-
summary: `${entry.traceChange} \xB7 ${previousMode}\u2192${currentMode} \xB7 final ${entry.previousFinalCount ?? 0}\u2192${entry.finalCount}`,
|
|
6736
|
+
summary: `${entry.traceChange} \xB7 ${previousMode}\u2192${currentMode} \xB7 ${previousBalance}\u2192${currentBalance} \xB7 final ${entry.previousFinalCount ?? 0}\u2192${entry.finalCount}`,
|
|
6620
6737
|
traceChange: entry.traceChange,
|
|
6621
6738
|
rows: [
|
|
6622
6739
|
{ label: "Query", value: entry.query },
|
|
6623
6740
|
{ label: "Trace change", value: entry.traceChange },
|
|
6624
6741
|
{ label: "Mode", value: `${previousMode}\u2192${currentMode}` },
|
|
6742
|
+
{
|
|
6743
|
+
label: "Balance",
|
|
6744
|
+
value: `${previousBalance}\u2192${currentBalance}`
|
|
6745
|
+
},
|
|
6625
6746
|
{
|
|
6626
6747
|
label: "Transformed query",
|
|
6627
6748
|
value: `${entry.previousTransformedQuery?.trim() || "n/a"}\u2192${entry.transformedQuery?.trim() || "n/a"}`
|
|
@@ -6693,12 +6814,15 @@ var buildRAGEvaluationRunDiff = ({
|
|
|
6693
6814
|
averageLexicalCount: (current.traceSummary?.averageLexicalCount ?? 0) - (previous?.traceSummary?.averageLexicalCount ?? 0),
|
|
6694
6815
|
averageLexicalTopK: (current.traceSummary?.averageLexicalTopK ?? 0) - (previous?.traceSummary?.averageLexicalTopK ?? 0),
|
|
6695
6816
|
averageVectorCount: (current.traceSummary?.averageVectorCount ?? 0) - (previous?.traceSummary?.averageVectorCount ?? 0),
|
|
6817
|
+
balancedCases: (current.traceSummary?.balancedCases ?? 0) - (previous?.traceSummary?.balancedCases ?? 0),
|
|
6696
6818
|
lexicalCases: (current.traceSummary?.lexicalCases ?? 0) - (previous?.traceSummary?.lexicalCases ?? 0),
|
|
6697
6819
|
modesChanged: (current.traceSummary?.modes ?? []).join("|") !== (previous?.traceSummary?.modes ?? []).join("|"),
|
|
6820
|
+
roundRobinCases: (current.traceSummary?.roundRobinCases ?? 0) - (previous?.traceSummary?.roundRobinCases ?? 0),
|
|
6698
6821
|
stageCounts: diffTraceStageCounts({
|
|
6699
6822
|
current: current.traceSummary?.stageCounts ?? {},
|
|
6700
6823
|
previous: previous?.traceSummary?.stageCounts ?? {}
|
|
6701
6824
|
}),
|
|
6825
|
+
sourceBalanceStrategiesChanged: (current.traceSummary?.sourceBalanceStrategies ?? []).join("|") !== (previous?.traceSummary?.sourceBalanceStrategies ?? []).join("|"),
|
|
6702
6826
|
transformedCases: (current.traceSummary?.transformedCases ?? 0) - (previous?.traceSummary?.transformedCases ?? 0),
|
|
6703
6827
|
variantCases: (current.traceSummary?.variantCases ?? 0) - (previous?.traceSummary?.variantCases ?? 0),
|
|
6704
6828
|
vectorCases: (current.traceSummary?.vectorCases ?? 0) - (previous?.traceSummary?.vectorCases ?? 0)
|
|
@@ -10645,6 +10769,7 @@ var createInMemoryRAGStore = (options = {}) => {
|
|
|
10645
10769
|
return results.slice(0, input.topK).map((entry) => ({
|
|
10646
10770
|
chunkId: entry.chunk.chunkId,
|
|
10647
10771
|
chunkText: entry.chunk.text,
|
|
10772
|
+
embedding: entry.chunk.vector,
|
|
10648
10773
|
metadata: entry.chunk.metadata,
|
|
10649
10774
|
score: entry.score,
|
|
10650
10775
|
source: entry.chunk.source,
|
|
@@ -10797,7 +10922,7 @@ var IDENTIFIER_RE = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
|
10797
10922
|
var isParsedMetadata = (value) => Boolean(value) && typeof value === "object";
|
|
10798
10923
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
10799
10924
|
var isStoredRow = (value) => isObjectRecord2(value) && typeof value.chunk_id === "string" && typeof value.text === "string" && (typeof value.title === "string" || value.title === null) && (typeof value.source === "string" || value.source === null) && (typeof value.metadata === "string" || value.metadata === null) && typeof value.embedding === "string";
|
|
10800
|
-
var isNativeStoredRow = (value) => isObjectRecord2(value) && typeof value.chunk_id === "string" && typeof value.chunk_text === "string" && (typeof value.title === "string" || value.title === null) && (typeof value.source === "string" || value.source === null) && (typeof value.metadata === "string" || value.metadata === null) && typeof value.distance === "number";
|
|
10925
|
+
var isNativeStoredRow = (value) => isObjectRecord2(value) && typeof value.chunk_id === "string" && typeof value.chunk_text === "string" && (typeof value.title === "string" || value.title === null) && (typeof value.source === "string" || value.source === null) && (typeof value.metadata === "string" || value.metadata === null) && typeof value.embedding === "string" && typeof value.distance === "number";
|
|
10801
10926
|
var toStoredRows = (value) => Array.isArray(value) ? value.filter((row) => isStoredRow(row)) : [];
|
|
10802
10927
|
var toNativeStoredRows = (value) => Array.isArray(value) ? value.filter((row) => isNativeStoredRow(row)) : [];
|
|
10803
10928
|
var createSQLiteStatus = (dimensions, nativeDiagnostics, useNative) => ({
|
|
@@ -10961,6 +11086,7 @@ var createNativeVec0Statements = (db, tableName) => {
|
|
|
10961
11086
|
const querySql = `
|
|
10962
11087
|
SELECT
|
|
10963
11088
|
chunk_id,
|
|
11089
|
+
embedding,
|
|
10964
11090
|
chunk_text,
|
|
10965
11091
|
title,
|
|
10966
11092
|
source,
|
|
@@ -11238,6 +11364,7 @@ var createSQLiteRAGStore = (options = {}) => {
|
|
|
11238
11364
|
return filtered.slice(0, input.topK).map(({ chunk, score }) => ({
|
|
11239
11365
|
chunkId: chunk.chunkId,
|
|
11240
11366
|
chunkText: chunk.text,
|
|
11367
|
+
embedding: chunk.vector,
|
|
11241
11368
|
metadata: chunk.metadata,
|
|
11242
11369
|
score,
|
|
11243
11370
|
source: chunk.source,
|
|
@@ -11259,7 +11386,7 @@ var createSQLiteRAGStore = (options = {}) => {
|
|
|
11259
11386
|
source: row.source ?? undefined,
|
|
11260
11387
|
text: row.chunk_text,
|
|
11261
11388
|
title: row.title ?? undefined,
|
|
11262
|
-
vector:
|
|
11389
|
+
vector: parseVector(row.embedding)
|
|
11263
11390
|
};
|
|
11264
11391
|
return {
|
|
11265
11392
|
chunk,
|
|
@@ -11268,6 +11395,7 @@ var createSQLiteRAGStore = (options = {}) => {
|
|
|
11268
11395
|
}).filter(({ chunk }) => matchesFilter(chunk, input.filter)).map((entry) => ({
|
|
11269
11396
|
chunkId: entry.chunk.chunkId,
|
|
11270
11397
|
chunkText: entry.chunk.text,
|
|
11398
|
+
embedding: entry.chunk.vector,
|
|
11271
11399
|
metadata: entry.chunk.metadata,
|
|
11272
11400
|
score: entry.score,
|
|
11273
11401
|
source: entry.chunk.source,
|
|
@@ -12585,5 +12713,5 @@ export {
|
|
|
12585
12713
|
aiChat
|
|
12586
12714
|
};
|
|
12587
12715
|
|
|
12588
|
-
//# debugId=
|
|
12716
|
+
//# debugId=115CEF45D67205BC64756E2164756E21
|
|
12589
12717
|
//# sourceMappingURL=index.js.map
|