Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vectoraidb.actian.com/llms.txt

Use this file to discover all available pages before exploring further.

The Python SDK package is actian-vectorai-client; import APIs from actian_vectorai.

Clients

Use VectorAIClient for synchronous code and AsyncVectorAIClient for async applications.
from actian_vectorai import VectorAIClient, AsyncVectorAIClient

client = VectorAIClient("localhost:6574")
Both clients expose the same primary namespaces.
NamespacePurpose
client.collectionsCreate, list, inspect, update, delete, recreate, and get-or-create collections.
client.pointsUpsert, retrieve, delete, update vectors and payloads, search, query, count, and scroll points.
client.vdeOpen and close collections, inspect state and stats, rebuild indexes, optimize, compact, flush, and import datasets.
Auth helpersManage access tokens and API keys through REST-backed admin operations.

Configuration

The SDK loads .env files and ACTIAN_VECTORAI_* environment variables automatically. Constructor arguments override environment values.
from actian_vectorai import Settings, settings

print(settings.url)

custom = Settings(
    url="localhost:6574",
    rest_url="http://localhost:6573",
    timeout=30.0,
    max_retries=3,
)
Use ACTIAN_VECTORAI_ACCESS_TOKEN or VectorAIClient(access_token="...") for Bearer authentication.

Collections and points

from actian_vectorai import VectorAIClient, VectorParams, Distance, PointStruct

with VectorAIClient("localhost:6574") as client:
    client.collections.create(
        "products",
        vectors_config=VectorParams(size=128, distance=Distance.Cosine),
    )

    client.points.upsert("products", [
        PointStruct(id=1, vector=[0.1] * 128, payload={"category": "books"}),
    ])

    results = client.points.search("products", vector=[0.1] * 128, limit=5)

Filters

Use the Filter DSL for payload predicates.
from actian_vectorai import Field, FilterBuilder

filter_ = (
    FilterBuilder()
    .must(Field("category").eq("books"))
    .must(Field("price").lte(50.0))
    .build()
)

results = client.points.search("products", vector=query, limit=10, filter=filter_)

Hybrid search and batching

The SDK includes client-side reciprocal rank fusion, distribution-based score fusion, and smart batching.
from actian_vectorai import reciprocal_rank_fusion, distribution_based_score_fusion

dense = client.points.search("products", vector=dense_query, limit=50)
sparse = client.points.search("products", vector=sparse_query, limit=50)
merged = reciprocal_rank_fusion([dense, sparse])
Use client.upload_points(...) for simple bulk upload or SmartBatcher when you need automatic flushing and batch sizing controls.

Embeddings and telemetry

Install optional extras when needed:
pip install "actian-vectorai-client[openai]"
pip install "actian-vectorai-client[telemetry]"
OpenAIEmbedder provides OpenAI embedding helpers, and telemetry extras enable structured observability integrations.

Errors and transport

The SDK maps gRPC and REST failures to typed exceptions such as validation, authentication, connection, collection, point, timeout, and server errors. Configure TLS, retries, timeouts, and connection pool size through constructor options or environment variables.