@lancedb/lancedb 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/arrow.d.ts +2 -3
- package/dist/arrow.js +2 -27
- package/dist/connection.d.ts +9 -0
- package/dist/connection.js +16 -2
- package/dist/embedding/embedding_function.d.ts +11 -0
- package/dist/embedding/embedding_function.js +28 -7
- package/dist/embedding/index.d.ts +2 -1
- package/dist/embedding/index.js +7 -6
- package/dist/embedding/openai.d.ts +1 -1
- package/dist/embedding/registry.d.ts +9 -7
- package/dist/embedding/registry.js +24 -6
- package/dist/embedding/transformers.d.ts +37 -0
- package/dist/embedding/transformers.js +147 -0
- package/dist/index.d.ts +1 -1
- package/dist/query.js +15 -9
- package/dist/remote/client.d.ts +1 -1
- package/dist/remote/client.js +6 -8
- package/dist/remote/connection.d.ts +2 -3
- package/dist/remote/connection.js +2 -2
- package/dist/sanitize.js +4 -2
- package/dist/table.d.ts +3 -0
- package/dist/table.js +1 -1
- package/package.json +17 -13
- package/Cargo.toml +0 -28
- package/biome.json +0 -158
- package/build.rs +0 -5
- package/dist/native.d.ts +0 -208
- package/examples/ann_indexes.ts +0 -49
- package/examples/basic.ts +0 -149
- package/examples/embedding.ts +0 -83
- package/examples/filtering.ts +0 -34
- package/examples/jsconfig.json +0 -27
- package/examples/package-lock.json +0 -79
- package/examples/package.json +0 -18
- package/examples/search.ts +0 -37
- package/jest.config.js +0 -7
- package/lancedb/arrow.ts +0 -947
- package/lancedb/connection.ts +0 -333
- package/lancedb/embedding/embedding_function.ts +0 -194
- package/lancedb/embedding/index.ts +0 -113
- package/lancedb/embedding/openai.ts +0 -113
- package/lancedb/embedding/registry.ts +0 -188
- package/lancedb/index.ts +0 -142
- package/lancedb/indices.ts +0 -203
- package/lancedb/merge.ts +0 -70
- package/lancedb/query.ts +0 -507
- package/lancedb/remote/client.ts +0 -221
- package/lancedb/remote/connection.ts +0 -201
- package/lancedb/remote/index.ts +0 -3
- package/lancedb/remote/table.ts +0 -226
- package/lancedb/sanitize.ts +0 -588
- package/lancedb/table.ts +0 -669
- package/lancedb/util.ts +0 -69
- package/native.d.ts +0 -208
- package/nodejs-artifacts/arrow.d.ts +0 -250
- package/nodejs-artifacts/arrow.js +0 -768
- package/nodejs-artifacts/connection.d.ts +0 -171
- package/nodejs-artifacts/connection.js +0 -135
- package/nodejs-artifacts/embedding/embedding_function.d.ts +0 -79
- package/nodejs-artifacts/embedding/embedding_function.js +0 -112
- package/nodejs-artifacts/embedding/index.d.ts +0 -28
- package/nodejs-artifacts/embedding/index.js +0 -114
- package/nodejs-artifacts/embedding/openai.d.ts +0 -18
- package/nodejs-artifacts/embedding/openai.js +0 -105
- package/nodejs-artifacts/embedding/registry.d.ts +0 -53
- package/nodejs-artifacts/embedding/registry.js +0 -127
- package/nodejs-artifacts/index.d.ts +0 -55
- package/nodejs-artifacts/index.js +0 -57
- package/nodejs-artifacts/indices.d.ts +0 -165
- package/nodejs-artifacts/indices.js +0 -71
- package/nodejs-artifacts/merge.d.ts +0 -54
- package/nodejs-artifacts/merge.js +0 -64
- package/nodejs-artifacts/native.d.ts +0 -208
- package/nodejs-artifacts/native.js +0 -330
- package/nodejs-artifacts/query.d.ts +0 -283
- package/nodejs-artifacts/query.js +0 -448
- package/nodejs-artifacts/remote/client.d.ts +0 -28
- package/nodejs-artifacts/remote/client.js +0 -172
- package/nodejs-artifacts/remote/connection.d.ts +0 -25
- package/nodejs-artifacts/remote/connection.js +0 -110
- package/nodejs-artifacts/remote/index.d.ts +0 -3
- package/nodejs-artifacts/remote/index.js +0 -9
- package/nodejs-artifacts/remote/table.d.ts +0 -42
- package/nodejs-artifacts/remote/table.js +0 -179
- package/nodejs-artifacts/sanitize.d.ts +0 -31
- package/nodejs-artifacts/sanitize.js +0 -436
- package/nodejs-artifacts/table.d.ts +0 -395
- package/nodejs-artifacts/table.js +0 -230
- package/nodejs-artifacts/util.d.ts +0 -14
- package/nodejs-artifacts/util.js +0 -65
- package/tsconfig.json +0 -25
- package/typedoc.json +0 -10
package/examples/basic.ts
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
// --8<-- [start:imports]
|
|
2
|
-
import * as lancedb from "@lancedb/lancedb";
|
|
3
|
-
import * as arrow from "apache-arrow";
|
|
4
|
-
import { Field, FixedSizeList, Float16, Int32, Schema } from "apache-arrow";
|
|
5
|
-
|
|
6
|
-
// --8<-- [end:imports]
|
|
7
|
-
|
|
8
|
-
// --8<-- [start:connect]
|
|
9
|
-
const uri = "/tmp/lancedb/";
|
|
10
|
-
const db = await lancedb.connect(uri);
|
|
11
|
-
// --8<-- [end:connect]
|
|
12
|
-
{
|
|
13
|
-
// --8<-- [start:create_table]
|
|
14
|
-
const data = [
|
|
15
|
-
{ vector: [3.1, 4.1], item: "foo", price: 10.0 },
|
|
16
|
-
{ vector: [5.9, 26.5], item: "bar", price: 20.0 },
|
|
17
|
-
];
|
|
18
|
-
const _tbl = await db.createTable("myTable", data);
|
|
19
|
-
// --8<-- [end:create_table]
|
|
20
|
-
{
|
|
21
|
-
// --8<-- [start:create_table_exists_ok]
|
|
22
|
-
const _tbl = await db.createTable("myTable", data, {
|
|
23
|
-
existsOk: true,
|
|
24
|
-
});
|
|
25
|
-
// --8<-- [end:create_table_exists_ok]
|
|
26
|
-
}
|
|
27
|
-
{
|
|
28
|
-
// --8<-- [start:create_table_overwrite]
|
|
29
|
-
const _tbl = await db.createTable("myTable", data, {
|
|
30
|
-
mode: "overwrite",
|
|
31
|
-
});
|
|
32
|
-
// --8<-- [end:create_table_overwrite]
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
// --8<-- [start:create_table_with_schema]
|
|
38
|
-
const schema = new arrow.Schema([
|
|
39
|
-
new arrow.Field(
|
|
40
|
-
"vector",
|
|
41
|
-
new arrow.FixedSizeList(
|
|
42
|
-
2,
|
|
43
|
-
new arrow.Field("item", new arrow.Float32(), true),
|
|
44
|
-
),
|
|
45
|
-
),
|
|
46
|
-
new arrow.Field("item", new arrow.Utf8(), true),
|
|
47
|
-
new arrow.Field("price", new arrow.Float32(), true),
|
|
48
|
-
]);
|
|
49
|
-
const data = [
|
|
50
|
-
{ vector: [3.1, 4.1], item: "foo", price: 10.0 },
|
|
51
|
-
{ vector: [5.9, 26.5], item: "bar", price: 20.0 },
|
|
52
|
-
];
|
|
53
|
-
const _tbl = await db.createTable("myTable", data, {
|
|
54
|
-
schema,
|
|
55
|
-
});
|
|
56
|
-
// --8<-- [end:create_table_with_schema]
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
{
|
|
60
|
-
// --8<-- [start:create_empty_table]
|
|
61
|
-
const schema = new arrow.Schema([
|
|
62
|
-
new arrow.Field(
|
|
63
|
-
"vector",
|
|
64
|
-
new arrow.FixedSizeList(
|
|
65
|
-
2,
|
|
66
|
-
new arrow.Field("item", new arrow.Float32(), true),
|
|
67
|
-
),
|
|
68
|
-
),
|
|
69
|
-
]);
|
|
70
|
-
const _tbl = await db.createEmptyTable("empty_table", schema);
|
|
71
|
-
// --8<-- [end:create_empty_table]
|
|
72
|
-
}
|
|
73
|
-
{
|
|
74
|
-
// --8<-- [start:open_table]
|
|
75
|
-
const _tbl = await db.openTable("myTable");
|
|
76
|
-
// --8<-- [end:open_table]
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
{
|
|
80
|
-
// --8<-- [start:table_names]
|
|
81
|
-
const tableNames = await db.tableNames();
|
|
82
|
-
console.log(tableNames);
|
|
83
|
-
// --8<-- [end:table_names]
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const tbl = await db.openTable("myTable");
|
|
87
|
-
{
|
|
88
|
-
// --8<-- [start:add_data]
|
|
89
|
-
const data = [
|
|
90
|
-
{ vector: [1.3, 1.4], item: "fizz", price: 100.0 },
|
|
91
|
-
{ vector: [9.5, 56.2], item: "buzz", price: 200.0 },
|
|
92
|
-
];
|
|
93
|
-
await tbl.add(data);
|
|
94
|
-
// --8<-- [end:add_data]
|
|
95
|
-
}
|
|
96
|
-
{
|
|
97
|
-
// --8<-- [start:vector_search]
|
|
98
|
-
const _res = tbl.search([100, 100]).limit(2).toArray();
|
|
99
|
-
// --8<-- [end:vector_search]
|
|
100
|
-
}
|
|
101
|
-
{
|
|
102
|
-
const data = Array.from({ length: 1000 })
|
|
103
|
-
.fill(null)
|
|
104
|
-
.map(() => ({
|
|
105
|
-
vector: [Math.random(), Math.random()],
|
|
106
|
-
item: "autogen",
|
|
107
|
-
price: Math.round(Math.random() * 100),
|
|
108
|
-
}));
|
|
109
|
-
|
|
110
|
-
await tbl.add(data);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// --8<-- [start:create_index]
|
|
114
|
-
await tbl.createIndex("vector");
|
|
115
|
-
// --8<-- [end:create_index]
|
|
116
|
-
|
|
117
|
-
// --8<-- [start:delete_rows]
|
|
118
|
-
await tbl.delete('item = "fizz"');
|
|
119
|
-
// --8<-- [end:delete_rows]
|
|
120
|
-
|
|
121
|
-
// --8<-- [start:drop_table]
|
|
122
|
-
await db.dropTable("myTable");
|
|
123
|
-
// --8<-- [end:drop_table]
|
|
124
|
-
await db.dropTable("empty_table");
|
|
125
|
-
|
|
126
|
-
{
|
|
127
|
-
// --8<-- [start:create_f16_table]
|
|
128
|
-
const db = await lancedb.connect("/tmp/lancedb");
|
|
129
|
-
const dim = 16;
|
|
130
|
-
const total = 10;
|
|
131
|
-
const f16Schema = new Schema([
|
|
132
|
-
new Field("id", new Int32()),
|
|
133
|
-
new Field(
|
|
134
|
-
"vector",
|
|
135
|
-
new FixedSizeList(dim, new Field("item", new Float16(), true)),
|
|
136
|
-
false,
|
|
137
|
-
),
|
|
138
|
-
]);
|
|
139
|
-
const data = lancedb.makeArrowTable(
|
|
140
|
-
Array.from(Array(total), (_, i) => ({
|
|
141
|
-
id: i,
|
|
142
|
-
vector: Array.from(Array(dim), Math.random),
|
|
143
|
-
})),
|
|
144
|
-
{ schema: f16Schema },
|
|
145
|
-
);
|
|
146
|
-
const _table = await db.createTable("f16_tbl", data);
|
|
147
|
-
// --8<-- [end:create_f16_table]
|
|
148
|
-
await db.dropTable("f16_tbl");
|
|
149
|
-
}
|
package/examples/embedding.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// --8<-- [start:imports]
|
|
2
|
-
import * as lancedb from "@lancedb/lancedb";
|
|
3
|
-
import { LanceSchema, getRegistry, register } from "@lancedb/lancedb/embedding";
|
|
4
|
-
import { EmbeddingFunction } from "@lancedb/lancedb/embedding";
|
|
5
|
-
import { type Float, Float32, Utf8 } from "apache-arrow";
|
|
6
|
-
// --8<-- [end:imports]
|
|
7
|
-
|
|
8
|
-
{
|
|
9
|
-
// --8<-- [start:openai_embeddings]
|
|
10
|
-
|
|
11
|
-
const db = await lancedb.connect("/tmp/db");
|
|
12
|
-
const func = getRegistry()
|
|
13
|
-
.get("openai")
|
|
14
|
-
?.create({ model: "text-embedding-ada-002" }) as EmbeddingFunction;
|
|
15
|
-
|
|
16
|
-
const wordsSchema = LanceSchema({
|
|
17
|
-
text: func.sourceField(new Utf8()),
|
|
18
|
-
vector: func.vectorField(),
|
|
19
|
-
});
|
|
20
|
-
const tbl = await db.createEmptyTable("words", wordsSchema, {
|
|
21
|
-
mode: "overwrite",
|
|
22
|
-
});
|
|
23
|
-
await tbl.add([{ text: "hello world" }, { text: "goodbye world" }]);
|
|
24
|
-
|
|
25
|
-
const query = "greetings";
|
|
26
|
-
const actual = (await (await tbl.search(query)).limit(1).toArray())[0];
|
|
27
|
-
|
|
28
|
-
// --8<-- [end:openai_embeddings]
|
|
29
|
-
console.log("result = ", actual.text);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
{
|
|
33
|
-
// --8<-- [start:embedding_function]
|
|
34
|
-
const db = await lancedb.connect("/tmp/db");
|
|
35
|
-
|
|
36
|
-
@register("my_embedding")
|
|
37
|
-
class MyEmbeddingFunction extends EmbeddingFunction<string> {
|
|
38
|
-
toJSON(): object {
|
|
39
|
-
return {};
|
|
40
|
-
}
|
|
41
|
-
ndims() {
|
|
42
|
-
return 3;
|
|
43
|
-
}
|
|
44
|
-
embeddingDataType(): Float {
|
|
45
|
-
return new Float32();
|
|
46
|
-
}
|
|
47
|
-
async computeQueryEmbeddings(_data: string) {
|
|
48
|
-
// This is a placeholder for a real embedding function
|
|
49
|
-
return [1, 2, 3];
|
|
50
|
-
}
|
|
51
|
-
async computeSourceEmbeddings(data: string[]) {
|
|
52
|
-
// This is a placeholder for a real embedding function
|
|
53
|
-
return Array.from({ length: data.length }).fill([1, 2, 3]) as number[][];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const func = new MyEmbeddingFunction();
|
|
58
|
-
|
|
59
|
-
const data = [{ text: "pepperoni" }, { text: "pineapple" }];
|
|
60
|
-
|
|
61
|
-
// Option 1: manually specify the embedding function
|
|
62
|
-
const table = await db.createTable("vectors", data, {
|
|
63
|
-
embeddingFunction: {
|
|
64
|
-
function: func,
|
|
65
|
-
sourceColumn: "text",
|
|
66
|
-
vectorColumn: "vector",
|
|
67
|
-
},
|
|
68
|
-
mode: "overwrite",
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
// Option 2: provide the embedding function through a schema
|
|
72
|
-
|
|
73
|
-
const schema = LanceSchema({
|
|
74
|
-
text: func.sourceField(new Utf8()),
|
|
75
|
-
vector: func.vectorField(),
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
const table2 = await db.createTable("vectors2", data, {
|
|
79
|
-
schema,
|
|
80
|
-
mode: "overwrite",
|
|
81
|
-
});
|
|
82
|
-
// --8<-- [end:embedding_function]
|
|
83
|
-
}
|
package/examples/filtering.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as lancedb from "@lancedb/lancedb";
|
|
2
|
-
|
|
3
|
-
const db = await lancedb.connect("data/sample-lancedb");
|
|
4
|
-
|
|
5
|
-
const data = Array.from({ length: 10_000 }, (_, i) => ({
|
|
6
|
-
vector: Array(1536).fill(i),
|
|
7
|
-
id: i,
|
|
8
|
-
item: `item ${i}`,
|
|
9
|
-
strId: `${i}`,
|
|
10
|
-
}));
|
|
11
|
-
|
|
12
|
-
const tbl = await db.createTable("myVectors", data, { mode: "overwrite" });
|
|
13
|
-
|
|
14
|
-
// --8<-- [start:search]
|
|
15
|
-
const _result = await tbl
|
|
16
|
-
.search(Array(1536).fill(0.5))
|
|
17
|
-
.limit(1)
|
|
18
|
-
.where("id = 10")
|
|
19
|
-
.toArray();
|
|
20
|
-
// --8<-- [end:search]
|
|
21
|
-
|
|
22
|
-
// --8<-- [start:vec_search]
|
|
23
|
-
await tbl
|
|
24
|
-
.search(Array(1536).fill(0))
|
|
25
|
-
.where("(item IN ('item 0', 'item 2')) AND (id > 10)")
|
|
26
|
-
.postfilter()
|
|
27
|
-
.toArray();
|
|
28
|
-
// --8<-- [end:vec_search]
|
|
29
|
-
|
|
30
|
-
// --8<-- [start:sql_search]
|
|
31
|
-
await tbl.query().where("id = 10").limit(10).toArray();
|
|
32
|
-
// --8<-- [end:sql_search]
|
|
33
|
-
|
|
34
|
-
console.log("SQL search: done");
|
package/examples/jsconfig.json
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
// Enable latest features
|
|
4
|
-
"lib": ["ESNext", "DOM"],
|
|
5
|
-
"target": "ESNext",
|
|
6
|
-
"module": "ESNext",
|
|
7
|
-
"moduleDetection": "force",
|
|
8
|
-
"jsx": "react-jsx",
|
|
9
|
-
"allowJs": true,
|
|
10
|
-
|
|
11
|
-
// Bundler mode
|
|
12
|
-
"moduleResolution": "bundler",
|
|
13
|
-
"allowImportingTsExtensions": true,
|
|
14
|
-
"verbatimModuleSyntax": true,
|
|
15
|
-
"noEmit": true,
|
|
16
|
-
|
|
17
|
-
// Best practices
|
|
18
|
-
"strict": true,
|
|
19
|
-
"skipLibCheck": true,
|
|
20
|
-
"noFallthroughCasesInSwitch": true,
|
|
21
|
-
|
|
22
|
-
// Some stricter flags (disabled by default)
|
|
23
|
-
"noUnusedLocals": false,
|
|
24
|
-
"noUnusedParameters": false,
|
|
25
|
-
"noPropertyAccessFromIndexSignature": false
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "examples",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"lockfileVersion": 3,
|
|
5
|
-
"requires": true,
|
|
6
|
-
"packages": {
|
|
7
|
-
"": {
|
|
8
|
-
"name": "examples",
|
|
9
|
-
"version": "1.0.0",
|
|
10
|
-
"license": "Apache-2.0",
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@lancedb/lancedb": "file:../"
|
|
13
|
-
},
|
|
14
|
-
"peerDependencies": {
|
|
15
|
-
"typescript": "^5.0.0"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"..": {
|
|
19
|
-
"name": "@lancedb/lancedb",
|
|
20
|
-
"version": "0.6.0",
|
|
21
|
-
"cpu": [
|
|
22
|
-
"x64",
|
|
23
|
-
"arm64"
|
|
24
|
-
],
|
|
25
|
-
"license": "Apache 2.0",
|
|
26
|
-
"os": [
|
|
27
|
-
"darwin",
|
|
28
|
-
"linux",
|
|
29
|
-
"win32"
|
|
30
|
-
],
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"apache-arrow": "^15.0.0",
|
|
33
|
-
"axios": "^1.7.2",
|
|
34
|
-
"openai": "^4.29.2",
|
|
35
|
-
"reflect-metadata": "^0.2.2"
|
|
36
|
-
},
|
|
37
|
-
"devDependencies": {
|
|
38
|
-
"@aws-sdk/client-kms": "^3.33.0",
|
|
39
|
-
"@aws-sdk/client-s3": "^3.33.0",
|
|
40
|
-
"@biomejs/biome": "^1.7.3",
|
|
41
|
-
"@jest/globals": "^29.7.0",
|
|
42
|
-
"@napi-rs/cli": "^2.18.0",
|
|
43
|
-
"@types/axios": "^0.14.0",
|
|
44
|
-
"@types/jest": "^29.1.2",
|
|
45
|
-
"@types/tmp": "^0.2.6",
|
|
46
|
-
"apache-arrow-old": "npm:apache-arrow@13.0.0",
|
|
47
|
-
"eslint": "^8.57.0",
|
|
48
|
-
"jest": "^29.7.0",
|
|
49
|
-
"shx": "^0.3.4",
|
|
50
|
-
"tmp": "^0.2.3",
|
|
51
|
-
"ts-jest": "^29.1.2",
|
|
52
|
-
"typedoc": "^0.25.7",
|
|
53
|
-
"typedoc-plugin-markdown": "^3.17.1",
|
|
54
|
-
"typescript": "^5.3.3",
|
|
55
|
-
"typescript-eslint": "^7.1.0"
|
|
56
|
-
},
|
|
57
|
-
"engines": {
|
|
58
|
-
"node": ">= 18"
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"node_modules/@lancedb/lancedb": {
|
|
62
|
-
"resolved": "..",
|
|
63
|
-
"link": true
|
|
64
|
-
},
|
|
65
|
-
"node_modules/typescript": {
|
|
66
|
-
"version": "5.5.2",
|
|
67
|
-
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz",
|
|
68
|
-
"integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==",
|
|
69
|
-
"peer": true,
|
|
70
|
-
"bin": {
|
|
71
|
-
"tsc": "bin/tsc",
|
|
72
|
-
"tsserver": "bin/tsserver"
|
|
73
|
-
},
|
|
74
|
-
"engines": {
|
|
75
|
-
"node": ">=14.17"
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
package/examples/package.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "examples",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Examples for LanceDB",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
9
|
-
},
|
|
10
|
-
"author": "Lance Devs",
|
|
11
|
-
"license": "Apache-2.0",
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"@lancedb/lancedb": "file:../"
|
|
14
|
-
},
|
|
15
|
-
"peerDependencies": {
|
|
16
|
-
"typescript": "^5.0.0"
|
|
17
|
-
}
|
|
18
|
-
}
|
package/examples/search.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// --8<-- [end:import]
|
|
2
|
-
import * as fs from "node:fs";
|
|
3
|
-
// --8<-- [start:import]
|
|
4
|
-
import * as lancedb from "@lancedb/lancedb";
|
|
5
|
-
|
|
6
|
-
async function setup() {
|
|
7
|
-
fs.rmSync("data/sample-lancedb", { recursive: true, force: true });
|
|
8
|
-
const db = await lancedb.connect("data/sample-lancedb");
|
|
9
|
-
|
|
10
|
-
const data = Array.from({ length: 10_000 }, (_, i) => ({
|
|
11
|
-
vector: Array(1536).fill(i),
|
|
12
|
-
id: `${i}`,
|
|
13
|
-
content: "",
|
|
14
|
-
longId: `${i}`,
|
|
15
|
-
}));
|
|
16
|
-
|
|
17
|
-
await db.createTable("my_vectors", data);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
await setup();
|
|
21
|
-
|
|
22
|
-
// --8<-- [start:search1]
|
|
23
|
-
const db = await lancedb.connect("data/sample-lancedb");
|
|
24
|
-
const tbl = await db.openTable("my_vectors");
|
|
25
|
-
|
|
26
|
-
const _results1 = await tbl.search(Array(1536).fill(1.2)).limit(10).toArray();
|
|
27
|
-
// --8<-- [end:search1]
|
|
28
|
-
|
|
29
|
-
// --8<-- [start:search2]
|
|
30
|
-
const _results2 = await tbl
|
|
31
|
-
.search(Array(1536).fill(1.2))
|
|
32
|
-
.distanceType("cosine")
|
|
33
|
-
.limit(10)
|
|
34
|
-
.toArray();
|
|
35
|
-
// --8<-- [end:search2]
|
|
36
|
-
|
|
37
|
-
console.log("search: done");
|