LanceDB 是一個用于向量搜索的開源數據庫,采用持久存儲構建,極大地簡化了嵌入的檢索、過濾和管理。
LanceDB 的主要特性包括:
-
生產規模的向量搜索,無需管理服務器。
-
存儲、查詢和過濾向量、元數據和多模式數據(文本、圖像、視頻、點云等)。
-
支持向量相似度搜索、全文搜索和SQL。
-
原生 Python 和 Javascript/Typescript 支持。
-
零拷貝、自動版本控制,無需額外的基礎設施即可管理數據版本。
-
與LangChain 的生態系統集成,LlamaIndex、Apache-Arrow、Pandas、Polars、DuckDB 等即將推出。
LanceDB的核心是用Rust編寫的并使用Lance構建,Lance 是一種專為高性能 ML 工作負載而設計的開源 columnar 格式。
快速開始
Javascript
npm install vectordb
const lancedb = require('vectordb'); 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 }]) const query = table.search([0.1, 0.3]); query.limit = 20; const results = await query.execute();
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_df()
評論