mirror of
https://github.com/lancedb/lancedb.git
synced 2025-12-27 07:09:57 +00:00
We aren't yet ready to switch over the examples since almost all JS examples rely on embeddings and we haven't yet ported those over. However, this makes it possible for those that are interested to start using `@lancedb/lancedb`
82 lines
1.9 KiB
Markdown
82 lines
1.9 KiB
Markdown
# LanceDB JavaScript SDK
|
|
|
|
A JavaScript library for [LanceDB](https://github.com/lancedb/lancedb).
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install @lancedb/lancedb
|
|
```
|
|
|
|
This will download the appropriate native library for your platform. We currently
|
|
support:
|
|
|
|
- Linux (x86_64 and aarch64)
|
|
- MacOS (Intel and ARM/M1/M2)
|
|
- Windows (x86_64 only)
|
|
|
|
We do not yet support musl-based Linux (such as Alpine Linux) or aarch64 Windows.
|
|
|
|
## Usage
|
|
|
|
### Basic Example
|
|
|
|
```javascript
|
|
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](../basic.md) contains a more complete example.
|
|
|
|
## Development
|
|
|
|
```sh
|
|
npm run build
|
|
npm run test
|
|
```
|
|
|
|
### Running lint / format
|
|
|
|
LanceDb uses eslint for linting. VSCode does not need any plugins to use eslint. However, it
|
|
may need some additional configuration. Make sure that eslint.experimental.useFlatConfig is
|
|
set to true. Also, if your vscode root folder is the repo root then you will need to set
|
|
the eslint.workingDirectories to ["nodejs"]. To manually lint your code you can run:
|
|
|
|
```sh
|
|
npm run lint
|
|
```
|
|
|
|
LanceDb uses prettier for formatting. If you are using VSCode you will need to install the
|
|
"Prettier - Code formatter" extension. You should then configure it to be the default formatter
|
|
for typescript and you should enable format on save. To manually check your code's format you
|
|
can run:
|
|
|
|
```sh
|
|
npm run chkformat
|
|
```
|
|
|
|
If you need to manually format your code you can run:
|
|
|
|
```sh
|
|
npx prettier --write .
|
|
```
|
|
|
|
### Generating docs
|
|
|
|
```sh
|
|
npm run docs
|
|
|
|
cd ../docs
|
|
# Asssume the virtual environment was created
|
|
# python3 -m venv venv
|
|
# pip install -r requirements.txt
|
|
. ./venv/bin/activate
|
|
mkdocs build
|
|
```
|