@lancedb/lancedb 0.4.3 → 0.4.15

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 (64) hide show
  1. package/README.md +35 -3
  2. package/dist/arrow.d.ts +189 -0
  3. package/dist/arrow.js +539 -0
  4. package/dist/connection.d.ts +97 -0
  5. package/dist/connection.js +126 -0
  6. package/dist/embedding/embedding_function.d.ts +45 -0
  7. package/dist/embedding/embedding_function.js +27 -0
  8. package/dist/embedding/index.d.ts +2 -0
  9. package/dist/embedding/index.js +7 -0
  10. package/dist/embedding/openai.d.ts +8 -0
  11. package/dist/embedding/openai.js +53 -0
  12. package/dist/index.d.ts +22 -0
  13. package/dist/index.js +52 -0
  14. package/dist/indices.d.ts +165 -0
  15. package/dist/indices.js +71 -0
  16. package/dist/native.d.ts +147 -0
  17. package/dist/native.js +314 -0
  18. package/dist/query.d.ts +248 -0
  19. package/dist/query.js +346 -0
  20. package/dist/sanitize.d.ts +9 -0
  21. package/dist/sanitize.js +369 -0
  22. package/dist/table.d.ts +252 -0
  23. package/dist/table.js +298 -0
  24. package/nodejs-artifacts/arrow.d.ts +189 -0
  25. package/nodejs-artifacts/arrow.js +539 -0
  26. package/nodejs-artifacts/connection.d.ts +97 -0
  27. package/nodejs-artifacts/connection.js +126 -0
  28. package/nodejs-artifacts/embedding/embedding_function.d.ts +45 -0
  29. package/nodejs-artifacts/embedding/embedding_function.js +27 -0
  30. package/nodejs-artifacts/embedding/index.d.ts +2 -0
  31. package/nodejs-artifacts/embedding/index.js +7 -0
  32. package/nodejs-artifacts/embedding/openai.d.ts +8 -0
  33. package/nodejs-artifacts/embedding/openai.js +53 -0
  34. package/nodejs-artifacts/index.d.ts +22 -0
  35. package/nodejs-artifacts/index.js +52 -0
  36. package/nodejs-artifacts/indices.d.ts +165 -0
  37. package/nodejs-artifacts/indices.js +71 -0
  38. package/nodejs-artifacts/native.d.ts +147 -0
  39. package/nodejs-artifacts/native.js +314 -0
  40. package/nodejs-artifacts/query.d.ts +248 -0
  41. package/nodejs-artifacts/query.js +346 -0
  42. package/nodejs-artifacts/sanitize.d.ts +9 -0
  43. package/nodejs-artifacts/sanitize.js +369 -0
  44. package/nodejs-artifacts/table.d.ts +252 -0
  45. package/nodejs-artifacts/table.js +298 -0
  46. package/package.json +9 -11
  47. package/typedoc.json +10 -0
  48. package/examples/js/index.mjs +0 -40
  49. package/examples/js/package.json +0 -14
  50. package/examples/js-openai/index.mjs +0 -43
  51. package/examples/js-openai/package-lock.json +0 -256
  52. package/examples/js-openai/package.json +0 -15
  53. package/examples/js-transformers/index.mjs +0 -65
  54. package/examples/js-transformers/package-lock.json +0 -1418
  55. package/examples/js-transformers/package.json +0 -15
  56. package/examples/js-youtube-transcripts/index.mjs +0 -135
  57. package/examples/js-youtube-transcripts/package.json +0 -15
  58. package/examples/ts/data/sample-lancedb/vectors.lance/_latest.manifest +0 -0
  59. package/examples/ts/data/sample-lancedb/vectors.lance/_transactions/0-adde4e05-fcfc-415c-86a6-5b252cb9e79a.txn +0 -0
  60. package/examples/ts/data/sample-lancedb/vectors.lance/_versions/1.manifest +0 -0
  61. package/examples/ts/data/sample-lancedb/vectors.lance/data/3618b33e-3eea-4b5e-a0fc-7d1f718d551e.lance +0 -0
  62. package/examples/ts/package-lock.json +0 -1340
  63. package/examples/ts/package.json +0 -22
  64. package/examples/ts/tsconfig.json +0 -10
@@ -1,256 +0,0 @@
1
- {
2
- "name": "lancedb-example-js-openai",
3
- "version": "1.0.0",
4
- "lockfileVersion": 2,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "lancedb-example-js-openai",
9
- "version": "1.0.0",
10
- "license": "Apache-2.0",
11
- "dependencies": {
12
- "@lancedb/lancedb": "file:../..",
13
- "openai": "^3.2.1"
14
- }
15
- },
16
- "../..": {
17
- "version": "0.4.3",
18
- "cpu": [
19
- "x64",
20
- "arm64"
21
- ],
22
- "license": "Apache 2.0",
23
- "os": [
24
- "darwin",
25
- "linux",
26
- "win32"
27
- ],
28
- "dependencies": {
29
- "openai": "^4.29.2"
30
- },
31
- "devDependencies": {
32
- "@napi-rs/cli": "^2.18.0",
33
- "@types/jest": "^29.1.2",
34
- "@types/tmp": "^0.2.6",
35
- "@typescript-eslint/eslint-plugin": "^6.19.0",
36
- "@typescript-eslint/parser": "^6.19.0",
37
- "apache-arrow-old": "npm:apache-arrow@13.0.0",
38
- "eslint": "^8.57.0",
39
- "eslint-config-prettier": "^9.1.0",
40
- "eslint-plugin-jsdoc": "^48.2.1",
41
- "jest": "^29.7.0",
42
- "prettier": "^3.1.0",
43
- "shx": "^0.3.4",
44
- "tmp": "^0.2.3",
45
- "ts-jest": "^29.1.2",
46
- "typedoc": "^0.25.7",
47
- "typedoc-plugin-markdown": "^3.17.1",
48
- "typescript": "^5.3.3",
49
- "typescript-eslint": "^7.1.0"
50
- },
51
- "engines": {
52
- "node": ">= 18"
53
- },
54
- "optionalDependencies": {
55
- "@lancedb/lancedb-darwin-arm64": "0.4.3",
56
- "@lancedb/lancedb-darwin-x64": "0.4.3",
57
- "@lancedb/lancedb-linux-arm64-gnu": "0.4.3",
58
- "@lancedb/lancedb-linux-x64-gnu": "0.4.3",
59
- "@lancedb/lancedb-win32-x64-msvc": "0.4.3"
60
- },
61
- "peerDependencies": {
62
- "apache-arrow": "^15.0.0"
63
- }
64
- },
65
- "node_modules/@lancedb/lancedb": {
66
- "resolved": "../..",
67
- "link": true
68
- },
69
- "node_modules/asynckit": {
70
- "version": "0.4.0",
71
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
72
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
73
- },
74
- "node_modules/axios": {
75
- "version": "0.26.1",
76
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
77
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
78
- "dependencies": {
79
- "follow-redirects": "^1.14.8"
80
- }
81
- },
82
- "node_modules/combined-stream": {
83
- "version": "1.0.8",
84
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
85
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
86
- "dependencies": {
87
- "delayed-stream": "~1.0.0"
88
- },
89
- "engines": {
90
- "node": ">= 0.8"
91
- }
92
- },
93
- "node_modules/delayed-stream": {
94
- "version": "1.0.0",
95
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
96
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
97
- "engines": {
98
- "node": ">=0.4.0"
99
- }
100
- },
101
- "node_modules/follow-redirects": {
102
- "version": "1.15.6",
103
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
104
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
105
- "funding": [
106
- {
107
- "type": "individual",
108
- "url": "https://github.com/sponsors/RubenVerborgh"
109
- }
110
- ],
111
- "engines": {
112
- "node": ">=4.0"
113
- },
114
- "peerDependenciesMeta": {
115
- "debug": {
116
- "optional": true
117
- }
118
- }
119
- },
120
- "node_modules/form-data": {
121
- "version": "4.0.0",
122
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
123
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
124
- "dependencies": {
125
- "asynckit": "^0.4.0",
126
- "combined-stream": "^1.0.8",
127
- "mime-types": "^2.1.12"
128
- },
129
- "engines": {
130
- "node": ">= 6"
131
- }
132
- },
133
- "node_modules/mime-db": {
134
- "version": "1.52.0",
135
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
136
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
137
- "engines": {
138
- "node": ">= 0.6"
139
- }
140
- },
141
- "node_modules/mime-types": {
142
- "version": "2.1.35",
143
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
144
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
145
- "dependencies": {
146
- "mime-db": "1.52.0"
147
- },
148
- "engines": {
149
- "node": ">= 0.6"
150
- }
151
- },
152
- "node_modules/openai": {
153
- "version": "3.3.0",
154
- "resolved": "https://registry.npmjs.org/openai/-/openai-3.3.0.tgz",
155
- "integrity": "sha512-uqxI/Au+aPRnsaQRe8CojU0eCR7I0mBiKjD3sNMzY6DaC1ZVrc85u98mtJW6voDug8fgGN+DIZmTDxTthxb7dQ==",
156
- "dependencies": {
157
- "axios": "^0.26.0",
158
- "form-data": "^4.0.0"
159
- }
160
- }
161
- },
162
- "dependencies": {
163
- "@lancedb/lancedb": {
164
- "version": "file:../..",
165
- "requires": {
166
- "@lancedb/lancedb-darwin-arm64": "0.4.3",
167
- "@lancedb/lancedb-darwin-x64": "0.4.3",
168
- "@lancedb/lancedb-linux-arm64-gnu": "0.4.3",
169
- "@lancedb/lancedb-linux-x64-gnu": "0.4.3",
170
- "@lancedb/lancedb-win32-x64-msvc": "0.4.3",
171
- "@napi-rs/cli": "^2.18.0",
172
- "@types/jest": "^29.1.2",
173
- "@types/tmp": "^0.2.6",
174
- "@typescript-eslint/eslint-plugin": "^6.19.0",
175
- "@typescript-eslint/parser": "^6.19.0",
176
- "apache-arrow-old": "npm:apache-arrow@13.0.0",
177
- "eslint": "^8.57.0",
178
- "eslint-config-prettier": "^9.1.0",
179
- "eslint-plugin-jsdoc": "^48.2.1",
180
- "jest": "^29.7.0",
181
- "openai": "^4.29.2",
182
- "prettier": "^3.1.0",
183
- "shx": "^0.3.4",
184
- "tmp": "^0.2.3",
185
- "ts-jest": "^29.1.2",
186
- "typedoc": "^0.25.7",
187
- "typedoc-plugin-markdown": "^3.17.1",
188
- "typescript": "^5.3.3",
189
- "typescript-eslint": "^7.1.0"
190
- }
191
- },
192
- "asynckit": {
193
- "version": "0.4.0",
194
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
195
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
196
- },
197
- "axios": {
198
- "version": "0.26.1",
199
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
200
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
201
- "requires": {
202
- "follow-redirects": "^1.14.8"
203
- }
204
- },
205
- "combined-stream": {
206
- "version": "1.0.8",
207
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
208
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
209
- "requires": {
210
- "delayed-stream": "~1.0.0"
211
- }
212
- },
213
- "delayed-stream": {
214
- "version": "1.0.0",
215
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
216
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
217
- },
218
- "follow-redirects": {
219
- "version": "1.15.6",
220
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
221
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA=="
222
- },
223
- "form-data": {
224
- "version": "4.0.0",
225
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
226
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
227
- "requires": {
228
- "asynckit": "^0.4.0",
229
- "combined-stream": "^1.0.8",
230
- "mime-types": "^2.1.12"
231
- }
232
- },
233
- "mime-db": {
234
- "version": "1.52.0",
235
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
236
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
237
- },
238
- "mime-types": {
239
- "version": "2.1.35",
240
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
241
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
242
- "requires": {
243
- "mime-db": "1.52.0"
244
- }
245
- },
246
- "openai": {
247
- "version": "3.3.0",
248
- "resolved": "https://registry.npmjs.org/openai/-/openai-3.3.0.tgz",
249
- "integrity": "sha512-uqxI/Au+aPRnsaQRe8CojU0eCR7I0mBiKjD3sNMzY6DaC1ZVrc85u98mtJW6voDug8fgGN+DIZmTDxTthxb7dQ==",
250
- "requires": {
251
- "axios": "^0.26.0",
252
- "form-data": "^4.0.0"
253
- }
254
- }
255
- }
256
- }
@@ -1,15 +0,0 @@
1
- {
2
- "name": "lancedb-example-js-openai",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "index.mjs",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
- "author": "Lance Devs",
10
- "license": "Apache-2.0",
11
- "dependencies": {
12
- "@lancedb/lancedb": "file:../..",
13
- "openai": "^3.2.1"
14
- }
15
- }
@@ -1,65 +0,0 @@
1
- // Copyright 2023 Lance Developers.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- "use strict";
16
-
17
- /* global console */
18
-
19
- import * as lancedb from "@lancedb/lancedb";
20
-
21
- async function example() {
22
- // Import transformers and the all-MiniLM-L6-v2 model (https://huggingface.co/Xenova/all-MiniLM-L6-v2)
23
- const { pipeline } = await import("@xenova/transformers");
24
- const pipe = await pipeline("feature-extraction", "Xenova/all-MiniLM-L6-v2");
25
-
26
- // Create embedding function from pipeline which returns a list of vectors from batch
27
- // sourceColumn is the name of the column in the data to be embedded
28
- //
29
- // Output of pipe is a Tensor { data: Float32Array(384) }, so filter for the vector
30
- const embedFun = {};
31
- embedFun.sourceColumn = "text";
32
- embedFun.embed = async function (batch) {
33
- let result = [];
34
- for (let text of batch) {
35
- const res = await pipe(text, { pooling: "mean", normalize: true });
36
- result.push(Array.from(res["data"]));
37
- }
38
- return result;
39
- };
40
-
41
- // Link a folder and create a table with data
42
- const db = await lancedb.connect("data/sample-lancedb");
43
-
44
- const data = [
45
- { id: 1, text: "Cherry", type: "fruit" },
46
- { id: 2, text: "Carrot", type: "vegetable" },
47
- { id: 3, text: "Potato", type: "vegetable" },
48
- { id: 4, text: "Apple", type: "fruit" },
49
- { id: 5, text: "Banana", type: "fruit" },
50
- ];
51
-
52
- const table = await db.createTable("food_table", data, embedFun);
53
-
54
- // Query the table
55
- const results = await table
56
- .search("a sweet fruit to eat")
57
- .metricType("cosine")
58
- .limit(2)
59
- .execute();
60
- console.log(results.map((r) => r.text));
61
- }
62
-
63
- example()
64
- .then(() => console.log("All done!"))
65
- .catch(console.error);