Skip to content
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

Epicism/lancedb

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

Folders and files

NameName
Last commit message
Last commit date
Nov 20, 2024
Nov 26, 2024
Nov 26, 2024
Apr 5, 2024
Nov 26, 2024
Nov 25, 2024
Nov 25, 2024
Nov 27, 2024
Nov 27, 2024
Nov 26, 2024
Nov 25, 2024
Jul 10, 2024
Jul 10, 2024
Nov 26, 2024
Mar 18, 2023
Nov 8, 2024
Apr 10, 2024
Sep 19, 2024
Oct 29, 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

Packages

No packages published

Languages

  • Rust 37.7%
  • Python 36.4%
  • TypeScript 24.2%
  • JavaScript 0.6%
  • Java 0.5%
  • Shell 0.4%
  • Other 0.2%