@nshiab/simple-data-analysis-core 2.0.8 → 2.0.9

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.
Files changed (75) hide show
  1. package/esm/class/SimpleTable.d.ts +72 -0
  2. package/esm/class/SimpleTable.d.ts.map +1 -1
  3. package/esm/class/SimpleTable.js +68 -0
  4. package/esm/helpers/appendColumnBatches.d.ts +3 -0
  5. package/esm/helpers/appendColumnBatches.d.ts.map +1 -0
  6. package/esm/helpers/appendColumnBatches.js +21 -0
  7. package/esm/helpers/buildUmapGraph.d.ts +24 -0
  8. package/esm/helpers/buildUmapGraph.d.ts.map +1 -0
  9. package/esm/helpers/buildUmapGraph.js +155 -0
  10. package/esm/helpers/cacheDatabase.d.ts.map +1 -1
  11. package/esm/helpers/cacheDatabase.js +2 -1
  12. package/esm/helpers/fitUmapCurve.d.ts +2 -0
  13. package/esm/helpers/fitUmapCurve.d.ts.map +1 -0
  14. package/esm/helpers/fitUmapCurve.js +66 -0
  15. package/esm/helpers/initialUmapCoordinates.d.ts +2 -0
  16. package/esm/helpers/initialUmapCoordinates.d.ts.map +1 -0
  17. package/esm/helpers/initialUmapCoordinates.js +5 -0
  18. package/esm/helpers/optimizeUmapLayout.d.ts +7 -0
  19. package/esm/helpers/optimizeUmapLayout.d.ts.map +1 -0
  20. package/esm/helpers/optimizeUmapLayout.js +93 -0
  21. package/esm/helpers/prepareUmapLayoutOptions.d.ts +14 -0
  22. package/esm/helpers/prepareUmapLayoutOptions.d.ts.map +1 -0
  23. package/esm/helpers/prepareUmapLayoutOptions.js +23 -0
  24. package/esm/helpers/readScalarNumber.d.ts +3 -0
  25. package/esm/helpers/readScalarNumber.d.ts.map +1 -0
  26. package/esm/helpers/readScalarNumber.js +4 -0
  27. package/esm/helpers/umapRandom.d.ts +2 -0
  28. package/esm/helpers/umapRandom.d.ts.map +1 -0
  29. package/esm/helpers/umapRandom.js +10 -0
  30. package/esm/methods/cache.js +1 -1
  31. package/esm/methods/loadArray.d.ts.map +1 -1
  32. package/esm/methods/loadArray.js +3 -20
  33. package/esm/methods/umap.d.ts +5 -0
  34. package/esm/methods/umap.d.ts.map +1 -0
  35. package/esm/methods/umap.js +156 -0
  36. package/esm/methods/updateWithJS.js +9 -21
  37. package/llm.md +80 -1
  38. package/llms.txt +1 -1
  39. package/package.json +1 -1
  40. package/script/class/SimpleTable.d.ts +72 -0
  41. package/script/class/SimpleTable.d.ts.map +1 -1
  42. package/script/class/SimpleTable.js +68 -0
  43. package/script/helpers/appendColumnBatches.d.ts +3 -0
  44. package/script/helpers/appendColumnBatches.d.ts.map +1 -0
  45. package/script/helpers/appendColumnBatches.js +24 -0
  46. package/script/helpers/buildUmapGraph.d.ts +24 -0
  47. package/script/helpers/buildUmapGraph.d.ts.map +1 -0
  48. package/script/helpers/buildUmapGraph.js +161 -0
  49. package/script/helpers/cacheDatabase.d.ts.map +1 -1
  50. package/script/helpers/cacheDatabase.js +2 -1
  51. package/script/helpers/fitUmapCurve.d.ts +2 -0
  52. package/script/helpers/fitUmapCurve.d.ts.map +1 -0
  53. package/script/helpers/fitUmapCurve.js +69 -0
  54. package/script/helpers/initialUmapCoordinates.d.ts +2 -0
  55. package/script/helpers/initialUmapCoordinates.d.ts.map +1 -0
  56. package/script/helpers/initialUmapCoordinates.js +11 -0
  57. package/script/helpers/optimizeUmapLayout.d.ts +7 -0
  58. package/script/helpers/optimizeUmapLayout.d.ts.map +1 -0
  59. package/script/helpers/optimizeUmapLayout.js +99 -0
  60. package/script/helpers/prepareUmapLayoutOptions.d.ts +14 -0
  61. package/script/helpers/prepareUmapLayoutOptions.d.ts.map +1 -0
  62. package/script/helpers/prepareUmapLayoutOptions.js +29 -0
  63. package/script/helpers/readScalarNumber.d.ts +3 -0
  64. package/script/helpers/readScalarNumber.d.ts.map +1 -0
  65. package/script/helpers/readScalarNumber.js +7 -0
  66. package/script/helpers/umapRandom.d.ts +2 -0
  67. package/script/helpers/umapRandom.d.ts.map +1 -0
  68. package/script/helpers/umapRandom.js +13 -0
  69. package/script/methods/cache.js +1 -1
  70. package/script/methods/loadArray.d.ts.map +1 -1
  71. package/script/methods/loadArray.js +2 -19
  72. package/script/methods/umap.d.ts +5 -0
  73. package/script/methods/umap.d.ts.map +1 -0
  74. package/script/methods/umap.js +162 -0
  75. package/script/methods/updateWithJS.js +9 -21
@@ -757,6 +757,78 @@ export default class SimpleTable extends Simple {
757
757
  efSearch?: number;
758
758
  M?: number;
759
759
  }): this;
760
+ /**
761
+ * Reduces numeric vectors, such as embeddings, to a two-dimensional UMAP
762
+ * projection. The resulting coordinates are added as `umapX` and `umapY`,
763
+ * while all existing columns (including the source vector column), their
764
+ * values and types, and the input row order are preserved. DuckDB computes
765
+ * neighbors and the fuzzy graph; TypeScript optimizes the coordinates without
766
+ * copying the input vectors into JavaScript. Neighbor search is selected
767
+ * automatically.
768
+ *
769
+ * The defaults are a starting point for exploration. To adjust the projection:
770
+ *
771
+ * - `neighbors` (default `15`): How many nearby points influence the layout.
772
+ * Smaller values emphasize local detail but can fragment groups. Larger
773
+ * values emphasize broader structure, can hide local detail, and generally
774
+ * require more time and memory.
775
+ * - `metric` (default `"euclidean"`): How similarity is measured. Euclidean
776
+ * compares distance, including differences in vector magnitude. Cosine
777
+ * compares direction, ignoring magnitude. Choose according to what makes
778
+ * vectors similar in your data; neither is universally better.
779
+ * - `epochs` (default `200`): How many passes refine the coordinates. Fewer
780
+ * passes finish sooner but may leave the layout unfinished. More passes
781
+ * allow further refinement and take longer, with diminishing returns.
782
+ * - `minDistance` (default `0.1`): How tightly points can group in the
783
+ * projection. Smaller values allow tighter clumps; larger values spread
784
+ * points out. This changes the layout's appearance, not an accuracy level
785
+ * or the number of optimization passes.
786
+ * - `learningRate` (default `1`): The initial size of coordinate adjustments.
787
+ * Smaller values make gentler adjustments and may need more epochs. Larger
788
+ * values make bigger adjustments but can overshoot useful positions. This
789
+ * does not change the number of passes.
790
+ * - `negativeSamples` (default `5`): How many random points are sampled for
791
+ * repulsion per attractive update. Smaller values reduce work and
792
+ * repulsion; larger values increase both, tending to separate unrelated
793
+ * points more strongly. More samples do not guarantee a better projection.
794
+ *
795
+ * @param column - The column containing numeric vector embeddings.
796
+ * @param options - Optional projection settings.
797
+ * @param options.neighbors - Neighborhood size, including the point itself. Integer of at least 2, clamped to row count minus one. Defaults to 15.
798
+ * @param options.metric - Input distance metric: "euclidean" or "cosine". Defaults to "euclidean".
799
+ * @param options.epochs - Integer number of refinement passes, at least 1. Defaults to 200.
800
+ * @param options.seed - Integer used to initialize random choices. Defaults to 42.
801
+ * @param options.minDistance - Grouping distance parameter between 0 and 1. Defaults to 0.1.
802
+ * @param options.learningRate - Finite, positive initial learning rate. Defaults to 1.
803
+ * @param options.negativeSamples - Integer number of samples used to separate unrelated points, at least 1. Defaults to 5.
804
+ * @returns The table, so methods can be chained.
805
+ * @category Vector Search
806
+ *
807
+ * @example
808
+ * ```ts
809
+ * await table.umap("embedding", {
810
+ * metric: "cosine",
811
+ * seed: 42,
812
+ * }).log();
813
+ * ```
814
+ *
815
+ * @example
816
+ * ```ts
817
+ * await table.umap("embedding", {
818
+ * neighbors: 30,
819
+ * minDistance: 0.25,
820
+ * }).selectColumns(["label", "umapX", "umapY"]).log();
821
+ * ```
822
+ */
823
+ umap(column: string, options?: {
824
+ neighbors?: number;
825
+ metric?: "euclidean" | "cosine";
826
+ epochs?: number;
827
+ seed?: number;
828
+ minDistance?: number;
829
+ learningRate?: number;
830
+ negativeSamples?: number;
831
+ }): this;
760
832
  /**
761
833
  * Searches a text column using DuckDB's BM25 ranking function, which scores
762
834
  * matches using factors including term frequency and document length.
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTable.d.ts","sourceRoot":"","sources":["../../src/class/SimpleTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleTable.d.ts","sourceRoot":"","sources":["../../src/class/SimpleTable.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
10
10
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
11
  };
12
12
  var _SimpleTable_name;
13
+ import umap from "../methods/umap.js";
13
14
  import logBottom from "../methods/logBottom.js";
14
15
  import log from "../methods/log.js";
15
16
  import quoteIdentifier from "../helpers/quoteIdentifier.js";
@@ -874,6 +875,73 @@ class SimpleTable extends Simple {
874
875
  createVssIndex(this, column, options);
875
876
  return this;
876
877
  }
878
+ /**
879
+ * Reduces numeric vectors, such as embeddings, to a two-dimensional UMAP
880
+ * projection. The resulting coordinates are added as `umapX` and `umapY`,
881
+ * while all existing columns (including the source vector column), their
882
+ * values and types, and the input row order are preserved. DuckDB computes
883
+ * neighbors and the fuzzy graph; TypeScript optimizes the coordinates without
884
+ * copying the input vectors into JavaScript. Neighbor search is selected
885
+ * automatically.
886
+ *
887
+ * The defaults are a starting point for exploration. To adjust the projection:
888
+ *
889
+ * - `neighbors` (default `15`): How many nearby points influence the layout.
890
+ * Smaller values emphasize local detail but can fragment groups. Larger
891
+ * values emphasize broader structure, can hide local detail, and generally
892
+ * require more time and memory.
893
+ * - `metric` (default `"euclidean"`): How similarity is measured. Euclidean
894
+ * compares distance, including differences in vector magnitude. Cosine
895
+ * compares direction, ignoring magnitude. Choose according to what makes
896
+ * vectors similar in your data; neither is universally better.
897
+ * - `epochs` (default `200`): How many passes refine the coordinates. Fewer
898
+ * passes finish sooner but may leave the layout unfinished. More passes
899
+ * allow further refinement and take longer, with diminishing returns.
900
+ * - `minDistance` (default `0.1`): How tightly points can group in the
901
+ * projection. Smaller values allow tighter clumps; larger values spread
902
+ * points out. This changes the layout's appearance, not an accuracy level
903
+ * or the number of optimization passes.
904
+ * - `learningRate` (default `1`): The initial size of coordinate adjustments.
905
+ * Smaller values make gentler adjustments and may need more epochs. Larger
906
+ * values make bigger adjustments but can overshoot useful positions. This
907
+ * does not change the number of passes.
908
+ * - `negativeSamples` (default `5`): How many random points are sampled for
909
+ * repulsion per attractive update. Smaller values reduce work and
910
+ * repulsion; larger values increase both, tending to separate unrelated
911
+ * points more strongly. More samples do not guarantee a better projection.
912
+ *
913
+ * @param column - The column containing numeric vector embeddings.
914
+ * @param options - Optional projection settings.
915
+ * @param options.neighbors - Neighborhood size, including the point itself. Integer of at least 2, clamped to row count minus one. Defaults to 15.
916
+ * @param options.metric - Input distance metric: "euclidean" or "cosine". Defaults to "euclidean".
917
+ * @param options.epochs - Integer number of refinement passes, at least 1. Defaults to 200.
918
+ * @param options.seed - Integer used to initialize random choices. Defaults to 42.
919
+ * @param options.minDistance - Grouping distance parameter between 0 and 1. Defaults to 0.1.
920
+ * @param options.learningRate - Finite, positive initial learning rate. Defaults to 1.
921
+ * @param options.negativeSamples - Integer number of samples used to separate unrelated points, at least 1. Defaults to 5.
922
+ * @returns The table, so methods can be chained.
923
+ * @category Vector Search
924
+ *
925
+ * @example
926
+ * ```ts
927
+ * await table.umap("embedding", {
928
+ * metric: "cosine",
929
+ * seed: 42,
930
+ * }).log();
931
+ * ```
932
+ *
933
+ * @example
934
+ * ```ts
935
+ * await table.umap("embedding", {
936
+ * neighbors: 30,
937
+ * minDistance: 0.25,
938
+ * }).selectColumns(["label", "umapX", "umapY"]).log();
939
+ * ```
940
+ */
941
+ umap(column, options = {}) {
942
+ umap(this, column, options);
943
+ return this;
944
+ }
877
945
  /**
878
946
  * Searches a text column using DuckDB's BM25 ranking function, which scores
879
947
  * matches using factors including term frequency and document length.
@@ -0,0 +1,3 @@
1
+ import { type DuckDBConnection, type DuckDBType, type DuckDBValue } from "@duckdb/node-api";
2
+ export default function appendColumnBatches(connection: DuckDBConnection, table: string, types: readonly DuckDBType[], rowCount: number, columnValues: (column: number, start: number, end: number) => readonly DuckDBValue[]): Promise<void>;
3
+ //# sourceMappingURL=appendColumnBatches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendColumnBatches.d.ts","sourceRoot":"","sources":["../../src/helpers/appendColumnBatches.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAI1B,wBAA8B,mBAAmB,CAC/C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,KACR,SAAS,WAAW,EAAE,iBAiB5B"}
@@ -0,0 +1,21 @@
1
+ import { DuckDBDataChunk, } from "@duckdb/node-api";
2
+ // Append to an existing table. Callers retain ownership of type conversion and
3
+ // publication; each column callback supplies only the requested [start, end).
4
+ export default async function appendColumnBatches(connection, table, types, rowCount, columnValues) {
5
+ const appender = await connection.createAppender(table);
6
+ try {
7
+ // Stay below DuckDB's maximum chunk capacity of 2048 rows.
8
+ for (let start = 0; start < rowCount; start += 2000) {
9
+ const end = Math.min(start + 2000, rowCount);
10
+ const chunk = DuckDBDataChunk.create(types, end - start);
11
+ for (let column = 0; column < types.length; column++) {
12
+ chunk.setColumnValues(column, columnValues(column, start, end));
13
+ }
14
+ appender.appendDataChunk(chunk);
15
+ }
16
+ appender.flushSync();
17
+ }
18
+ finally {
19
+ appender.closeSync();
20
+ }
21
+ }
@@ -0,0 +1,24 @@
1
+ import type { DuckDBConnection } from "@duckdb/node-api";
2
+ export type UmapTables = {
3
+ rows: string;
4
+ knn: string;
5
+ search: string;
6
+ hnsw: string;
7
+ candidates: string;
8
+ scales: string;
9
+ directed: string;
10
+ graph: string;
11
+ };
12
+ export default function buildUmapGraph(connection: DuckDBConnection, input: {
13
+ count: number;
14
+ dimensions: number;
15
+ neighbors: number;
16
+ }, options: {
17
+ metric: "euclidean" | "cosine";
18
+ search: "exact" | "hnsw";
19
+ }, names: UmapTables): Promise<{
20
+ source: Uint32Array<ArrayBuffer>;
21
+ target: Uint32Array<ArrayBuffer>;
22
+ weight: Float64Array<ArrayBuffer>;
23
+ }>;
24
+ //# sourceMappingURL=buildUmapGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUmapGraph.d.ts","sourceRoot":"","sources":["../../src/helpers/buildUmapGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAA8B,cAAc,CAC1C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/D,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,EACrE,KAAK,EAAE,UAAU;;;;GAkClB"}
@@ -0,0 +1,155 @@
1
+ import readScalarNumber from "./readScalarNumber.js";
2
+ export default async function buildUmapGraph(connection, input, options, names) {
3
+ await buildNeighbors(connection, input, options, names);
4
+ await buildFuzzyGraph(connection, input.neighbors, names);
5
+ const edges = await readScalarNumber(connection, `SELECT count(*) FROM ${names.graph}`);
6
+ const source = new Uint32Array(edges), target = new Uint32Array(edges), weight = new Float64Array(edges);
7
+ const rows = await connection.stream(`SELECT source,target,weight FROM ${names.graph} ORDER BY source,target`);
8
+ let edge = 0;
9
+ while (true) {
10
+ const chunk = await rows.fetchChunk();
11
+ if (!chunk || chunk.rowCount === 0)
12
+ break;
13
+ chunk.visitColumnValues(0, (value, row) => source[edge + row] = Number(value));
14
+ chunk.visitColumnValues(1, (value, row) => target[edge + row] = Number(value));
15
+ chunk.visitColumnValues(2, (value, row) => weight[edge + row] = Number(value));
16
+ edge += chunk.rowCount;
17
+ }
18
+ if (edge !== edges)
19
+ throw new Error("Graph changed during transfer.");
20
+ return { source, target, weight };
21
+ }
22
+ async function buildNeighbors(connection, input, options, names) {
23
+ const { count, dimensions, neighbors } = input;
24
+ const distance = options.metric === "cosine"
25
+ ? "array_cosine_distance"
26
+ : "array_distance";
27
+ // Exact duplicates must have zero cosine distance. Positive roundoff would
28
+ // otherwise change rho to that error instead of the next distinct neighbor.
29
+ const exactDistance = options.metric === "cosine"
30
+ ? "CASE WHEN a.vec=b.vec THEN 0 ELSE greatest(0,array_cosine_distance(a.vec,b.vec)) END"
31
+ : "array_distance(a.vec,b.vec)";
32
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.knn}
33
+ (source INTEGER, target INTEGER, distance DOUBLE);
34
+ INSERT INTO ${names.knn} SELECT vertex, vertex, 0 FROM ${names.rows}`);
35
+ if (options.search === "exact") {
36
+ // O(n²d) work, but only a bounded source batch and top-k heaps, never a
37
+ // materialized n×n matrix. Include target id in the key for stable ties.
38
+ for (let offset = 0; offset < count; offset += 32) {
39
+ const query = `SELECT source, item.target, item.distance FROM (
40
+ SELECT a.vertex AS source,
41
+ min_by(struct_pack(target := b.vertex, distance := ${exactDistance}),
42
+ struct_pack(distance := ${exactDistance}, target := b.vertex),
43
+ ${neighbors - 1}) AS closest
44
+ FROM ${names.rows} a CROSS JOIN ${names.rows} b
45
+ WHERE a.vertex >= ${offset} AND a.vertex < ${offset + 32}
46
+ AND a.vertex != b.vertex GROUP BY a.vertex
47
+ ), UNNEST(closest) AS t(item)`;
48
+ await connection.run(`INSERT INTO ${names.knn} ${query}`);
49
+ }
50
+ }
51
+ else {
52
+ await connection.run(`INSTALL vss; LOAD vss;
53
+ CREATE OR REPLACE TEMP TABLE ${names.search} AS
54
+ SELECT vertex, vec::FLOAT[${dimensions}] AS vec FROM ${names.rows} ORDER BY vertex`);
55
+ if (await readScalarNumber(connection, `SELECT count(*) FROM ${names.search} WHERE
56
+ NOT isfinite(array_inner_product(vec,vec))
57
+ ${options.metric === "cosine"
58
+ ? "OR array_inner_product(vec,vec)=0"
59
+ : ""}`)) {
60
+ throw new Error("HNSW requires vectors with finite FLOAT norms (and nonzero cosine norms).");
61
+ }
62
+ await connection.run(`CREATE INDEX ${names.hnsw} ON ${names.search} USING HNSW(vec)
63
+ WITH (metric='${options.metric === "cosine" ? "cosine" : "l2sq"}',
64
+ ef_construction=128, ef_search=128, M=16)`);
65
+ const previous = String((await connection.runAndReadAll("SELECT current_setting('disabled_optimizers')")).getRowsJS()[0][0]);
66
+ // The shipped VSS optimizer recognizes the window form of a lateral top-k.
67
+ // DuckDB 1.5.5's top_n_window_elimination otherwise hides that pattern.
68
+ const disabled = [
69
+ ...new Set([
70
+ ...previous.split(",").filter(Boolean),
71
+ "top_n_window_elimination",
72
+ ]),
73
+ ].join(",");
74
+ try {
75
+ await connection.run(`SET disabled_optimizers='${disabled.replaceAll("'", "''")}'`);
76
+ const query = `SELECT a.vertex AS source, b.vertex AS target, b.distance
77
+ FROM ${names.search} a, LATERAL (
78
+ SELECT vertex, ${distance}(vec,a.vec) AS distance FROM ${names.search}
79
+ ORDER BY distance LIMIT ${Math.min(neighbors + 1, count - 1)}
80
+ ) b`;
81
+ // Materialize ONLY ids and scalar distances before ranking. Keeping the
82
+ // vector joins inside the window query makes DuckDB carry two full DOUBLE
83
+ // vectors per candidate through the sort (O(n*k*d) scratch memory).
84
+ const candidates = `SELECT q.source,q.target,${exactDistance} AS distance
85
+ FROM (${query}) q JOIN ${names.rows} a ON q.source=a.vertex
86
+ JOIN ${names.rows} b ON q.target=b.vertex WHERE q.source != q.target`;
87
+ const plan = JSON.stringify((await connection.runAndReadAll(`EXPLAIN ${candidates}`)).getRowsJS());
88
+ if (!plan.includes("HNSW_INDEX_JOIN")) {
89
+ // The optimizer can retain a correlated cross product for tiny or
90
+ // duplicate-heavy inputs. Only small inputs may use our bounded exact
91
+ // implementation; never execute the unbounded candidate query.
92
+ if (count <= 1000) {
93
+ return await buildNeighbors(connection, input, {
94
+ ...options,
95
+ search: "exact",
96
+ }, names);
97
+ }
98
+ throw new Error("UMAP could not use DuckDB's vector index for neighbor search.");
99
+ }
100
+ // Exclude self AFTER index search, then stable-sort candidates and keep k-1.
101
+ // Recompute candidate distances in DOUBLE to isolate ANN candidate error.
102
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.candidates} AS ${candidates};
103
+ INSERT INTO ${names.knn} SELECT source,target,distance FROM ${names.candidates}
104
+ QUALIFY row_number() OVER (PARTITION BY source
105
+ ORDER BY distance,target) <= ${neighbors - 1}`);
106
+ }
107
+ finally {
108
+ await connection.run(`SET disabled_optimizers='${previous.replaceAll("'", "''")}'`);
109
+ }
110
+ }
111
+ if (await readScalarNumber(connection, `SELECT count(*) FROM ${names.knn}`) !==
112
+ count * neighbors) {
113
+ throw new Error("Neighbor search did not return the required number of neighbors.");
114
+ }
115
+ if (await readScalarNumber(connection, `SELECT count(*) FROM ${names.knn} WHERE NOT isfinite(distance)`)) {
116
+ throw new Error("Distance computation returned a non-finite value.");
117
+ }
118
+ // Cosine roundoff can produce a tiny negative distance.
119
+ await connection.run(`UPDATE ${names.knn} SET distance=greatest(0,distance)`);
120
+ }
121
+ async function buildFuzzyGraph(connection, neighbors, names) {
122
+ // Smooth-kNN with local_connectivity=1, bandwidth=1, 64 bisection steps,
123
+ // tolerance 1e-5 and the reference's 1e-3 minimum-distance scale.
124
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.scales} AS
125
+ SELECT source, coalesce(min(distance) FILTER(WHERE distance>0),0) AS rho,
126
+ avg(distance) AS mean_distance, 0::DOUBLE AS lo, 'Infinity'::DOUBLE AS hi,
127
+ 1::DOUBLE AS sigma, false AS done FROM ${names.knn} GROUP BY source`);
128
+ for (let iteration = 0; iteration < 64; iteration++) {
129
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.scales} AS
130
+ WITH sums AS (
131
+ SELECT s.*, (SELECT sum(CASE WHEN n.distance <= s.rho THEN 1
132
+ ELSE exp(-(n.distance-s.rho)/s.sigma) END)
133
+ FROM ${names.knn} n WHERE n.source=s.source AND n.target != n.source) AS mass
134
+ FROM ${names.scales} s
135
+ ), bounds AS (
136
+ SELECT * EXCLUDE(lo,hi,done),
137
+ CASE WHEN NOT done AND mass < log2(${neighbors}) THEN sigma ELSE lo END AS lo,
138
+ CASE WHEN NOT done AND mass > log2(${neighbors}) THEN sigma ELSE hi END AS hi,
139
+ done OR abs(mass-log2(${neighbors})) < 1e-5 AS done FROM sums
140
+ ) SELECT source,rho,mean_distance,lo,hi,
141
+ CASE WHEN done THEN sigma WHEN isinf(hi) THEN sigma*2 ELSE (lo+hi)/2 END AS sigma,
142
+ done FROM bounds`);
143
+ }
144
+ await connection.run(`UPDATE ${names.scales} SET sigma=greatest(sigma,0.001 *
145
+ CASE WHEN rho>0 THEN mean_distance ELSE (SELECT avg(distance) FROM ${names.knn}) END);
146
+ CREATE OR REPLACE TEMP TABLE ${names.directed} AS
147
+ SELECT n.source,n.target,CASE WHEN n.distance<=s.rho OR s.sigma=0 THEN 1
148
+ ELSE exp(-(n.distance-s.rho)/s.sigma) END AS weight
149
+ FROM ${names.knn} n JOIN ${names.scales} s USING(source) WHERE n.source != n.target;
150
+ CREATE OR REPLACE TEMP TABLE ${names.graph} AS
151
+ SELECT coalesce(a.source,b.target) AS source, coalesce(a.target,b.source) AS target,
152
+ coalesce(a.weight,0)+coalesce(b.weight,0)-coalesce(a.weight*b.weight,0) AS weight
153
+ FROM ${names.directed} a FULL OUTER JOIN ${names.directed} b
154
+ ON a.source=b.target AND a.target=b.source`);
155
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"cacheDatabase.d.ts","sourceRoot":"","sources":["../../src/helpers/cacheDatabase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAyCf;AASD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"cacheDatabase.d.ts","sourceRoot":"","sources":["../../src/helpers/cacheDatabase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AASD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -11,7 +11,8 @@ export async function writeCacheDatabase(table, file, indexes) {
11
11
  const persistedIndexes = indexes.filter((index) => getIndexCacheStrategy(index) === "persist");
12
12
  await loadIndexExtensions(table, persistedIndexes);
13
13
  try {
14
- await table.sdb.customQuery(`ATTACH '${cleanPath(temporaryFile)}' AS ${cacheDatabase};
14
+ await table.sdb.customQuery(`ATTACH '${cleanPath(temporaryFile)}' AS ${cacheDatabase}
15
+ (STORAGE_VERSION 'latest');
15
16
  CREATE TABLE ${cacheDatabase}.${quoteIdentifier(table.name)} AS
16
17
  SELECT * FROM ${quoteIdentifier(table.name)};`);
17
18
  if (persistedIndexes.length > 0) {
@@ -0,0 +1,2 @@
1
+ export default function fitUmapCurve(minDistance: number): [number, number];
2
+ //# sourceMappingURL=fitUmapCurve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitUmapCurve.d.ts","sourceRoot":"","sources":["../../src/helpers/fitUmapCurve.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA2D1E"}
@@ -0,0 +1,66 @@
1
+ // Least-squares fit of 1/(1+a*x^(2*b)) to the reference UMAP target curve.
2
+ // Spread is fixed to one. See umap-learn's find_ab_params (0.5.9.post2).
3
+ // A two-parameter damped Gauss-Newton solve avoids a runtime fitting dependency.
4
+ export default function fitUmapCurve(minDistance) {
5
+ if (!Number.isFinite(minDistance) || minDistance < 0 || minDistance > 1) {
6
+ throw new Error("minDistance must be between zero and one.");
7
+ }
8
+ const samples = Array.from({ length: 299 }, (_, i) => {
9
+ const x = (i + 1) * 3 / 299;
10
+ return {
11
+ logX: Math.log(x),
12
+ target: Math.exp(-Math.max(0, x - minDistance)),
13
+ };
14
+ });
15
+ const loss = (logA, logB) => {
16
+ let sum = 0;
17
+ for (const { logX, target } of samples) {
18
+ const residual = 1 / (1 + Math.exp(logA + 2 * Math.exp(logB) * logX)) -
19
+ target;
20
+ sum += residual * residual;
21
+ }
22
+ return sum;
23
+ };
24
+ let logA = 0, logB = 0, damping = 1e-3;
25
+ let error = loss(logA, logB);
26
+ for (let iteration = 0; iteration < 100; iteration++) {
27
+ let aa = 0, ab = 0, bb = 0, ga = 0, gb = 0;
28
+ for (const { logX, target } of samples) {
29
+ const power = Math.exp(logA + 2 * Math.exp(logB) * logX);
30
+ const predicted = 1 / (1 + power);
31
+ const da = -power * predicted * predicted;
32
+ const db = da * 2 * Math.exp(logB) * logX;
33
+ aa += da * da;
34
+ ab += da * db;
35
+ bb += db * db;
36
+ ga += da * (predicted - target);
37
+ gb += db * (predicted - target);
38
+ }
39
+ const aDiagonal = aa + damping * Math.max(aa, 1e-12);
40
+ const bDiagonal = bb + damping * Math.max(bb, 1e-12);
41
+ const determinant = aDiagonal * bDiagonal - ab * ab;
42
+ if (!(determinant > 0))
43
+ throw new Error("UMAP curve fit became singular.");
44
+ const stepA = (ab * gb - bDiagonal * ga) / determinant;
45
+ const stepB = (ab * ga - aDiagonal * gb) / determinant;
46
+ const nextA = Math.max(-20, Math.min(20, logA + stepA));
47
+ const nextB = Math.max(-20, Math.min(20, logB + stepB));
48
+ const nextError = loss(nextA, nextB);
49
+ if (nextError < error) {
50
+ const improvement = error - nextError;
51
+ logA = nextA;
52
+ logB = nextB;
53
+ error = nextError;
54
+ damping = Math.max(damping / 3, 1e-12);
55
+ if (improvement < 1e-13)
56
+ return [Math.exp(logA), Math.exp(logB)];
57
+ }
58
+ else {
59
+ damping *= 10;
60
+ if (Math.max(Math.abs(ga), Math.abs(gb)) < 1e-7) {
61
+ return [Math.exp(logA), Math.exp(logB)];
62
+ }
63
+ }
64
+ }
65
+ throw new Error("UMAP curve fit did not converge.");
66
+ }
@@ -0,0 +1,2 @@
1
+ export default function initialUmapCoordinates(count: number, seed: number): Float64Array<ArrayBuffer>;
2
+ //# sourceMappingURL=initialUmapCoordinates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialUmapCoordinates.d.ts","sourceRoot":"","sources":["../../src/helpers/initialUmapCoordinates.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,6BAGzE"}
@@ -0,0 +1,5 @@
1
+ import umapRandom from "./umapRandom.js";
2
+ export default function initialUmapCoordinates(count, seed) {
3
+ const random = umapRandom(seed);
4
+ return Float64Array.from({ length: count * 2 }, () => random() * 20 - 10);
5
+ }