SDK Reference
Complete API documentation
Ready-to-run code examples demonstrating VortexDB Python SDK usage.
from vortexdb import VortexDB, DenseVector, Payload, Similarity
with VortexDB(grpc_url="localhost:50051", api_key="secret") as db: # Insert point_id = db.insert( vector=DenseVector([0.1, 0.2, 0.3]), payload=Payload.text("hello world"), ) print(f"Inserted: {point_id}")
# Batch insert ids = db.batch_insert(items=[ (DenseVector([0.1, 0.2, 0.3]), Payload.text("doc one")), (DenseVector([0.4, 0.5, 0.6]), Payload.text("doc two")), ])
# Search results = db.search( vector=DenseVector([0.1, 0.2, 0.3]), similarity=Similarity.COSINE, limit=3, ) print(f"Found {len(results)} results")Using sentence-transformers for text embedding:
from vortexdb import VortexDB, DenseVector, Payload, Similarityfrom sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
documents = [ "The quick brown fox jumps over the lazy dog", "Machine learning is a subset of artificial intelligence", "Python is a popular programming language",]
def embed(text: str) -> DenseVector: return DenseVector(model.encode(text).tolist())
with VortexDB(grpc_url="localhost:50051", api_key="secret") as db: for doc in documents: db.insert(vector=embed(doc), payload=Payload.text(doc))
results = db.search( vector=embed("AI and programming"), similarity=Similarity.COSINE, limit=2, ) for pid in results: point = db.get(point_id=pid) print(f" {point.payload.content}")from vortexdb import VortexDB, DenseVector, Payload, Similarity
with VortexDB(grpc_url="localhost:50051", api_key="secret") as db: items = [(DenseVector([i * 0.1 for _ in range(3)]), Payload.text(f"doc {i}")) for i in range(100)] ids = db.batch_insert(items=items)
# Batch search queries = [ (DenseVector([0.1, 0.2, 0.3]), Similarity.COSINE, 3), (DenseVector([0.4, 0.5, 0.6]), Similarity.EUCLIDEAN, 3), ] batch_results = db.batch_search(queries=queries) for i, res in enumerate(batch_results): print(f"Query {i}: {len(res)} results")import pytestfrom vortexdb import VortexDB, DenseVector, Payload, Similarity
@pytest.fixturedef db(): client = VortexDB(grpc_url="localhost:50051", api_key="secret") yield client client.close()
class TestVortexDB: def test_insert_and_get(self, db): point_id = db.insert( vector=DenseVector([0.1, 0.2, 0.3, 0.4]), payload=Payload.text("Test document"), ) point = db.get(point_id=point_id) assert point is not None assert point.payload.content == "Test document" db.delete(point_id=point_id)
def test_search(self, db): point_id = db.insert( vector=DenseVector([1.0, 2.0, 3.0]), payload=Payload.text("target"), ) results = db.search( vector=DenseVector([1.0, 2.0, 3.0]), similarity=Similarity.COSINE, limit=10, ) assert point_id in results db.delete(point_id=point_id)