Files
lancedb/node
Chang She 098e397cf0 feat: LocalTable for vectordb now supports filters without vector search (#693)
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.
2023-12-13 22:59:01 -08:00
..
2023-12-04 17:02:35 +00:00

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