Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lancedb a developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps! #739

Open
1 task
irthomasthomas opened this issue Mar 16, 2024 · 1 comment
Labels
embeddings vector embeddings and related tools python Python code, tools, info

Comments

@irthomasthomas
Copy link
Owner

TITLE

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

DESCRIPTION

"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 vectordb
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

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()

URL

GitHub Repository

Suggested labels

@irthomasthomas irthomasthomas added embeddings vector embeddings and related tools python Python code, tools, info labels Mar 16, 2024
@irthomasthomas
Copy link
Owner Author

Related content

#738

Similarity score: 0.86

#386

Similarity score: 0.85

#325

Similarity score: 0.85

#678

Similarity score: 0.84

#625

Similarity score: 0.83

#644

Similarity score: 0.83

@irthomasthomas irthomasthomas changed the title lancedb/lancedb: Developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps! lancedb a developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps! Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
embeddings vector embeddings and related tools python Python code, tools, info
Projects
None yet
Development

No branches or pull requests

1 participant