dynavec / Docs / Configuration

Configuration

Everything the client needs, in one frozen dataclass.

DynavecConfig is an immutable description of your resources and tuning. It never holds secrets — credentials are passed separately (see Credentials & IAM).

from dynavec import DynavecConfig

cfg = DynavecConfig(
    vector_bucket="my-vectors",   # S3 vector bucket name
    index="docs",                 # vector index name
    table="dynavec_docs",         # DynamoDB table name
    dimension=1536,               # must match your embedder
    distance_metric="cosine",     # "cosine" or "euclidean" (S3 Vectors native)
    region="us-east-1",
    filterable_keys=["topic"],    # metadata keys pushed to S3 Vectors for filtering
    over_fetch=4,                 # candidate multiplier when reranking
    top_k_page_size=50,           # optional client-side stream batch size
    max_workers=8,                # thread pool for parallel I/O
    auto_provision=True,
)

Key parameters

FieldMeaning
dimensionEmbedding size; must match the embedder and the index.
distance_metricThe S3 Vectors index metric. Other metrics are available at rerank time — see Metrics.
filterable_keysSmall allowlist of metadata pushed to S3 Vectors. Everything else lives only in DynamoDB. Keep it small.
over_fetchHow many extra candidates to pull before reranking/rescoring.
top_k_page_sizeClient-side stream hydration batch. None (default) uses native S3 Vectors pages (at most 100). Does not change the service page size.
max_workers, parallel_writesThread-pool concurrency controls.