Basic Usage
Initializing the Client
from vecx.vectorx import VectorX
# Production with specific region
vx = VectorX(token="your-token-here")
Managing Indexes
# List all indexes
indexes = vx.list_indexes()
# Create an index with custom parameters
vx.create_index(
name="my_custom_index",
dimension=768,
key=encryption_key,
space_type="cosine",
M=16, # Graph connectivity parameter (default = 16)
ef_con=128, # Construction-time parameter (default = 128)
use_fp16=True # Use half-precision for storage optimization (default = True)
)
# Delete an index
vx.delete_index("my_custom_index")
Working with Vectors
# Get index reference
index = vx.get_index(name="my_custom_index", key=encryption_key)
# Insert multiple vectors in a batch
index.upsert([
{
"id": "vec1",
"vector": [...], # Your vector
"meta": {"title": "First document", "tags": ["important"]}
},
{
"id": "vec2",
"vector": [...], # Another vector
"meta": {"title": "second document", "tags": ["important"]}
"filter": {"visibility": "public"} # Optional filter values
}
])
# Query with custom parameters
results = index.query(
vector=[...], # Query vector
top_k=5, # Number of results to return
filter= {"visibility":{"eq":"public"}}, # Filter for matching
ef=128, # Runtime parameter for search quality
include_vectors=True # Include vector data in results
)
# Delete vectors
index.delete_vector("vec1")
index.delete_with_filter({"visibility":{"eq":"public"}})
# Get a specific vector
vector = index.get_vector("vec1")
Last updated on