Skip to content
/ lancedb Public
forked from lancedb/lancedb

Developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps!

License

Notifications You must be signed in to change notification settings

akfork/lancedb

This branch is 12 commits behind lancedb/lancedb:main.

Folders and files

NameName
Last commit message
Last commit date
Nov 20, 2024
Mar 10, 2025
Mar 10, 2025
Apr 5, 2024
Mar 12, 2025
Mar 11, 2025
Mar 12, 2025
Mar 12, 2025
Mar 12, 2025
Mar 12, 2025
Mar 11, 2025
Jan 29, 2025
Mar 10, 2025
Jan 7, 2025
Mar 12, 2025
Mar 10, 2025
Mar 18, 2023
Nov 8, 2024
Apr 10, 2024
Mar 10, 2025
Sep 19, 2024
Dec 19, 2024

Repository files navigation

LanceDB Logo

Developer-friendly, database for multimodal AI

LanceDB lancdb Blog Discord Twitter Gurubase

LanceDB Multimodal Search


LanceDB is an open-source database for vector-search built with persistent storage, which greatly simplifies retrieval, filtering and management of embeddings.

The key features of LanceDB include:

  • Production-scale vector search with no servers to manage.

  • Store, query and filter vectors, metadata and multi-modal data (text, images, videos, point clouds, and more).

  • Support for vector similarity search, full-text search and SQL.

  • Native Python and Javascript/Typescript support.

  • Zero-copy, automatic versioning, manage versions of your data without needing extra infrastructure.

  • GPU support in building vector index(*).

  • Ecosystem integrations with LangChain πŸ¦œοΈπŸ”—, LlamaIndex πŸ¦™, Apache-Arrow, Pandas, Polars, DuckDB and more on the way.

LanceDB's core is written in Rust πŸ¦€ and is built using Lance, an open-source columnar format designed for performant ML workloads.

Quick Start

Javascript

npm install @lancedb/lancedb
import * as lancedb from "@lancedb/lancedb";

const db = await lancedb.connect("data/sample-lancedb");
const table = await db.createTable("vectors", [
	{ id: 1, vector: [0.1, 0.2], item: "foo", price: 10 },
	{ id: 2, vector: [1.1, 1.2], item: "bar", price: 50 },
], {mode: 'overwrite'});


const query = table.vectorSearch([0.1, 0.3]).limit(2);
const results = await query.toArray();

// You can also search for rows by specific criteria without involving a vector search.
const rowsByCriteria = await table.query().where("price >= 10").toArray();

Python

pip install lancedb
import lancedb

uri = "data/sample-lancedb"
db = lancedb.connect(uri)
table = db.create_table("my_table",
                         data=[{"vector": [3.1, 4.1], "item": "foo", "price": 10.0},
                               {"vector": [5.9, 26.5], "item": "bar", "price": 20.0}])
result = table.search([100, 100]).limit(2).to_pandas()

Blogs, Tutorials & Videos

About

Developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 38.1%
  • Rust 37.7%
  • TypeScript 22.0%
  • Shell 1.0%
  • JavaScript 0.6%
  • Java 0.4%
  • Other 0.2%