mirror of
https://github.com/lancedb/lancedb.git
synced 2026-03-20 23:50:40 +00:00
When we create tables without using Arrow by parsing JS records we always infer to float64. Many times embeddings are not float64 and it would be nice to be able to use the native type without requiring users to pull in Arrow. We can utilize JS's builtin Float32Array to do this. This PR also adds support for UInt8/16/32 and Int8/16/32 arrays as well. Closes #3115
LanceDB JavaScript SDK
A JavaScript library for LanceDB.
Installation
npm install @lancedb/lancedb
This will download the appropriate native library for your platform. We currently support:
- Linux (x86_64 and aarch64 on glibc and musl)
- MacOS (Intel and ARM/M1/M2)
- Windows (x86_64 and aarch64)
Usage
Basic Example
import * as lancedb from "@lancedb/lancedb";
const db = await lancedb.connect("data/sample-lancedb");
const table = await db.createTable("my_table", [
{ id: 1, vector: [0.1, 1.0], item: "foo", price: 10.0 },
{ id: 2, vector: [3.9, 0.5], item: "bar", price: 20.0 },
]);
const results = await table.vectorSearch([0.1, 0.3]).limit(20).toArray();
console.log(results);
The quickstart contains more complete examples.
Development
See CONTRIBUTING.md for information on how to contribute to LanceDB.