mirror of
https://github.com/lancedb/lancedb.git
synced 2025-12-27 07:09:57 +00:00
Note this currently the filter/where is only implemented for LocalTable so that it requires an explicit cast to "enable" (see new unit test). The alternative is to add it to the Table interface, but since it's not available on RemoteTable this may cause some user experience issues.
LanceDB
A JavaScript / Node.js library for LanceDB.
Installation
npm install vectordb
This will download the appropriate native library for your platform. We currently support x86_64 Linux, aarch64 Linux, Intel MacOS, and ARM (M1/M2) MacOS. We do not yet support musl-based Linux (such as Alpine Linux).
Usage
Basic Example
const lancedb = require('vectordb');
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.search([0.1, 0.3]).limit(20).execute();
console.log(results);
The examples folder contains complete examples.
Development
To build everything fresh:
npm install
npm run tsc
npm run build
Then you should be able to run the tests with:
npm test
Rebuilding Rust library
npm run build
Rebuilding Typescript
npm run tsc
Fix lints
To run the linter and have it automatically fix all errors
npm run lint -- --fix
To build documentation
npx typedoc --plugin typedoc-plugin-markdown --out ../docs/src/javascript src/index.ts