Fast similarity search and vector operations using DuckDB
pip install ducksearch_v2
import ducksearch_v2
# Create an index from vectors
index = ducksearch_v2.Index(dim=128)
index.add(vectors, ids=["doc1", "doc2", "doc3"])
# Search for similar vectors
results = index.search(query_vector, k=5)
# [("doc2", 0.95), ("doc1", 0.87), ...]
# Use DuckDB for vector operations
db = ducksearch_v2.VectorDB("vectors.db")
db.create_table("embeddings", dim=128)
db.insert("embeddings", vectors, metadata={"source": "corpus"})
# Query with SQL and vector similarity
results = db.query("""
SELECT id, cosine_similarity(embedding, ?) as score
FROM embeddings
ORDER BY score DESC
LIMIT 10
""", query_vector)MIT