LanceDB Logo **Developer-friendly, database for multimodal AI** LanceDB lancdb [![Blog](https://img.shields.io/badge/Blog-12100E?style=for-the-badge&logoColor=white)](https://blog.lancedb.com/) [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/zMM32dvNtd) [![Twitter](https://img.shields.io/badge/Twitter-%231DA1F2.svg?style=for-the-badge&logo=Twitter&logoColor=white)](https://twitter.com/lancedb)

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 🦜️🔗](https://python.langchain.com/docs/integrations/vectorstores/lancedb/), [LlamaIndex 🦙](https://gpt-index.readthedocs.io/en/latest/examples/vector_stores/LanceDBIndexDemo.html), 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** ```shell npm install vectordb ``` ```javascript const lancedb = require('vectordb'); const db = await lancedb.connect('data/sample-lancedb'); const table = await db.createTable({ name: 'vectors', data: [ { id: 1, vector: [0.1, 0.2], item: "foo", price: 10 }, { id: 2, vector: [1.1, 1.2], item: "bar", price: 50 } ] }) const query = table.search([0.1, 0.3]).limit(2); const results = await query.execute(); // You can also search for rows by specific criteria without involving a vector search. const rowsByCriteria = await table.search(undefined).where("price >= 10").execute(); ``` **Python** ```shell pip install lancedb ``` ```python 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 * 📈 2000x better performance with Lance over Parquet * 🤖 Build a question and answer bot with LanceDB