@convex-dev/rag 0.3.2 → 0.3.3-alpha.1
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 +2 -0
- package/dist/client/hybridRank.d.ts +23 -0
- package/dist/client/hybridRank.d.ts.map +1 -0
- package/dist/client/hybridRank.js +21 -0
- package/dist/client/hybridRank.js.map +1 -0
- package/dist/client/index.d.ts +31 -24
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +33 -25
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.js +1 -1
- package/dist/client/types.js.map +1 -1
- package/dist/component/_generated/api.d.ts +18 -0
- package/dist/component/chunks.d.ts +8 -1
- package/dist/component/chunks.d.ts.map +1 -1
- package/dist/component/chunks.js +39 -3
- package/dist/component/chunks.js.map +1 -1
- package/dist/component/embeddings/index.js +0 -1
- package/dist/component/embeddings/index.js.map +1 -1
- package/dist/component/entries.d.ts +43 -0
- package/dist/component/entries.d.ts.map +1 -1
- package/dist/component/entries.js +93 -4
- package/dist/component/entries.js.map +1 -1
- package/package.json +2 -2
- package/src/client/hybridRank.ts +39 -0
- package/src/client/index.ts +55 -42
- package/src/component/_generated/api.d.ts +18 -0
- package/src/component/chunks.test.ts +11 -3
- package/src/component/chunks.ts +42 -3
- package/src/component/entries.test.ts +418 -11
- package/src/component/entries.ts +112 -2
- package/src/component/setup.test.ts +15 -0
- package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAiB,WAAW,EAAW,MAAM,cAAc,CAAC;AACxE,OAAO,EAOL,KAAK,KAAK,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAiB,WAAW,EAAW,MAAM,cAAc,CAAC;AACxE,OAAO,EAOL,KAAK,KAAK,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAEhC,OAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA2BhE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;GA6DnB,CAAC;AAUH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAkC7B,CAAC;AAgCH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6Dd,CAAC;AA2CH;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;GAwBf,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;yBAUd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;yBA+C5B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;aAYR,EAAE,CAAC,SAAS,CAAC;;;GAJ9B,CAAC;AA4EH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;UAe1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,oBAAoB,CAAC;CAC9B,GAAG,KAAK,CAwBR;AAED,eAAO,MAAM,WAAW;aAWL,EAAE,CAAC,SAAS,CAAC;gBAAc,MAAM;iBAJlD,CAAC;AAsBH,eAAO,MAAM,UAAU;;iBAiBrB,CAAC;AAEH,eAAO,MAAM,IAAI;;iBAMf,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;iBAuB3B,CAAC;AAuBH,eAAO,MAAM,2BAA2B;iBAnBjB,EAAE,CAAC,YAAY,CAAC;SAAO,MAAM;oBAAkB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;KA2B1E,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAsB1B,CAAC"}
|
|
@@ -3,14 +3,15 @@ import { createFunctionHandle, paginationOptsValidator } from "convex/server";
|
|
|
3
3
|
import { v } from "convex/values";
|
|
4
4
|
import { statuses, vActiveStatus, vCreateChunkArgs, vEntry, vPaginationResult, vStatus, } from "../shared.js";
|
|
5
5
|
import { api, internal } from "./_generated/api.js";
|
|
6
|
-
import { internalMutation, mutation, query, } from "./_generated/server.js";
|
|
7
|
-
import {
|
|
8
|
-
import schema
|
|
6
|
+
import { action, internalMutation, internalQuery, mutation, query, } from "./_generated/server.js";
|
|
7
|
+
import { deleteChunksPageHandler, insertChunks } from "./chunks.js";
|
|
8
|
+
import schema from "./schema.js";
|
|
9
9
|
import { mergedStream } from "convex-helpers/server/stream";
|
|
10
10
|
import { stream } from "convex-helpers/server/stream";
|
|
11
11
|
import { getCompatibleNamespaceHandler, publicNamespace, vNamespaceLookupArgs, } from "./namespaces.js";
|
|
12
12
|
import { vResultValidator, vWorkIdValidator, Workpool, } from "@convex-dev/workpool";
|
|
13
13
|
import { components } from "./_generated/api.js";
|
|
14
|
+
import { doc } from "convex-helpers/validators";
|
|
14
15
|
const workpool = new Workpool(components.workpool, {
|
|
15
16
|
retryActionsByDefault: true,
|
|
16
17
|
defaultRetryBehavior: {
|
|
@@ -408,7 +409,7 @@ async function deleteAsyncHandler(ctx, args) {
|
|
|
408
409
|
if (!entry) {
|
|
409
410
|
throw new Error(`Entry ${entryId} not found`);
|
|
410
411
|
}
|
|
411
|
-
const status = await
|
|
412
|
+
const status = await deleteChunksPageHandler(ctx, { entryId, startOrder });
|
|
412
413
|
if (status.isDone) {
|
|
413
414
|
await ctx.db.delete(entryId);
|
|
414
415
|
}
|
|
@@ -419,4 +420,92 @@ async function deleteAsyncHandler(ctx, args) {
|
|
|
419
420
|
});
|
|
420
421
|
}
|
|
421
422
|
}
|
|
423
|
+
export const deleteSync = action({
|
|
424
|
+
args: { entryId: v.id("entries") },
|
|
425
|
+
returns: v.null(),
|
|
426
|
+
handler: async (ctx, { entryId }) => {
|
|
427
|
+
let startOrder = 0;
|
|
428
|
+
while (true) {
|
|
429
|
+
const status = await ctx.runMutation(internal.chunks.deleteChunksPage, {
|
|
430
|
+
entryId,
|
|
431
|
+
startOrder,
|
|
432
|
+
});
|
|
433
|
+
if (status.isDone) {
|
|
434
|
+
await ctx.runMutation(internal.entries._del, { entryId });
|
|
435
|
+
break;
|
|
436
|
+
}
|
|
437
|
+
startOrder = status.nextStartOrder;
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
});
|
|
441
|
+
export const _del = internalMutation({
|
|
442
|
+
args: { entryId: v.id("entries") },
|
|
443
|
+
returns: v.null(),
|
|
444
|
+
handler: async (ctx, args) => {
|
|
445
|
+
await ctx.db.delete(args.entryId);
|
|
446
|
+
},
|
|
447
|
+
});
|
|
448
|
+
export const deleteByKeyAsync = mutation({
|
|
449
|
+
args: v.object({
|
|
450
|
+
namespaceId: v.id("namespaces"),
|
|
451
|
+
key: v.string(),
|
|
452
|
+
beforeVersion: v.optional(v.number()),
|
|
453
|
+
}),
|
|
454
|
+
returns: v.null(),
|
|
455
|
+
handler: async (ctx, args) => {
|
|
456
|
+
const entries = await getEntriesByKey(ctx, args);
|
|
457
|
+
for await (const entry of entries) {
|
|
458
|
+
await workpool.enqueueMutation(ctx, api.entries.deleteAsync, {
|
|
459
|
+
entryId: entry._id,
|
|
460
|
+
startOrder: 0,
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
if (entries.length === 100) {
|
|
464
|
+
await workpool.enqueueMutation(ctx, api.entries.deleteByKeyAsync, {
|
|
465
|
+
namespaceId: args.namespaceId,
|
|
466
|
+
key: args.key,
|
|
467
|
+
beforeVersion: entries[entries.length - 1].version,
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
});
|
|
472
|
+
async function getEntriesByKey(ctx, args) {
|
|
473
|
+
return mergedStream(statuses.map((status) => stream(ctx.db, schema)
|
|
474
|
+
.query("entries")
|
|
475
|
+
.withIndex("namespaceId_status_key_version", (q) => q
|
|
476
|
+
.eq("namespaceId", args.namespaceId)
|
|
477
|
+
.eq("status.kind", status)
|
|
478
|
+
.eq("key", args.key)
|
|
479
|
+
.lt("version", args.beforeVersion ?? Infinity))
|
|
480
|
+
.order("desc")), ["version"]).take(100);
|
|
481
|
+
}
|
|
482
|
+
export const getEntriesForNamespaceByKey = internalQuery({
|
|
483
|
+
args: {
|
|
484
|
+
namespaceId: v.id("namespaces"),
|
|
485
|
+
key: v.string(),
|
|
486
|
+
beforeVersion: v.optional(v.number()),
|
|
487
|
+
},
|
|
488
|
+
returns: v.array(doc(schema, "entries")),
|
|
489
|
+
handler: getEntriesByKey,
|
|
490
|
+
});
|
|
491
|
+
export const deleteByKeySync = action({
|
|
492
|
+
args: {
|
|
493
|
+
namespaceId: v.id("namespaces"),
|
|
494
|
+
key: v.string(),
|
|
495
|
+
},
|
|
496
|
+
returns: v.null(),
|
|
497
|
+
handler: async (ctx, args) => {
|
|
498
|
+
while (true) {
|
|
499
|
+
const entries = await ctx.runQuery(internal.entries.getEntriesForNamespaceByKey, { namespaceId: args.namespaceId, key: args.key });
|
|
500
|
+
for await (const entry of entries) {
|
|
501
|
+
await ctx.runAction(api.entries.deleteSync, {
|
|
502
|
+
entryId: entry._id,
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
if (entries.length <= 100) {
|
|
506
|
+
break;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
});
|
|
422
511
|
//# sourceMappingURL=entries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"email": "support@convex.dev",
|
|
8
8
|
"url": "https://github.com/get-convex/rag/issues"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.3.
|
|
10
|
+
"version": "0.3.3-alpha.1",
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"convex",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"test:debug": "vitest --inspect-brk --no-file-parallelism --config ./src/vitest.config.ts",
|
|
39
39
|
"test:coverage": "vitest run --coverage --coverage.reporter=text",
|
|
40
40
|
"lint": "eslint src",
|
|
41
|
-
"version": "pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md"
|
|
41
|
+
"version": "pbcopy <<<$npm_package_version; vim CHANGELOG.md && npx prettier -w CHANGELOG.md && git add CHANGELOG.md"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"dist",
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rank results from multiple results, e.g. from vector search and text search.
|
|
3
|
+
* Uses the "Recriprocal Rank Fusion" algorithm.
|
|
4
|
+
* @param sortedResults The results arrays ordered by most important first.
|
|
5
|
+
*/
|
|
6
|
+
export function hybridRank<T extends string>(
|
|
7
|
+
sortedResults: T[][],
|
|
8
|
+
opts?: {
|
|
9
|
+
/**
|
|
10
|
+
* A constant used to change the bias of the top results in each list vs.
|
|
11
|
+
* results in the middle of multiple lists.
|
|
12
|
+
* A higher k means less of a bias toward the top few results.
|
|
13
|
+
*/
|
|
14
|
+
k: number;
|
|
15
|
+
/**
|
|
16
|
+
* The weights of each sortedResults array.
|
|
17
|
+
* Used to prefer results from one sortedResults array over another.
|
|
18
|
+
*/
|
|
19
|
+
weights: number[];
|
|
20
|
+
/**
|
|
21
|
+
* The cutoff score for a result to be returned.
|
|
22
|
+
*/
|
|
23
|
+
cutoffScore?: number;
|
|
24
|
+
}
|
|
25
|
+
): T[] {
|
|
26
|
+
const k = opts?.k ?? 10;
|
|
27
|
+
const scores: Map<T, number> = new Map();
|
|
28
|
+
for (const [i, results] of sortedResults.entries()) {
|
|
29
|
+
const weight = opts?.weights?.[i] ?? 1;
|
|
30
|
+
for (let j = 0; j < results.length; j++) {
|
|
31
|
+
const key = results[j];
|
|
32
|
+
scores.set(key, (scores.get(key) ?? 0) + weight / (k + j));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const sortedScores = Array.from(scores.entries()).sort((a, b) => b[1] - a[1]);
|
|
36
|
+
return sortedScores
|
|
37
|
+
.filter(([_, score]) => score >= (opts?.cutoffScore ?? 0))
|
|
38
|
+
.map(([key]) => key);
|
|
39
|
+
}
|
package/src/client/index.ts
CHANGED
|
@@ -49,6 +49,7 @@ import {
|
|
|
49
49
|
import type { NamedFilter } from "../component/filters.js";
|
|
50
50
|
import { defaultChunker } from "./defaultChunker.js";
|
|
51
51
|
|
|
52
|
+
export { hybridRank } from "./hybridRank.js";
|
|
52
53
|
export { defaultChunker, vEntryId, vNamespaceId };
|
|
53
54
|
export type {
|
|
54
55
|
ChunkerAction,
|
|
@@ -699,15 +700,67 @@ export class RAG<
|
|
|
699
700
|
}
|
|
700
701
|
|
|
701
702
|
/**
|
|
702
|
-
* Delete an entry and all its chunks.
|
|
703
|
+
* Delete an entry and all its chunks in the background using a workpool.
|
|
703
704
|
*/
|
|
704
|
-
async
|
|
705
|
+
async deleteAsync(ctx: RunMutationCtx, args: { entryId: EntryId }) {
|
|
705
706
|
await ctx.runMutation(this.component.entries.deleteAsync, {
|
|
706
707
|
entryId: args.entryId,
|
|
707
708
|
startOrder: 0,
|
|
708
709
|
});
|
|
709
710
|
}
|
|
710
711
|
|
|
712
|
+
/**
|
|
713
|
+
* Delete an entry and all its chunks (synchronously).
|
|
714
|
+
* If you are getting warnings about `ctx` not being compatible,
|
|
715
|
+
* you're likely running this in a mutation.
|
|
716
|
+
* Use `deleteAsync` or run `delete` in an action.
|
|
717
|
+
*/
|
|
718
|
+
async delete(ctx: RunActionCtx, args: { entryId: EntryId }): Promise<void>;
|
|
719
|
+
/** @deprecated Use `deleteAsync` in mutations. */
|
|
720
|
+
async delete(ctx: RunMutationCtx, args: { entryId: EntryId }): Promise<void>;
|
|
721
|
+
async delete(ctx: RunActionCtx | RunMutationCtx, args: { entryId: EntryId }) {
|
|
722
|
+
if ("runAction" in ctx) {
|
|
723
|
+
await ctx.runAction(this.component.entries.deleteSync, {
|
|
724
|
+
entryId: args.entryId,
|
|
725
|
+
});
|
|
726
|
+
} else {
|
|
727
|
+
console.warn(
|
|
728
|
+
"You are running `rag.delete` in a mutation. This is deprecated. Use `rag.deleteAsync` from mutations, or `rag.delete` in actions."
|
|
729
|
+
);
|
|
730
|
+
await ctx.runMutation(this.component.entries.deleteAsync, {
|
|
731
|
+
entryId: args.entryId,
|
|
732
|
+
startOrder: 0,
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
/**
|
|
738
|
+
* Delete all entries with a given key (asynchrounously).
|
|
739
|
+
*/
|
|
740
|
+
async deleteByKeyAsync(
|
|
741
|
+
ctx: RunMutationCtx,
|
|
742
|
+
args: { namespaceId: NamespaceId; key: string; beforeVersion?: number }
|
|
743
|
+
) {
|
|
744
|
+
await ctx.runMutation(this.component.entries.deleteByKeyAsync, {
|
|
745
|
+
namespaceId: args.namespaceId,
|
|
746
|
+
key: args.key,
|
|
747
|
+
beforeVersion: args.beforeVersion,
|
|
748
|
+
});
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
/**
|
|
752
|
+
* Delete all entries with a given key (synchronously).
|
|
753
|
+
* If you are getting warnings about `ctx` not being compatible,
|
|
754
|
+
* you're likely running this in a mutation.
|
|
755
|
+
* Use `deleteByKeyAsync` or run `delete` in an action.
|
|
756
|
+
*/
|
|
757
|
+
async deleteByKey(
|
|
758
|
+
ctx: RunActionCtx,
|
|
759
|
+
args: { namespaceId: NamespaceId; key: string; beforeVersion?: number }
|
|
760
|
+
) {
|
|
761
|
+
await ctx.runAction(this.component.entries.deleteByKeySync, args);
|
|
762
|
+
}
|
|
763
|
+
|
|
711
764
|
/**
|
|
712
765
|
* Define a function that can be provided to the `onComplete` parameter of
|
|
713
766
|
* `add` or `addAsync` like:
|
|
@@ -952,46 +1005,6 @@ async function createChunkArgsBatch(
|
|
|
952
1005
|
}) as CreateChunkArgs[];
|
|
953
1006
|
}
|
|
954
1007
|
|
|
955
|
-
/**
|
|
956
|
-
* Rank results from multiple results, e.g. from vector search and text search.
|
|
957
|
-
* Uses the "Recriprocal Rank Fusion" algorithm.
|
|
958
|
-
* @param sortedResults The results arrays ordered by most important first.
|
|
959
|
-
*/
|
|
960
|
-
export function hybridRank<T extends string>(
|
|
961
|
-
sortedResults: T[][],
|
|
962
|
-
opts?: {
|
|
963
|
-
/**
|
|
964
|
-
* A constant used to change the bias of the top results in each list vs.
|
|
965
|
-
* results in the middle of multiple lists.
|
|
966
|
-
* A higher k means less of a bias toward the top few results.
|
|
967
|
-
*/
|
|
968
|
-
k: number;
|
|
969
|
-
/**
|
|
970
|
-
* The weights of each sortedResults array.
|
|
971
|
-
* Used to prefer results from one sortedResults array over another.
|
|
972
|
-
*/
|
|
973
|
-
weights: number[];
|
|
974
|
-
/**
|
|
975
|
-
* The cutoff score for a result to be returned.
|
|
976
|
-
*/
|
|
977
|
-
cutoffScore?: number;
|
|
978
|
-
}
|
|
979
|
-
): T[] {
|
|
980
|
-
const k = opts?.k ?? 10;
|
|
981
|
-
const scores: Map<T, number> = new Map();
|
|
982
|
-
for (const [i, results] of sortedResults.entries()) {
|
|
983
|
-
const weight = opts?.weights?.[i] ?? 1;
|
|
984
|
-
for (let j = 0; j < results.length; j++) {
|
|
985
|
-
const key = results[j];
|
|
986
|
-
scores.set(key, (scores.get(key) ?? 0) + weight / (k + j));
|
|
987
|
-
}
|
|
988
|
-
}
|
|
989
|
-
const sortedScores = Array.from(scores.entries()).sort((a, b) => b[1] - a[1]);
|
|
990
|
-
return sortedScores
|
|
991
|
-
.filter(([_, score]) => score >= (opts?.cutoffScore ?? 0))
|
|
992
|
-
.map(([key]) => key);
|
|
993
|
-
}
|
|
994
|
-
|
|
995
1008
|
type MastraChunk = {
|
|
996
1009
|
text: string;
|
|
997
1010
|
metadata: Record<string, Value>;
|
|
@@ -154,6 +154,24 @@ export type Mounts = {
|
|
|
154
154
|
{ entryId: string; startOrder: number },
|
|
155
155
|
null
|
|
156
156
|
>;
|
|
157
|
+
deleteByKeyAsync: FunctionReference<
|
|
158
|
+
"mutation",
|
|
159
|
+
"public",
|
|
160
|
+
{ beforeVersion?: number; key: string; namespaceId: string },
|
|
161
|
+
null
|
|
162
|
+
>;
|
|
163
|
+
deleteByKeySync: FunctionReference<
|
|
164
|
+
"action",
|
|
165
|
+
"public",
|
|
166
|
+
{ key: string; namespaceId: string },
|
|
167
|
+
null
|
|
168
|
+
>;
|
|
169
|
+
deleteSync: FunctionReference<
|
|
170
|
+
"action",
|
|
171
|
+
"public",
|
|
172
|
+
{ entryId: string },
|
|
173
|
+
null
|
|
174
|
+
>;
|
|
157
175
|
findByContentHash: FunctionReference<
|
|
158
176
|
"query",
|
|
159
177
|
"public",
|
|
@@ -5,7 +5,7 @@ import { convexTest, type TestConvex } from "convex-test";
|
|
|
5
5
|
import schema from "./schema.js";
|
|
6
6
|
import { api, internal } from "./_generated/api.js";
|
|
7
7
|
import { modules } from "./setup.test.js";
|
|
8
|
-
import { insertChunks,
|
|
8
|
+
import { insertChunks, deleteChunksPageHandler } from "./chunks.js";
|
|
9
9
|
import type { Id } from "./_generated/dataModel.js";
|
|
10
10
|
import { assert } from "convex-helpers";
|
|
11
11
|
|
|
@@ -332,11 +332,12 @@ describe("chunks", () => {
|
|
|
332
332
|
// Insert a large number of chunks
|
|
333
333
|
const chunks = createTestChunks(10);
|
|
334
334
|
await t.run(async (ctx) => {
|
|
335
|
-
|
|
335
|
+
const result = await insertChunks(ctx, {
|
|
336
336
|
entryId,
|
|
337
337
|
startOrder: 0,
|
|
338
338
|
chunks,
|
|
339
339
|
});
|
|
340
|
+
expect(result.status).toBe("ready");
|
|
340
341
|
});
|
|
341
342
|
|
|
342
343
|
// Verify chunks exist
|
|
@@ -350,7 +351,7 @@ describe("chunks", () => {
|
|
|
350
351
|
|
|
351
352
|
// Delete chunks starting from order 3
|
|
352
353
|
const deleteResult = await t.run(async (ctx) => {
|
|
353
|
-
return
|
|
354
|
+
return deleteChunksPageHandler(ctx, {
|
|
354
355
|
entryId,
|
|
355
356
|
startOrder: 3,
|
|
356
357
|
});
|
|
@@ -375,8 +376,15 @@ describe("chunks", () => {
|
|
|
375
376
|
const allContent = await t.run(async (ctx) => {
|
|
376
377
|
return ctx.db.query("content").collect();
|
|
377
378
|
});
|
|
379
|
+
|
|
378
380
|
// Should have only 3 content records remaining (for the 3 remaining chunks)
|
|
379
381
|
expect(allContent).toHaveLength(3);
|
|
382
|
+
|
|
383
|
+
// Verify embeddings were deleted
|
|
384
|
+
const allEmbeddings = await t.run(async (ctx) => {
|
|
385
|
+
return ctx.db.query("vectors_128").collect();
|
|
386
|
+
});
|
|
387
|
+
expect(allEmbeddings).toHaveLength(3);
|
|
380
388
|
});
|
|
381
389
|
|
|
382
390
|
test("listing chunks returns correct pagination", async () => {
|
package/src/component/chunks.ts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
} from "../shared.js";
|
|
15
15
|
import type { Doc, Id } from "./_generated/dataModel.js";
|
|
16
16
|
import {
|
|
17
|
+
internalMutation,
|
|
17
18
|
internalQuery,
|
|
18
19
|
mutation,
|
|
19
20
|
query,
|
|
@@ -21,7 +22,7 @@ import {
|
|
|
21
22
|
type QueryCtx,
|
|
22
23
|
} from "./_generated/server.js";
|
|
23
24
|
import { insertEmbedding } from "./embeddings/index.js";
|
|
24
|
-
import { vVectorId } from "./embeddings/tables.js";
|
|
25
|
+
import { vVectorId, type VectorTableName } from "./embeddings/tables.js";
|
|
25
26
|
import { schema, v } from "./schema.js";
|
|
26
27
|
import { getPreviousEntry, publicEntry } from "./entries.js";
|
|
27
28
|
import {
|
|
@@ -512,7 +513,16 @@ async function publicChunk(chunk: Doc<"chunks">, content: Doc<"content">) {
|
|
|
512
513
|
};
|
|
513
514
|
}
|
|
514
515
|
|
|
515
|
-
export
|
|
516
|
+
export const deleteChunksPage = internalMutation({
|
|
517
|
+
args: v.object({
|
|
518
|
+
entryId: v.id("entries"),
|
|
519
|
+
startOrder: v.number(),
|
|
520
|
+
}),
|
|
521
|
+
returns: v.object({ isDone: v.boolean(), nextStartOrder: v.number() }),
|
|
522
|
+
handler: deleteChunksPageHandler,
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
export async function deleteChunksPageHandler(
|
|
516
526
|
ctx: MutationCtx,
|
|
517
527
|
{ entryId, startOrder }: { entryId: Id<"entries">; startOrder: number }
|
|
518
528
|
) {
|
|
@@ -525,20 +535,49 @@ export async function deleteChunksPage(
|
|
|
525
535
|
for await (const chunk of chunkStream) {
|
|
526
536
|
dataUsedSoFar += await estimateChunkSize(chunk);
|
|
527
537
|
await ctx.db.delete(chunk._id);
|
|
538
|
+
if (chunk.state.kind === "ready") {
|
|
539
|
+
const embedding = await ctx.db.get(chunk.state.embeddingId);
|
|
540
|
+
if (embedding) {
|
|
541
|
+
dataUsedSoFar += estimateEmbeddingSize(embedding);
|
|
542
|
+
await ctx.db.delete(chunk.state.embeddingId);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
528
545
|
dataUsedSoFar += await estimateContentSize(ctx, chunk.contentId);
|
|
529
546
|
await ctx.db.delete(chunk.contentId);
|
|
530
547
|
if (dataUsedSoFar > BANDWIDTH_PER_TRANSACTION_HARD_LIMIT) {
|
|
531
|
-
// TODO: schedule follow-up - workpool?
|
|
532
548
|
return { isDone: false, nextStartOrder: chunk.order };
|
|
533
549
|
}
|
|
534
550
|
}
|
|
535
551
|
return { isDone: true, nextStartOrder: -1 };
|
|
536
552
|
}
|
|
537
553
|
|
|
554
|
+
function estimateEmbeddingSize(embedding: Doc<VectorTableName>) {
|
|
555
|
+
let dataUsedSoFar =
|
|
556
|
+
embedding.vector.length * 8 +
|
|
557
|
+
embedding.namespaceId.length +
|
|
558
|
+
embedding._id.length +
|
|
559
|
+
8;
|
|
560
|
+
for (const filter of [
|
|
561
|
+
embedding.filter0,
|
|
562
|
+
embedding.filter1,
|
|
563
|
+
embedding.filter2,
|
|
564
|
+
embedding.filter3,
|
|
565
|
+
]) {
|
|
566
|
+
if (filter) {
|
|
567
|
+
dataUsedSoFar += JSON.stringify(convexToJson(filter[1])).length;
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
return dataUsedSoFar;
|
|
571
|
+
}
|
|
572
|
+
|
|
538
573
|
async function estimateChunkSize(chunk: Doc<"chunks">) {
|
|
539
574
|
let dataUsedSoFar = 100; // constant metadata - roughly
|
|
540
575
|
if (chunk.state.kind === "pending") {
|
|
541
576
|
dataUsedSoFar += chunk.state.embedding.length * 8;
|
|
577
|
+
dataUsedSoFar += chunk.state.pendingSearchableText?.length ?? 0;
|
|
578
|
+
} else if (chunk.state.kind === "replaced") {
|
|
579
|
+
dataUsedSoFar += chunk.state.vector.length * 8;
|
|
580
|
+
dataUsedSoFar += chunk.state.pendingSearchableText?.length ?? 0;
|
|
542
581
|
}
|
|
543
582
|
return dataUsedSoFar;
|
|
544
583
|
}
|